
456
.pdf
T 1, 0, 0 , 1,1, 0 , 1,1,1, 0,1,1 .
f x1x2 x3 V x1x2 x3 V x1x2x3 V x1x2x3 x1x3 V x2x3 .
Мы выполнили перекрытие 4 -х интервалов 3 г о ранга двумя интервалами 2 г о ранга. Таким образом, мы установили взаимо -однозначное соответствие между заданием функции в виде ДНФ и покрытием множества Т для данной функции интервалами некоторого ранга.
Задачу о минимизации булевой функции будем рассматривать как задачу нахождения минимальной ДНФ для э той функции. Если обозначить r1, r2 , ..., rm –
ранги интервалов, образующих покрытие множества Т для данной функции, то
m
R ri
i=1
есть суммарный ранг ДНФ, который численно совпадает с числом букв, входящи х в ДНФ. Тогда задача о минимизации есть задача нахождения такого покрытия множества Т, которое имеет минимальный суммарный ранг R.
Интервал Y называется максимальным, если не существует другого интервала
Y с рангом, меньшим, чем у Y, и такого, что Пример
f x1x2x3 x1x2x3 V x1x2 x3 V x1x2 x3 V x1x2x3 V x1x2x3 x1 V x2x3 .
21

Здесь интервал x2x3 является максимальным, а x1x 2 , x1x2 , не являются максимальными. Интервал x1 тоже является максимальным.
ДНФ, соответствующая покрытию множества Т всеми максимальными интервалами, называется сокращенной ДНФ ( Сокр. ДНФ ).
Пример
f x1x2x3 x1x2x3 V x1x2 x3 V x1x2 x3 V x1x2x3 .
Сокр. ДНФ
f x1x2x3 x1x3 V x1x2 V x2x3 .
Очевидно, что Сокр. ДНФ не является минимальной, т. к. МДНФ в этом примере
f x1x2x3 x1x3 V x2x3 .
Теорема МДНФ получается из сокращенной ДНФ путем выбрасывания из покрытия
множества Т максимальными интервалами некоторых из них. ДНФ называется тупиковой, если при удалении из нее любой конъюнкции, получаемая в результате ДНФ не является равносильной исходной. Тупиковая ДНФ не обязательно является минимальной.
Пример
22

