После анализа алгоритма из совершенных форм получают минимальные. Это делается для того, чтобы схемная реализация потребовала минимально возможного числа логических элементов.
Метод Квайна относится к числу таких методов минимизации функций алгебры логики, которые позволяют представлять функции в ДНФ и КНФ с минимальным числом членов и минимальным числом букв в членах. Этот метод содержит два этапа образования выражения функции: на первом этапе осуществляется переход от канонической формы (СДНФ или СКНФ) к так называемой сокращенной форме, на втором этапе - переход от сокращенной формы логического выражения к минимальной форме.
Первый этап (получение сокращенной формы). Пусть заданная
функция f представлена в СДНФ.
Переход к сокращенной форме основан на последовательном применении двух операций:
Операции склеивания и операции поглощения.
Для выполнения операции склеивания выявляются в выражении пары членов вида
и
, различающиеся лишь тем, что один
их аргументов в одном из членов представлен без инверсии, в другом с инверсией. Затем проводится склеивание таких пар членов: , и результаты склеивания вводятся в выражение функции в качестве дополнительных членов. Далее проводится операция поглощения. Она основана на равенстве
(член
поглощает член
). При проведении этой операции из
логического выражения вычеркиваются все члены, поглощаемые членами, которые
введены в результате проведения операции склеивания.
Операции склеивания и поглощения проводятся последовательно до тех пор, пока их
выполнение оказывается возможным. Покажем выполнение этих операций
применительно к функции, представленной в таблице 1.
Записываем СДНФ функции
Попарным сравнением членов (каждого из членов со всеми последующими)
выявляем склеивающие пары членов:
первый и четвертый члены (результат склеивания
);
второй и третий члены (результат склеивания
);
второй и четвертый члены (результат склеивания
);
третий и пятый члены (результат склеивания х1 * х3 );
четвертый и пятый члены (результат склеивания х1 * х2 );
Результаты операции склеивания вводим в выражение функции и проводим операцию поглощения ими членов исходного выражения:
Член поглощает те члены исходного
выражения, которые содержат
т.е. первый и четвертый. Эти члены вычеркиваются.
Член поглощает второй
и третий, а член х1 * х2 пятый член исходного выражения.
Повторяем операцию склеивания
Здесь склеивается лишь пара членов и х1 * х2 (склеивание пары членов и х1 * х3 приводят к тому же результату), результат склеивания х поглощает второй, третий, четвертый и пятый члены выражения. Дальнейшее проведение операций склеивания и поглощения оказывается невозможным, сокращенная форма выражения заданной функции (в данном примере она совпадает с минимальной формой)
Члены сокращенной формы (в рассмотренном примере такими членами служат и х1 ) называются простыми импликантами функции.
Как видим, получено выражение существенно более простое по сравнению с СДНФ функции. На рис 1. приведена структурная схема логического устройства в базисе И, ИЛИ, НЕ, построенная с использованием выражения (1.2).
Второй этап (получение минимальной формы).
Сокращенная форма может содержать лишние члены, исключение которых из выражения
функции не повлияет на значение функции.
Таким образом, дальнейшее упрощение логического выражения достигается
исключением из выражения лишних членов. В этом и заключается содержание второго
этапа минимизации. Покажем этот этап минимизации логического выражения на
примере построения логического устройства для функции в табл. 1.2
Таблица 1.2
Совершенная ДНФ данной функции
Для получения сокращенной формы проводим операцию склеивания и поглощения.
Полученное выражение представляет собой сокращенную форму логического выражения заданной функции, а члены его - простые импликанты функции. Переход от сокращенной формы к минимальной осуществляется с помощью импликантной матрицы, приведенной в табл. 1.3
Таблица 1.3
В столбцы импликантной матрицы вписываются члены СДНФ заданной функции, в
строки - простые импликанты функции, т.е. члены сокращенной формы логического
выражения функции.
Отмечаются (например, крестиками) столбцы членов СДНФ, поглощаемых отдельными
простыми импликантами. В табл. 1.3 простая импликанта
поглощает члены
,
, и в первом и во втором столбцах
первой строки поставлены крестики; вторая импликанта поглощает первый и третий
члены СДНФ, и поставлены крестики в первом и третьем столбцах второй строки
и т. д.
Импликанты которые не могут быть лишними и, следовательно, не могут быть
исключены из сокращенной формы, составляют ядро. Входящие в ядро импликанты
легко определяются по импликантной матрице. Для каждой из них имеется хотя
бы один столбец, перекрываемый только данной импликантой.
В рассматриваемом примере ядро составляют импликанты
и х1 * х2
* х3 (только ими перекрываются второй и шестой столбцы матрицы).
Исключение из сокращенной формы одновременно всех импликант, не входящих в
ядро, невозможно , так как исключение одной из импликант может превратить
другую уже в нелишний член логического выражения.
Для получения минимальной формы достаточно выбрать из импликант, не входящих
в ядро, такое минимальное их число с минимальным количеством букв в каждой из
этих импликант, которое обеспечит перекрытие всех столбцов импликантной матрицы,
не перекрытых членами ядра.
В рассматриваемом примере необходимо импликантами, не входящими в ядро,
перекрыть третий и четвертый столбцы матрицы. Это может быть достигнуто
различными способами, но так как необходимо выбирать минимальное число
импликант, то очевидно, для перекрытия этих столбцов следует выбирать
импликанту .
Минимальная дизъюнктивная
нормальная форма (МДНФ) заданной функции.
Структурная схема, соответствующая этому выражению, приведена на рис. 2
Переход от сокращенной формы (1.4) к МДНФ (1.5) был осуществлен путем исключения лишних импликант и .
До сих пор рассматривалось получение минимальной ДНФ.
При использовании
метода Квайна для получения минимальной конъюнктивной нормальной формы (МКНФ)
логической функции имеются следующие особенности:
Исходной для минимизации формой логического выражения заданной функции является
СКНФ;
Пары склеиваемых членов имеют вид ;
операция поглощения проводится в соответствии с выражением
Рассмотрим применение метода Квайна на примере минимизации функции, заданной таблицей истинности (табл. 1.4)
Таблица (1.4)
Совершенная КНФ рассматриваемой функции:
склеивающиеся пары членов:
первый и третий члены (результат склеивания
)
первый и четвертый члены (результат склеивания
)
второй и третий члены (результат склеивания
)
Проводя операции склеивания и поглощения, получаем:
Полученное выражение является сокращенной формой функции. Для перехода к минимальной форме строим импликантную матрицу
Все столбцы матрицы перекрываются импликантами и . Следовательно, член выражения является лишним и минимальная конъюнктивная нормальная форма (МКНФ) заданной функции.