- •Переключательные функции Основные понятия и определения
- •Переключательные функции одного и двух аргументов
- •1.2.1.Переключательные функции одного аргумента.
- •1.3. Представление переключательной функции в виде многочленов.
- •1.4. Пять классов переключательных функций. Теорема о функциональной полноте
- •1.5. Функционально полные системы логических функций.
- •Импликантная матрица
- •1. Основные понятия и определения теории графов
- •2. Типы графов
- •3. Матрицы графов
- •4.Операции на графах
- •Пересечение графов
- •Композиция графов
- •5. Связные графы. Компонента связности
- •6. Деревья и их свойства
- •Алгоритм построения минимального каркаса
- •Обоснование алгоритма
- •7. Эйлеровы цепи и циклы
- •Алгоритм построения эйлерова цикла
- •Обоснование алгоритма
- •8.Нахождение кратчайших путей в графе
- •Алгоритм Флойда
Импликантная матрица
Простые импли-канты |
Конституенты единицы
| |||||
|
|
|
|
|
| |
|
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. Упростить переключательную функцию.
.
На основе теоремы Квайна получим
12
23
34
45
56
Тогда сокращенная ДНФ имеет вид
(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
1
0
x2 x2 x2 x2 x2 x2
1
х1
х1
1,1
1,0
х1
х1
х1x2
х1x2
х1
х1
х1x2
х1x2
0
0,1
0,0
х1x2
х1x2
х1x2
х1x2
(а) (б) (в) (г)
Рис. 2.5.1. Диаграмма Вейча для функции двух переменных.
Склеивающиеся между собой конституенты единицы или нуля в диаграммах Вейча для функций двух аргументов расположены в соседних клетках (рис. 2.5.1.в, г).
Чтобы представить переключательную функцию диаграммой Вейча следует записать единицы в клетки, соответствующие наборам, на которых функция равна единице, и нули – в остальные клетки.
В диаграмме Вейча для переключательной функции двух аргументов любая пара единиц, расположенных в соседних клетках, выражается одной буквой.
-
x2 x2 x2 x2 x2 x2 x2 x2
х1
х1
1
1
х1
х1
1
0
х1
х1
0
0
х1
х1
0
1
0
0
1
0
1
1
0
1
f2(х1; x2) =x1 f5(х1; x2)= x2f12=х1 f10=х2
Это обстоятельство используют для получения минимальных ДНФ и КНФ.
Рассмотрим диаграммы Вейча переключательной функции f13(х1; x2) =
= х1 x2.
-
x2 x2 x2 x2
Пара единиц во второй строке соответствует х1, а пара единиц в
х1
х1
1
0
х1
х1
х1x2
первой колонке – x2.
f13(х1; x2) = х1 x2.
1
1
х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
x1x2 x3
x1x2 x3
x1x2 x3
x1x2 x3
x1x2 x3
x1x2 x3
x1x2 x3
x1x2 x3
x3
-
x2
x1
110
111
101
100
010
011
001
000
x3
Рассмотрим диаграммы Вейча переключательных функций, которые выражаются произведением двух переменных
-
x2 x2 x2
x1
1
1
0
0
x1
0
0
0
0
x1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
x3 x3 x3
x1 x2 x3 x3
-
x2 x2 x2
x1
0
0
0
0
x1
1
0
0
1
x1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
x3 x3 x3
x1 x1
Четыре единицы, расположенные в соседних клетках, выражаются одной буквой.
-
x2 x2 x2
x1
0
1
1
0
x1
0
0
0
0
x1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
x3 x3 x3
x3
Чтобы построить диаграмму Вейча функции, заданной в СДНФ, нужно записать единицы в клетки диаграммы, которые соответствуют конституентам единицы данной функции.
Если функция задана в СКНФ, следует записать нули в клетки диаграммы, которые соответствуют конституентам нуля, входящим в данную функцию, а в остальных клетках записать единицы.
Отыскание минимальной ДНФ сводится к определению варианта, при котором все единицы диаграммы Вейча данной функции накрываются наименьшим числом наиболее коротких произведений.
Пример.
f(x1, x2, x3)=.
f(x1, x2, x3) =.
-
x2
Четыре единицы, находящиеся в первой и
последней колонках, можно накрыть перемен-
x1
1
0
1
1
ной , а две остальные объединить с единицами, расположенными в левой нижней и правой
1
1
0
1
x3 верхней клетках диаграммы (склеивание поx3).
Данная функция имеет единственную минимальную форму, так как при любом другом способе объединения единиц количество букв в ДНФ увеличивается.
Пример. Найти минимальные ДНФ и КНФ функции
f(x1, x2, x3) = .
-
x2 x2
x1
1
1
1
0
x1
1
1
1
0
0
0
1
1
0
0
1
1
x3 x3
f(x1, x2, x3) = x1 x2 x1 x3 f(x1, x2, x3) = x1 x2 x3
Для получения минимальной КНФ следует объединить нули переключательной функции: две конституенты нуля соответствуют клеткам, объединенным пунктиром, склеиваются по x3и представляются импликантойx1 , а оставшийся нуль – конституентой x2 x3.Поэтому минимальная КНФ будет иметь вид:
f(x1, x2, x3) = (x1 )( x2 x3).
Минимальная КНФ имеет меньше букв, чем минимальная ДНФ.
Пример. Найти минимальную ДНФ.
f(x1, x2, x3) =.
-
x2
Единственная минимальная ДНФ имеет
вид
x1
1
0
0
1
1
0
1
0
x3
Пример. Найти минимальную ДНФ.
f(x1, x2, x3)=.
-
x2
f(x1, x2, x3) = x2 x3 x1 x3 x1 x2;
f(x1, x2, x3) = x1 x3 x1 x2 x2 x3;
x1
1
0
1
1
1
1
1
0
x3 При других способах объединения консти-
туент число логических слагаемых в ДНФ
будет больше трех.
Пример. Найти минимальную ДНФ функции
f(x1, x2, x3) = .
-
x2
В диаграмме Вейча данной функции нет
ни одной пары единиц, расположенных
в соседних клетках, и поэтому заданная
СДНФ совпадает с минимальной.
x1
1
0
1
0
0
1
0
1
x3
Диаграмма Вейча для функции четырех аргументов представляет собой квадрат, разделенный на 16 клеток.
Одной букве
соответствует восемь единиц,
расположенных в соседних
клетках; произведению, включающему
две переменные соответствуют четыре
соседние единицы; произведению
трех переменных – две и произведению
четырех переменных – одна единица.
-
x1
x2
x3
x4
Первую и последнюю колонки диаграммы, а также верхнюю и нижнюю строки следует считать соседними. Поэтому диаграмму Вейча для функций четырех аргументов следует представлять нанесенной на поверхность тора.
Пример.
-
–
- это минимальная ДНФ.
x1
x2
x3
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
x4
Диаграмма Вейча для функции пяти аргументов имеет следующий вид:
-
x1
x2
x5 x5
x3
x4 x4
Одной букве в этом случае соответствуют шестнадцать единиц, расположенных в смежных клетках; произведение двух букв – восемь единиц, трех букв – четыре, четырех – две и пяти – одна единица.
Следует помнить, что для букв , x4, иx5"соседние" клетки оказываются разнесенными.
Аналогично строится диаграмма Вейча и для переключательных функций большего числа аргументов. Однако с увеличением числа аргументов работа с диаграммами затрудняется, т.к. теряется геометрический смысл "соседних" клеток.
2.6. Второй метод получения минимальных КНФ
Этот метод полностью опирается на преобразования дизъюнктивных форм переключательных функций. Алгоритм заключается в следующем.
1. Записывают дизъюнкцию всех конституент единицы, которые не входят в СДНФ заданной функции.
Если функция задана таблицей, то в эту форму войдут конституенты единицы, соответствующие наборам аргументов, на которых функция равна нулю. Если функция задана аналитически, то вначале находят ее совершенную ДНФ, а затем записывают дизъюнкцию всех конституент, которые не вошли в эту функцию. Можно показать, что полученная таким образом форма будет совершенной дизъюнктивной нормальной формой заданной функции, взятой с отрицанием.
2. Находят минимальные ДНФ по рассмотренным алгоритмам.
3. От полученных минимальных форм берут отрицания, и после преобразований по формулам де Моргана получают конъюнктивные формы, которые будут минимальными.
Для обоснования приведенного алгоритма получения минимальной КНФ достаточно доказать два положения.
1. Дизъюнкция всех конституент единицы, не входящих в совершенную дизъюнктивную нормальную форму данной функции f(x1,x2, …,xn) является отрицанием данной функции.
2. Преобразования по формулам де Моргана минимальной дизъюнктивной нормальной формы функции приводит к получению минимальной конъюнктивной нормальной формы функцииf(x1,x2, …,xn).
1. Прежде всего заметим, что дизъюнкция всех конституент единицы тождественно равна единице. Действительно, для любого набора аргументов в такой дизъюнкции найдется конституента, равная на этом наборе единице. Но если одно логическое слагаемое ДНФ равно единице, то равна единице и вся дизъюнктивная форма. Поэтому справедливы такие, например, соотношения
В общем виде:
, (*)
где n – число аргументов.
Рассмотрим некоторую ПФ, заданную в СДНФ:
, (**)
где m– число наборов, на которых ПФ равна единице.
Обозначим конституенты единицы, не входящие в последнее выражение, через , гдеp= 2n–m – число наборов, на которых функция равна нулю. Тогда на основании соотношения (*)
Учитывая (**), получим
Сравнивая последнее соотношение с тождеством х1= 1, которое можно записать в форме
,
получим
,
что и требовалось доказать.
Преобразования по формулам де Моргана не изменяют число букв в выражении для ПФ. Поэтому, если взять отрицание от минимальной ДНФ функции , то полученная после преобразования по формулам де Моргана конъюнктивная форма также будет минимальной, но уже для функции.
Если предположить, что эта форма не является минимальной, то существует другая конъюнктивная форма, содержащая меньшее число букв. Тогда, взяв от нее отрицание и применив формулы де Моргана, получим дизъюнктивную форму с меньшим числом букв, чем в минимальной. Это противоречит определению минимальной формы и, следовательно, предположение о том, что полученная конъюнктивная форма не является минимальной, не верно.
Пример 1. Найти минимальную конъюнктивную форму ПФ, заданной таблицей.
1. Запишем
дизъюнкцию конституент единицы,
которые соответствуют наборам,
на которых функция равна нулю.
Номер набора |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
x1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
x2 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
x3 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
f(x1, x2, x3) |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
.
2. Выполним операции склеивания и поглощения, после чего получим сокращенную ДНФ функции :
.
3. Испытывая импликанты, обнаружим, что вторую импликанту можно исключить (при x2= 1,x3= 0, выражение1), т.е. минимальная ДНФ функцииимеет вид
.
Использовав формулу де Моргана, получим минимальную КНФ заданной функции
.
Пример 2. Найти минимальную конъюнктивную нормальную форму функции
.
1. Находим СДНФ:
.
2. Записав дизъюнкцию конституент единицы, не вошедших в предыдущее выражение, получим СДНФ функции :
.
3. Сокращенная ДНФ имеет вид:
.
4. Находим минимальные формы функции .
-
Импли-
канта
Конституента
x1x2 x3
*
*
*
*
x2 x3
*
*
x1 x3
*
*
1) .
2) .
Воспользовавшись формулой де Моргана получим две минимальные КНФ:
1. f(x1, x2, x3) = (x1 x3)( x2 x3)( x1 x3).
2. f(x1, x2, x3) = (x1 x3)( x1 x2)( x1 x3).
2.7. Минимизация неполностью определенных переключательных функций
В ЦВМ могут использоваться комбинационные схемы, закон функционирования которых определен неполностью. В таких схемах некоторые комбинации сигналов на ее входы не подаются и являются запрещенными. Для запрещенных входных комбинаций выходные сигналы не определены, т.е. могут принимать любые значения – нуль или единицу. Поэтому при синтезе схем с неполностью заданным законом функционирования можно произвольно задать значения выходных сигналов для запрещенных комбинаций входных сигналов; нормальная работа схемы при этом не нарушается. Поэтому выходным сигналам на запрещенных комбинациях придают такие значения, при которых можно построить наиболее простую схему.
Схемы с запрещенными комбинациями выходных сигналов описываются неполностью определенными переключательными функциями, т.е. функциями, значения которых определены не на всех наборах. Например, функция заданная таблицей и диаграммой Вейча
-
x1
0
0
0
0
1
1
x2
0
0
1
1
0
1
x3
0
1
0
1
1
0
f(x1, x2, x3)
1
0
0
0
1
1
определена только на шести наборах. Клетки, соответствующие наборам 1,0,0; 1,1,1 остаются пустыми.
Форма представления функции f(x1, x2, x3) существенно зависит от выбора ее значений на запрещенных наборах, Например, для заданной функции, выбирая ее запрещенные значения равными нулю, можно получить минимальную ДНФ в виде
Если значения функции на запрещенных наборах принять равными единице, то форма представления упрощается
.
Рассмотрим общую методику получения минимальных ДНФ неполностью определенных переключательных функций
Определение 2.7.1. Пусть переключательная функция f(x1, x2, …, xn) не определена на p наборах аргументов. Тогда полностью определенную функцию (x1, x2, …, xn) будем называть эквивалентной функции f(x1, x2, …, xn), если ее значения совпадают со значениями функции f(x1, x2, …, xn) на тех наборах, на которых эта функция f определена.
Существует 2p вариантов выбора значений функции на запрещенных наборах и, следовательно, 2рразличных переключательных функций, эквивалентных функции f(x1,x2, …,xn). Поэтому задача минимизации неполностью определенной функцииf(x1,x2, …,xn) сводится к отысканию такой эквивалентной функции(x1,x2, …,xn), которая имеет простейшую минимальную форму.
Введем эквивалентные функции 0(x1,x2, …,xn) и1(x1,x2, …,xn), значения которых на всех запрещенных наборах функцииf(x1,x2, …,xn) равны, соответственно, нулю и единице.
Теорема 2.7.1. Минимальная ДНФ неполностью определенной функции f(x1, x2, …, xn) совпадает с дизъюнкцией самых коротких импликант эквивалентной функции 1(x1, x2, …, xn), которые совместно поглощают все конституенты единицы функции 0(x1, x2, …, xn) и ни одна из которых не является лишней.
Для доказательства теоремы рассмотрим СДНФ некоторой эквивалентной функции i(x1,x2, …,xn). Конституенты единицы, входящие в эту форму, обязательно войдут и в СДНФ функции1(x1,x2, …,xn). Поэтому любая простая импликанта функцииi(x1,x2, …,xn) будет совпадать с импликантой функции1(x1,x2, …,xn) или будет поглощаться ею. Другими словами, среди импликант функции1(x1,x2, …,xn) всегда найдется такая, которая поглощает любую импликанту любой эквивалентной функцииi(x1,x2, …,xn). Следовательно, самыми короткими произведениями, накрывающими единицы функцииf(x1,x2, …,xn), будут импликанты1(x1,x2, …,xn).
Среди всех ПФ, эквивалентных заданной, функция 0(x1,x2, …,xn) имеет минимальное количество конституент единицы. Следовательно, и количество простых импликант [из набора импликант функции1(x1,x2, …,xn)], необходимых для поглощения конституент функции0(x1,x2, …,xn), будет минимальным. Если составить дизъюнкции наиболее коротких импликант функции0(x1,x2, …,xn), которые совместно накрывают все конституенты единицы функции0(x1,x2, …,xn), то получим, очевидно, минимальную форму представления функцииf(x1,x2, …,xn).
Ввиду того, что для накрытия единиц функции 0(x1,x2, …,xn) выбираются импликанты другой функции, дизъюнкция этих импликант не равняется функции0(x1,x2, …,xn). Однако, такая дизъюнкция обязательно равна одной из функций, эквивалентных функцииf(x1,x2, …,xn).
Пример. Найти минимальную дизъюнктивную нормальную форму ПФ, заданной таблицей.
-
x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
x3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
f(x1, x2, x3, x4)
1
0
1
0
0
1
0
0
1
1
Полагая, что пустые клетки заполнены нулями, найдем СДНФ эквивалентной функции 0(x1,x2,x3,x4):
.
СНДФ функции 1(x1,x2, …,xn), полученная после заполнения пустых клеток таблицы единицами, будет
Выполнив операции склеивания и поглощения, получим сокращенную ДНФ функции 1 (x1,x2,x3,x4), в которую войдут все ее простые импликанты:
Составим импликантную матрицу, включив в нее конституенты единицы функции 0(x1,x2,x3,x4) и импликанты функции1(x1,x2,x3,x4).
-
Импли-
канты
Конституенты
x1 x2 x3 x4
x1 x2
x
x
x
x
x
x
x
x
x
Импликанта x1x2обязательно должна входить в мин ДНФ, т.к. только она поглощает конституентуx1x2x3x4. Импликантыx1x2совместно накрывают все конституенты, кроме; последняя может быть накрыта импликантамиили. Поэтому минимальные ДНФ функцииf(x1,x2,x3,x4) будут:
Пример. Найти минимальную ДНФ функцииf(x1,x2,x3,x4), эквивалентая функция0(x1,x2,x3,x4) которой имеет вид:
а комбинации являются запрещенными.
Эквивалентную функцию 1(x1,x2, …,xn) можно получить, добавив к СДНФ функции1(x1,x2, …,xn) запрещенные комбинации переменных:
Проведя операции склеивания и поглощения, найдем простые импликанты функции 1(x1,x2,x3,x4);x1x2x3,x1x3x4,,. Импликантная матрица функцииf(x1,x2,x3,x4) имеет вид.
-
Импли-
канты
Конституенты
x
x
х
х
х
x1x2x3
х
x1x3x4
Функция f(x1,x2,x3,x4) имеет единственную минимальную ДНФ
В нижней строке импликантной матрицы крестики отсутствуют и, следовательно, импликанта x1x3x4не поглощает ни одну из конституент единицы функции0(x1,x2,x3,x4). Это связано с тем, что данная импликанта образовалась в результате склеивания конституент функции1(x1,x2,x3,x4), которые в функцию0(x1,x2,x3,x4) не входят.
Чтобы найти простейшее представление неполностью определенной ПФ, кроме минимальных дизъюнктивных форм следует получить минимальные конъюнктивные нормальные формы и выбрать из них ту, которая содержит наименьшее число букв.
Алгоритм получения минимальных конъюнктивных форм подобен рассмотренному алгоритму получения минимальной ДНФ и заключается в следующем.
Пусть задана неполностью определенная функция f(x1,x2, …,xn). Тогда для получения минимальной КНФ достаточно найти сокращенную КНФ эквивалентной функции0(x1,x2, …,xn), а функцию1(x1,x2, …,xn) записать в СКНФ. Затем следует составить ипликантную матрицу, включив в нее все конституенты нуля функции1(x1,x2, …,xn) и все члены сокращенной конъюнктивной нормальной формы функции0(x1,x2, …,xn). По импликантной матрице рассмотренным выше способом можно получить минимальные КНФ функцииf(x1,x2, …,xn).
Пример. Найти минимальную КНФ функции, записанной таблицей.
-
x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
x3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
f(x1, x2, x3, x4)
0
1
1
0
0
1
0
1
0
1
1
1
1
СКНФ эквивалентной функции 1(x1,x2,x3,x4):
СКНФ функции
Сокращенная КНФ функции 0(x1,x2,x3,x4)
Импликантная матрица имеет вид:
-
Импли-
канты
1
2
3
4
5
х
х
х
х
х
х
х
Минимальная КНФ функции f(x1,x2,x3,x4)
Рассмотренная функция имеет четыре минимальные ДНФ
Здесь больше букв, чем в МКНФ.