Для f x1x2x3 x1x2x3 V x1x2x3 V x1x2 x3 V x1x2x3 x1 V x1x2x3 ДНФ
x1 V x1x2x3 является тупиковой, но не минимальной, а МДНФ есть x1 V x2x3 .
Т. о. можно утверждать, что МДНФ всегда является тупиковой, хотя обратное неверно.
Теперь можно сформулировать общий подход к задаче минимизации булевых функций. На первом этапе однозначно определяется Сокр. ДНФ, а на втором этапе определяются все тупиковые формы, получаемые из Сокр. ДНФ путем выбрасывания некоторых интервалов. Тупиковых форм для одной и той же функции может быть несколько. Среди этих тупиковых форм находится и минимальная, причем минимальная тоже может быть не одна.
Пример
Для
f x1x2x3 x1x2x3 V x1x2x3 V x1x2 x3 V x1x2x3 V x1x2 x3 V x1x2 x3 .
существует две МДНФ
x2x3 V x1x3 V x1x2 , x1x3 V x1x2 V x2 x3 .
Сравнив все ТДНФ по числу букв, можно определить МДНФ.
Для автоматизированного решения задачи минимизации булевых функций разработан ряд методов, которые мы рассмотрим.
Замечание
23
Мы сформулировали и решили задачу минимизации булевых функций как задачу определения МДНФ. Однако в базисе задача минимизации может быть решена как задача определения МКНФ. С этой целью в двойственных терминах следует определить понятия Сокр. КНФ, ТКНФ, МКНФ, а метод решения задачи будет аналогичен данному.
2. Методы минимизации булевых функций
2.1 Метод неопределенных коэффициентов
Метод применим для функций от любого числа переменных, но мы рассмотрим его для функций от 3 -х переменных.
Представим f x1, x2, x3 в виде ДНФ с неопределенными коэффициентами k:
f x , x |
|
|
|
|
|
|
|
k1x V k0 |
|
1 V k1 x |
|
V k0 |
|
|
|
2 |
|
V k1 x |
|
|
V k0 |
|
3 V |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
, x |
3 |
x |
2 |
x |
|
3 |
x |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 |
2 |
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
3 |
|
|
|
|||||||||||||||||||||||
V k11x x |
|
|
|
|
|
|
01 |
|
|
1x |
V k10x |
|
|
|
|
2 V k00 |
|
1 |
|
|
2 |
|
V k11x x |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
2 |
V k |
x |
x |
x |
x |
|
|
V |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12 |
|
1 |
|
|
|
|
|
|
12 |
|
|
|
|
2 |
|
|
|
12 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
13 |
1 |
3 |
|
|
|
|
|
||||||||||||||||||||||||
V k01 |
|
|
1x |
|
V k10x |
|
|
3V k00 |
|
1 |
|
|
3V k11 x |
|
|
|
V k01 |
|
2x |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
x |
|
x |
x |
x |
|
x |
x |
|
V |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
13 |
|
|
1 |
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
2 |
3 |
|
23 |
|
|
|
|
3 |
|
|
|
|
|
(**) |
|||||||||||||||||||
V k10 x |
|
|
|
|
|
3V k00 |
|
|
|
|
|
|
|
|
|
|
|
000 |
|
|
|
|
|
|
|
|
|
3V k001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
2 |
x |
x |
|
2 x3V k |
x |
1 |
x |
2 |
x |
x |
1 |
x |
2x |
V |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||
V k010 |
|
1x |
|
|
|
|
|
3 V k011 |
|
1x |
|
|
|
|
|
|
V k100x |
|
2 |
|
3 V k101x |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
x |
2 |
x |
x |
|
x |
3 |
|
|
x |
x |
x2x |
V |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
123 |
1 |
|
|
|
|
|
|
|
|
|
123 |
1 |
|
|
3 |
|
|||||||||||||||||||||||||
V k110x x |
|
|
|
|
|
V k111x x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
2 |
|
x3 |
x |
3 |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
123 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
123 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В этой ДНФ представлены все возможные элементарные коньюнкции, которые могут входить в функцию, а коэффициенты k могут принимать значения 0 или 1. Значения коэффициентов нужно выбрать так, чтобы данная ДНФ была минимальной.
Будем рассматривать данную нам функцию на всех наборах x1, x2, x3 и
приравнивать выражение (**) на каждом из наборов (отбрасывая нулевые
конъюнкции) соответствующему значению функции. Получим систему из 2n уравнений вида:
24

k10 V k02 k10 V k02 k10 V k12 k10 V k12 k11 V k02 k11 V k02 k11 V k12 k11 V k12
V k30 V k13 V k30 V k13 V k30 V k13 V k30 V k13
V k00 |
V k00 |
V k00 |
V k000 |
f 0, 0, 0 . |
|
12 |
13 |
23 |
123 |
f 0, 0,1 . |
|
V k00 |
V k01 V k01 |
V k001 |
|||
12 |
13 |
23 |
123 |
f 0,1, 0 . |
|
V k01 |
V k00 |
V k10 |
V k010 |
||
12 |
13 |
23 |
123 |
f 0,1,1 . |
|
V k01 |
V k01 V k11 |
V k011 |
|||
12 |
13 |
23 |
123 |
|
f 1, 0, 0 . |
V k10 |
V k10 |
V k00 |
V k100 |
|
|
12 |
13 |
23 |
123 |
f 1, 0,1 . |
|
V k10 |
V k11 |
V k01 |
V k101 |
||
12 |
13 |
23 |
123 |
f 1,1, 0 . |
|
V k11 |
V k10 |
V k10 |
V k110 |
||
12 |
13 |
23 |
123 |
f 1,1,1 . |
|
V k11 |
V k11 |
V k11 |
V k111 |
||
12 |
13 |
23 |
123 |
|
|
Если в каком-то из этих уравнений правая часть равна 0, то все слагаемые левой части тоже равны 0. Эти коэффициенты можно исключить из всех уравнений, правые части которых равны 1. В этих уравнениях значение 1 следует присвоить тому коэффициенту, который соответствует кон ьюнкции наименьшего ранга. Эти коэффициенты и определят МДНФ.
Пример
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
1 |
x |
2 |
x |
3 |
f x , x |
2 |
, |
x |
3 |
|
x |
2 |
x |
3 |
f x1,x |
2 ,x3 |
||
|
|
|
1 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
0 |
|
0 |
|
1 |
|
|
|
|
|
|
0 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
0 |
|
1 |
|
0 |
|
|
|
|
|
|
0 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
1 |
|
0 |
|
0 |
|
|
|
|
|
|
1 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
1 |
|
1 |
|
0 |
|
|
|
|
|
|
1 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Составляем систему, используя выражение (**).
25

