Импликантная матрица
| Простые импли-канты | Конституенты единицы | |||||
|
|
|
|
|
| |
| X | X | ||||
| X | X | ||||
| X | X | ||||
| X | X | ||||
| X | X |
Для каждой импликанты найдем конституенты единицы, которые ею поглощаются, т. е. те конституенты, собственной частью которых является данная импликанта. Например, импликанта
поглощает конституенты
и
, импликанта
— конституенты
и
и т. д. Клетки импликантной матрицы, образованные пересечением строк с импликантами и колонок с поглощаемыми ими конституентами, отметим какими-либо символами..
Чтобы получить минимальную дизъюнктивную нормальную форму заданной функции, достаточно найти минимальное число импликант, которые совместно накрывают крестиками все колонки импликантной матрицы.
Из табл. 2.3.1 следует, что в минимальную форму обязательно должны войти импликанты
и
, так как только они накрывают крестиками первую и шестую колонки импликантной матрицы.
Кроме того, имлликанта
накрывает вторую, а импликанта
— пятую колонки. Поэтому остается накрыть только третью и четвертую колонки. Для этого можно выбрать пары импликант:
и
;
и
или одну импликанту
. Если выбрать указанные выше пары импликант, то импликанты
и
оказываются лишними, так как импликанта
одна накрывает третью и четвертую колонки таблицы. Таким образом, выбрав импликанту
, получим минимальную дизъюнктивную нормальную форму заданной функции.
,
которая совпадает с первой тупиковой формой. Если дополнительно к
и
выбрать импликанты
и
, то лишних импликант не оказывается, а полученное выражение
,
является второй тупиковой формой заданной функции.
Пример. Найти минимальные формы переключательной функции
. (2.3.1)
Проводя все операции склеивания и поглощения, получим сокращенную дизъюнктивную нормальную форму:
(2.3.2)
. (2.3.3)
Составим импликаитную матрицу (табл. 2.3.2), выписав из выражения (2.3.1) все конституенты единицы, а из выражения (2.3.3) - все простые импликанты. При заполнении импликантной матрицы удобно пользоваться формой записи (2.3.2): следует поставить крестики в тех колонках, номера которых совпадают с числами, стоящими в левой части формы (2.3.2).
Таблица 2.3.2
Импликантная матрица
| Простые импли-канты | Конституенты единицы | |||||
|
|
|
|
|
| |
| X | X | ||||
| X | X | ||||
| X | X | ||||
| X | X | ||||
| X | X | ||||
| X | X |
Для импликанты
крестиками отмечаются первая и вторая колонки; для
— первая и третья и т. д. Заметим, что каждая колонка табл. 2.3.2 отмечена двумя крестиками. Поэтому из выражения (2.3.3) можно исключить любую импликанту. Минимальное количество импликант, накрывающих крестиками все колонки, равно трем:
накрывает первую и вторую колонки,
накрывает третью и четвертую колонки,
накрывает пятую и шестую колонки.
Поэтому минимальная дизъюнктивная нормальная форма заданной функции имеет вид
.
Можно накрыть все колонки табл. 3.9 и другими импликантами:
накрывает первую и третью колонки,
накрывает вторую и шестую колонки,
накрывает четвертую и пятую колонки.
Таким образом, данная функция имеет вторую минимальную форму
.
Переключательная функция
имеет несколько других тупиковых форм, которые, однако, не являются минимальными. Например, тупиковыми будут следующие формы:


На основании изложенного сформулируем алгоритм получения минимальных дизъюнктивных нормальных форм переключательной функции.
1. Переключательную функцию представляют в совершенной дизъюнктивной нормальной форме. При этом, если функция задана таблицей, то ее следует записать «по единицам»; если же функция задана в произвольной аналитической форме, то совершенную дизъюнктивную нормальную форму можно получить, применяя операции развертывания, правила де Моргана и другие формулы булевой алгебры.
2. В полученной совершенной дизъюнктивной нормальной форме проводят все операции неполного склеивания и поглощения. В результате этого получается сокращенная дизъюнктивная нормальная форма заданной функции.
3. Находят минимальные дизъюнктивные нормальные формы по импликантной матрице. Если количество импликант в сокращенной дизъюнктивной нормальной форме невелико, то можно найти тупиковые формы методом испытания импликант и выбрать среди них минимальные.
Заметим, что в ряде случаев минимальная дизъюнктивная форма совпадает с сокращенной. Например, сокращенная дизъюнктивная нормальная форма любой переключательной функции двух аргументов совпадает с минимальной формой. Точно так же импликантные матрицы применяются для получения тупиковых и минимальных конъюнктивных нормальных форм переключательных функций.
2.4. Метод испытания импликант
Этот метод удобно использовать тогда, когда число импликант, входящих в сокращенную форму функции невелико.
Отметим следующее свойство произвольной, в частности, сокращенной дизъюнктивной нормальной формы переключательной функции импликант:
- если из этой формы исключить одну или несколько импликант, то полученное после этого выражение будет обращаться в нуль на тех же наборах, что и исходное выражение.
Это связано с тем, что дизъюнктивная форма обращается в нуль только в том случае, когда все ее логические слагаемые равны нулю. Однако, при исключении импликанты может оказаться, что на тех наборах, на которых исключенная импликанта равнялась единице (а следовательно, вместе с ней и вся дизъюнкция равнялась единице ввиду соотношения 1Úх1=1), оставшееся выражение не будет равно единице. Если же проверкой установить, что при исключении импликанты полученное выражение равно единице на этих наборах, то можно утверждать, что все нули и все единицы обоих выражений совпадают и, следовательно, исключенная импликанта является лишней.
Таким образом, чтобы испытать некоторую импликанту, ее следует исключить из сокращенной дизъюнктивной нормальной формы и подставить в оставшееся выражение такие значения переменных, которые обращают исключенную импликанту в единицу. Если при этом оставшееся выражение будет тождественно равно единице, то испытываемая импликанта является лишней.
Применение этого правила связано с некоторыми особенностями, которые можно рассмотреть на примерах.
Пример 1. Найти тупиковые формы переключательной функции, заданной в сокращенной дизъюнктивной нормальной форме:
.
1. Испытываем импликанту
. Подставляем в
значения х1 = 0 и х2 = 0, т.к. при этом
=
:

Следовательно, импликанту
исключать нельзя, т.к. оставшееся выражение не равно тождественно единице.
2. Импликанту х1х3 исключать также нельзя, т.к. при х1= 1 и х3 = 1

3. Для импликанты
:

Полученное выражение тождественно равно единице, поэтому импликанту
можно исключить, т.к. она является лишней.
Пример 2. Упростить переключательную функцию.
.
На основе теоремы Квайна получим
1¸2 ® 
2¸3 ® 
3¸4 ® 
4¸5 ® 
5¸6 ® 
Тогда сокращенная ДНФ имеет вид
(2.4.1)
Найдем тупиковые формы.
1. Для
: х1 = 0, х3 = 1, х4 = 1:

т.е. первую импликанту исключать нельзя.
2. Для
: х2 = 0, х3 = 1, х4 = 1.