k0 |
V k0 |
V k0 |
V k00 |
V k00 V k00 |
V k000 |
1. |
|||||||
1 |
|
2 |
|
3 |
12 |
|
13 |
23 |
123 |
|
|||
k0 |
V k0 |
V k1 |
V k00 |
V k01 V k01 |
V k001 |
0 . |
|||||||
1 |
|
2 |
|
3 |
12 |
|
13 |
23 |
123 |
|
|||
k0 |
V k1 |
V k0 |
V k01 |
|
V k00 |
V k10 |
|
V k010 |
0 . |
||||
1 |
|
2 |
|
3 |
12 |
|
13 |
|
23 |
123 |
|
||
k0 |
V k1 |
V k1 |
V k01 |
|
V k01 |
V k11 |
|
V k011 0 . |
|||||
1 |
|
2 |
|
3 |
12 |
|
13 |
|
23 |
|
123 |
|
|
k1 |
V k |
0 |
V k |
0 |
V k10 |
V k10 |
V k00 |
V k100 |
1. |
||||
1 |
|
2 |
|
3 |
12 |
|
13 |
|
23 |
|
123 |
|
|
k1 |
V k |
0 |
V k1 |
V k10 |
|
V k11 |
|
V k01 V k101 |
1. |
||||
1 |
|
2 |
|
3 |
12 |
|
13 |
|
23 |
|
123 |
|
|
k1 |
V k1 |
V k |
0 |
V k11 |
V k10 |
V k10 |
V k110 |
1. |
|||||
1 |
|
2 |
|
3 |
12 |
|
13 |
|
23 |
|
123 |
|
|
k1 |
V k |
1 |
V k |
1 |
V k11 |
|
V k11 |
|
V k11 |
V k111 |
1. |
||
1 |
|
2 |
|
3 |
12 |
|
13 |
|
23 |
|
123 |
|
|
После исключения нулевых слагаемых получаем
k0023 V k123000 1.
k11 V k1012 V k1013 V k0023 V k100123 1. k11 V k1012 V k1113 V k101123 1.
k11 V k1112 V k1013 V k110123 1.
k11 V k1112 V k1113 V k111123 1.
Полагаем |
k1 |
1; |
k00 |
1; |
остальные коэффициенты считаем нулевыми. |
|
1 |
|
23 |
|
|
Получаем МДНФ:
f x1, x2, x3 x1 V x2 x3 .
2.2. Метод Квайна - Мак - Класки
Рассмотренный метод неопределенных коэффициентов эффективен, если число аргументов функции не больше, чем 5 – 6. Это связано с тем, что числ о уравнений равно 2 n . Более эффективным является выписывание не всех возможных конъюнкций для функции, а только тех, которые могут присутствовать в ДНФ данной функции. На этом основан метод Квайна. При этом предполагается, что функция задана в виде СДНФ. В данном методе элеме нтарные конъюнкции ранга n , входящие в ДНф, называются минитермами ранга n . Метод Квайна состоит из последовательного выполнения следующих этапов.
1. Нахождение первичных импликант
26

Просматриваем последовательно каждый минитерм функции и производим склеивание его со всеми минитермами, с которыми это возможно. В результате склеивания минитермов n-го ранга, мы получим минитермы ( n -1)-га ранга. Минитермы n -го ранга, которые участвовали в операции склеивания, помечаем. Затем рассматриваем минитермы ( n-1)-го ранга и операцию склеивания применяем к ним. Помечаем склеивающиеся минитермы ( n-1)-го ранга и записываем получившиеся в результате склеивания минитермы ( n-2)-го ранга и т. д. Этап заканчивается, если вновь полученные минитермы l-го ранга уже не скл еиваются между собой. Все неотмеченные минитермы называются первичными импликантами. Их дизъюнкция представляет собой Сокр. ДНФ функции.
f x1, x2 , x3, x4 x1x2x3x4 * V x1x2 x3 x4 * V x1x2 x3x4 * V
x1x2x3x4 * V x1x2 x3x4 * V x1x2x3x4 * V x1x2 x3 x4 * V x1x2 x3x4 *.
Склеиваем минитермы 4 -го ранга и помечаем склеивающиеся минитермы звездочками
x1x2x3x4 V x1x2x3x4 x1x3x4 . x1x2x3x4 V x1x2x3x4 x2x3x4 . x1x2 x3 x4 V x1x2 x3x4 x1x2 x3 *. x1x2 x3 x4 V x1x2 x3 x4 x2 x3 x4 *. x1x2 x3x4 V x1x2x3x4 x1x2x4 . x1x2 x3x4 V x1x2 x3x4 x2 x3x4 *. x1x2 x3x4 V x1x2x3x4 x1x2x4 . x1x2 x3x4 V x1x2 x3x4 x1x3x4 . x1x2 x3 x4 V x1x2 x3x4 x1x2 x3 *.
Образуем минитермы 2 -го ранга:
x1x2 x3 V x1x2 x3 x2 x3 . x2 x3 x4 V x2 x3x4 x2 x3.
Первичными ( простыми ) импликантами являются:
x1x3x4 , x2x3x4 , x1x2x4 , x1x2x4 , x1x3x4 , x2 x3 .
2. Расстановка меток Для данной функции Сокр. ДНФ имеет вид:
f x1, x2, x3, x4 x1x3x4 V x2x3x4 V x1x2x4 V x1x2x4 V x1x3x4 V x2 x3 .
27

Для построения тупиковых ДНФ и Сокр. ДНФ нужно выбросить лишние интервалы. Строим таблицу, строки которой соответствуют первичным импликантам, а столбцы – минитермам СДНФ. Если в некоторый из минитерм входит какой-то из импликант, то на пересечении соответствующей строки и столбца ставится метка, например, 1.
Продолжение примера
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2x3x4 x1x2 x3x4 |
x1x2x3x4 x1x2x3x4 x1 |
x2x3x4 |
x1 |
x2x3x4 x1x2x3x4 |
x1x2 x3x4 |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
x1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
x3x4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x2x3x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
x1x2x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
x1x2x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
x1x3x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
||||
x2 x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Нахождение существенных импликант Если в каком-либо столбце содержится только одна единица, то первичная
импликанта, определяющая эту строку, называется существенной. Например,
существенной импликантой является x2 x3 . Существенная импликанта не может
быть удалена из Сокр. ДНФ, т. к. только она способна покрыть некоторые минитермы СДНФ. Поэтому из таблицы исключаем строки, соответствующие этим импликантам, и столбцы, имеющие единицы в этих строках.
В рассматриваемом примере исключаем строку x2 x3 и столбцы
x1x2 x3 x4 , x1x2 x3x4 , x1x2 x3 x4 , x1x2 x3x4 .
В результате получаем таблицу
28