т.е. импликанта
является лишней.
3. Проверяем третью импликанту
; при этом вторую импликанту, которая оказалась лишней, вновь возвращаем в исследуемое выражение. Тогда, подставляя в выражение
Ú
Ú
Ú
значения х1 = 1, х2 = 0, х4 = 1, получим
.
Следовательно, импликанта
также лишняя и может быть исключена.
4. Аналогично можно показать, что и импликанту
также может быть исключена.
Таким образом выражение (2.4.1) имеет три лишние импликанты 
и
.
Однако исключать одновременно все лишние импликанты нельзя без дополнительной проверки. Вначале следует исключить одну импликанту полученного выражения. Исключим из выражения (24.1. импликанту
, получим

Вновь проверяем наличие лишних импликант, проверяя только те, которые были лишними при первой проверке, т.е. импликанты
и
.
Подставляя в выражение
Ú
Ú
значения х1 = 1, х2 = 0, х4 = 1 получаем

Следовательно, импликанту
исключать нельзя, хотя при первой проверке, т.е. при наличии
(тоже лишней), она была лишней.
Поэтому если в некотором выражении имеется несколько лишних импликант, то исключение двух и более импликант одновременно без дополнительной проверки недопустимо.
2.5. Минимизация переключательных функций с помощью диаграмм Вейча
Диаграммы Вейча позволяют упростить поиск склеивающихся конституент. Диаграмма Вейча – это специальная таблица, определяющая значения переключательной функции на каждом наборе аргументов. Каждой клетке диаграммы соответствует определенный набор значений аргументов – рис. 2.5.1.б.
![]() ![]() ![]() ![]() ![]() x2
х1
| x2 x2 x2 x2 x2 x2 | ||||||||||
![]() ![]() 1
| х1 х1 | 1,1 | 1,0 | х1 х1 | х1x2 | х1x2 | х1 х1 | х1Úx2 | х1Úx2 | ||
| 0,1 | 0,0 | х1x2 | х1x2 | х1Úx2 | х1Úx2 |
(а) (б) (в) (г)
Рис. 2.5.1. Диаграмма Вейча для функции двух переменных.
Склеивающиеся между собой конституенты единицы или нуля в диаграммах Вейча для функций двух аргументов расположены в соседних клетках (рис. 2.5.1.в, г).
Чтобы представить переключательную функцию диаграммой Вейча следует записать единицы в клетки, соответствующие наборам, на которых функция равна единице, и нули – в остальные клетки.
В диаграмме Вейча для переключательной функции двух аргументов любая пара единиц, расположенных в соседних клетках, выражается одной буквой.
x2 x2 x2 x2 x2 x2 x2 x2
| |||||||||||
| х1 х1 | х1 х1 | х1 х1 | х1 х1 | ||||||||

f2(х1; x2) = x1 f5(х1; x2) = x2 f12 = х1 f10 = х2
Это обстоятельство используют для получения минимальных ДНФ и КНФ.
Рассмотрим диаграммы Вейча переключательной функции f13(х1; x2) =
= х1® x2.
![]() ![]() ![]() x2 x2 x2 x2
| Пара единиц во второй строке соответствует х1, а пара единиц в | ||||||
![]() ![]() х1
х1
| х1 х1 | х1x2 | первой колонке – x2. f13(х1; x2) = х1Ú x2. | ||||
| х1x2 | х1x2 |
Это выражение, являющееся минимальной формой функции f13(x1;x2) получено путем склеивания конституент единиц, обведенных овалами.
|
x2
| ||||
![]() ![]() ![]() x1
| x1x2x3 | x1x2 x3 | x1x2 x3 | x1x2 x3 |
| x1x2 x3 | x1x2 x3 | x1x2 x3 | x1x2 x3 |

x3 
![]() ![]() x2
| ||||
![]() ![]() x1
| x1Úx2Ú x3 | x1Úx2Ú x3 | x1Úx2Ú x3 | x1Úx2Ú x3 |
| x1Úx2Ú x3 | x1Úx2Ú x3 | x1Úx2Ú x3 | x1Úx2Ú x3 |
x3 
x2
| ||||
x1
| ||||
x3 
Рассмотрим диаграммы Вейча переключательных функций, которые выражаются произведением двух переменных
x2 x2 x2
| ||||||||||||||
x1
| x1
| x1
| ||||||||||||
x3 
x3 
x3 
x1 x2
x3
x3
![]() ![]() ![]() ![]() ![]() x2 x2 x2
| ||||||||||||||
![]() ![]() ![]() ![]() x1
| x1
| x1
| ||||||||||||
x3 
x3 
x3 

x1
x1
Четыре единицы, расположенные в соседних клетках, выражаются одной буквой.
![]() ![]() ![]() ![]() ![]() x2 x2 x2
| ||||||||||||||
![]() ![]() x1
| x1
| x1
| ||||||||||||
x3 
x3 
x3 
x3 

Чтобы построить диаграмму Вейча функции, заданной в СДНФ, нужно записать единицы в клетки диаграммы, которые соответствуют конституентам единицы данной функции.
Если функция задана в СКНФ, следует записать нули в клетки диаграммы, которые соответствуют конституентам нуля, входящим в данную функцию, а в остальных клетках записать единицы.
Отыскание минимальной ДНФ сводится к определению варианта, при котором все единицы диаграммы Вейча данной функции накрываются наименьшим числом наиболее коротких произведений.





x2
х1

x2 x2 x2 x2 x2 x2 x2 x2



x2 x2 x2 x2


х1
х1
x2 


x1


x2 

x1





x2 


x1





x2 

x1