|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x2 x3x |
|
|
|
|
|
||||
|
|
|
|
|
|
|
x1x2x x |
4 |
x1x |
x x |
4 |
4 |
x x2x x |
4 |
|||||||||
|
|
|
|
|
|
3 |
2 |
3 |
|
|
|
1 |
3 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
||||||
|
x1x3x4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
||||||
|
x2x3x |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||
|
x1x2x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
x1x2x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
x1x3x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Вычеркивание лишних столбцов и строк
Если в полученной таблице есть одинаковые столбцы, то вычеркиваем все, кроме одного. Если после этого в таблице появятся пустые строки, то их вычеркиваем.
5.Выбор минимального покрытия максимальными интервалами
Вполученной таблице выбираем такую совокупность строк, которая
содержит единицы во всех столбцах. При нескольких возможных вариантах такого выбора, предпочтение отдается варианту с минимальным числ ом букв в строках, образующих покрытие.
Продолжение примера Минимальное покрытие таблицы образуют строки, соответствующие
импликантам x1x3x4 , x1x2x4 . Тогда МДНФ имеет вид:
f x1, x2, x3, x4 x1x3x4 V x1x2x4 V x2 x3 .
В методе Квайна есть одно существенное неудобство, связанное с необходимостью полного по парного сравнивания минитермов на этапе построения Сокр. ДНФ. В 1956 г. Мак - Класки предположил модернизацию первого этапа метода Квайна, дающую существенное уменьшение количества сравнений минитермов.
Идея метода Мак - Класки заключается в следующем. Все минитермы записываются в виде двоичных номеров, например, x1x2x3 x4 как 1010. Эти
номера разбиваются на группы по числу единиц в номере, т. е. в i -ю группу попадают номера, имеющие в своей записи i единиц. По парное сравнение
29
производится только между соседними по номеру группами, т. к. минитермы, пригодные для склеивания, отличаются друг от друга только в одном разряде. При образовании минитермов с ранга выше нулевого, в разряды, соответствующие и сключенным переменным, ставится тире.
Пример |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Найдем МДНФ для функции: |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
1 |
1 |
1 |
0 |
|
1 |
0 |
1 |
1 |
|
|
|
f x1, x2 , x3, x4 x1 x |
2 x3 x |
4 V x1 x |
2 x |
3 x4 V |
|
|
|||||||||
1 1 |
1 |
1 |
1 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
x1 x |
2 x |
3 x |
4 V x1 x2 x3 x4 V x1 x2 x3 x4 |
V x1 x |
2 x3 x4 . |
||||||||||
Минитермы 4-го ранга по группам |
|
|
|
|
|
|
|
|
|
||||||
I |
|
|
II |
III |
|
IV |
|
|
|
|
|
|
|
||
1000* 1001* 1110* 1111* |
|
|
|
|
|
|
|
||||||||
|
|
1010* 1011* |
|
|
|
|
|
|
|
|
|
||||
Минитермы 3-го ранга |
|
|
|
|
|
|
|
|
|
|
|
|
|||
I |
|
|
II |
III |
|
|
|
|
|
|
|
|
|
|
|
100 * |
10 1* |
111 * |
|
|
|
|
|
|
|
|
|
||||
|
|
1 10* |
1 11* |
|
|
|
|
|
|
|
|
|
|||
Минитермы 2-го ранга |
|
|
|
|
|
|
|
|
|
|
|
|
|||
I |
|
II |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
1 1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
10 |
1 1 |
|
|
|
|
|
|
|
|
|
|
|
|
Непомеченные минитермы или простые импликанты
10 , 1 1 .
Строим таблицу меток
|
|
1 |
1 |
1 |
1 |
1 |
1 |
|
||
|
000 |
001 |
010 |
110 |
011 |
111 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
1 |
1 |
|
1 |
|
|
||
0-- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1- |
|
|
|
1 |
1 |
|
1 |
|
||
1- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обе первичные импликанты существенны и определяют минимальное |
||||||||||
покрытие, т. е. МДНФ имеет вид: |
|
|
|
|
||||||
|
|
x1, x2, x3, x4 |
x1 |
|
2 V x1x3 . |
|
|
|
||
|
f |
x |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
30 |