
- •Множества с операциями.
- •1. Определения: n-операция; бинарное отношение; алгебраическая система.
- •Алгебры высказываний и предикатов.
- •4. Операции над высказываниями, n-местный предикат, его связь с n-арным отношением.
- •5. Модель м() сигнатуры. Способы получения предикатов из предикатов. Квантор всеобщности. Квантор существования.
- •6. Термы. Формула на алгебраической системе м() (на предикатах). Свободные и связные переменные в формулах предикатов.
- •7. Формула над классом (множеством) логических функций. Примеры эквивалентных преобразований формул, в частности, правила поглощения, склеивания, вычеркивания. Задание логических функций
- •8. Доказательство теоремы о разложении логической функции по к переменным.
- •Формула разложения по переменной.
- •10. Доказательство теоремы о представлении двоичной функции в виде сднф.
- •11. Представление в виде скнф.
- •12. Понятие днф булевой функции. Импликанта логической функции. Простой импликант. Строение м.Д.Н.Ф.
- •13. Доказательство утверждения о том, что минимальная днф (отличная от 0 и 1) является дизъюнкцией некоторых простых импликантов.
- •14. Методы построения простых импликантов.
- •15. Методы формирования мднф.
- •Формирование м. Д. Н. Ф.
- •Для отыскания сокращенных и минимальных днф функций от 4 переменных можно использовать проекцию 4-мерного куба, изображенную на рис. 2.
- •16. Доказательство теоремы о представлении двоичной функции в виде полинома Жегалкина.
Для отыскания сокращенных и минимальных днф функций от 4 переменных можно использовать проекцию 4-мерного куба, изображенную на рис. 2.
РИСУНОК 2.
Теперь рассмотрим аналитические методы нахождения сокращенных, тупиковых и минимальных ДНФ.
А) Нахождение сокращенной ДНФ булевой функции по ее совершенной ДНФ.
Предварительно
введем термины и обозначения. Условимся
через
обозначать элементарную конъюнкцию
длины
.
Элементарные
конъюнкции
отличающиеся
показателем лишь у одного переменного,
называются соседними. Если в некоторой
системе элементарных конъюнкций
конъюнкция
не имеет соседних, то она называется
изолированной.
Очевидно, что
Будем говорить,
что
получена склеиванием конъюнкций
и
,
а
,
получены расклеиванием конъюнкции
.
Теперь можно
описать алгоритм нахождения сокращенной
ДНФ функции
1)Для каждой
элементарной конъюнкции совершенной
ДНФ функции
находим все соседние с ней конъюнкции,
входящие в совершенную ДНФ.
2) К каждой паре соседних конъюнкций применяем операцию склеивания и из полученных таким образом элементарных конъюнкций длины n-1 выбираем множество всех попарно различных конъюнкций. В итоге получим:
где
- изолированные элементарные конъюнкции,
а
- дизъюнкция всех полученных в пункте
2 элементарных конъюнкций длиныn-1.
Аналогично,
применяя операции 1 и 2 к функции
,
получим:
Будем продолжать
этот алгоритм до тех пор, пока не получим
функцию
в которой все элементарные конъюнкции
изолированы.
Ниже будет доказана
Теорема 2.
(6)
есть сокращенная
ДНФ функции
.
Тот факт, что
ДНФ (6) равна
,
очевиден. Остается показать, что она
сокращенна, т. е., что множество входящих
в нее элементарных конъюнкций совпадает
с множеством всех простых импликант
функции
.
Сначала дадим
Определение.Дизъюнктивную нормальную форму
назовем насыщенной,
если
для любой элементарной
конъюнкции
,
отличной от
.
Примером насыщенной ДНФ может служить любая совершенная ДНФ. Она насыщена в силу своей единственности для каждой булевой функции.
Справедливость сформулированной выше теоремы легко следует из следующего утверждения.
Лемма. Пусть
(7)
насыщенная
ДНФ;
суть все ее изолированные конъюнкции
и
(8)
дизъюнкция
всех элементарных конъюнкций длины
,
полученных применением операций 1-2 к
ДНФ (7). Тогда:
.
ДНФ (8) – насыщенна;
.
есть множество всех простых импликант
длины
функции
;
.
Множество простых импликант длины
функции
совпадает с множеством простых импликант
длины
функции
.
Доказательство.
.
Пусть
- любая элементарная конъюнкция длины
и
.
Применяя
к
операцию расклеивания, мы получим пару
соседних элементарных конъюнкций
и
,
которые содержатся в ДНФ (7) в силу ее
насыщенности. Но тогда к ним должна была
применяться операция склеивания и
полученная при этом конъюнкция
содержится в (8). Это и означает, что ДНФ
(8) насыщенная.
Так как ДНФ (7)
насыщенная и ее элементарные конъюнкции,
имеющие соседние конъюнкции, не могут
быть простыми импликантами, то все
простые импликанты длины
функции
содержатся среди
Допустим,
что некоторая из них, например
,
не является собственная часть конъюнкции
поглощается функцией
.
Тогда, очевидно, в качестве такой
собственной части можно взять элементарную
конъюнкцию
длины
:простой
импликантой функции
.
Это означает, что некоторая
и
А так как
и
ДНФ (7) насыщенная, то
содержится в (7). Следовательно в (7)
элементарная конъюнкция
имеет соседнюю, т. е. не является
изолированной. Полученное противоречие
и доказывает утверждение
.
.
В одну сторону
очевидно. А именно, всякая простая
импликанта длины
функции
является простой импликантой функции
Докажем обратное.
Пусть
- простая импликанта
и не является таковой для
.
Это означает, что существует собственная
часть
,
которая поглощается функцией
.
В качестве такой части можно выбрать
элементарную конъюнкцию
:
.
Так
как для некоторого
,
не входящего в
,
и ДНФ (7) насыщенная,
то все элементарные конъюнкции
содержатся
в (7), а поскольку они не являются в (7)
изолированными, то
Следовательно,
не есть простая импликанта для
,
что противоречит выбору
.
Пример. Найти сокращенную ДНФ для функции
Замечаем, что изолированных элементарных конъюнкций здесь нет. В результате склеивания всех пар соседних конъюнкций и приведения подобных, получим:
Здесь изолированными являются лишь конъюнкции
Применив операцию склеивания к соседним конъюнкциям, будем иметь:
В полученной функции все конъюнкции изолированные. По доказанной выше теореме
есть
сокращенная ДНФ функции.
Б) Нахождение сокращенной ДНФ булевой функции по ее произвольной ДНФ.
В искомом алгоритме нахождение сокращенной ДНФ будет использоваться равносильность
для
любых формул
не содержащих
.
Эта равносильность непосредственно
проверяется при
и
.
Пусть
имеется представление булевой функции
в виде дизъюнкции ее импликант:
(9)
1) Найдем в (9) импликанты вида
и
такие, что в (9) нет импликанты
равносильной конъюнкции
.
Тогда, заменив в (9)
на
получим новое представление функции
в виде дизъюнкции импликант.
Теперь преобразование такого же типа применим к полученному представлению и т. д. до тех пор, пока не получим ДНФ, к которой не применимо преобразование типа 1.
2)
К полученной ДНФ применим закон
поглощения, заменяя дизъюнкции вида
на
до тех пор, пока это возможно.
В
итоге получится сокращенная ДНФ булевой
функции
.
Этот факт следует непосредственно из
доказываемого ниже утверждения.
Теорема 3. Если к какой-либо ДНФ А булевой функции
применить
всевозможные преобразования типа 1, то
получится ДНФ В функции
содержащая все простые импликанты
.
Доказательство
проведем индукцией по числу
.
При
утверждение очевидно. Пусть
и
- простая импликанта ДНФ функции
.
Если ее длина
,
то
присутствует в любой ДНФ функции
,
а потом и в В. Пусть
,
т. е.
такое, что
не содержит
.
Представим функцию
в виде
,
где
- функции не зависящие от
.
Так как
- импликанта
,
то
.
Отсюда
при
и
получим соответственно, что
поглощается функциями
,
,
а потом и функцией
Легко
видеть, что
-
простая импликанта функции
и В содержит ДНФ функции
.
Отсюда и из предложения индукции следует,
что
содержится в В. Теорема доказана.
Таким
образом, с помощью преобразований типа
1 мы получим ДНФ, сожержащую все простые
импликанты функции
,
а преобразованиями типа 2 избавимся от
всех непростых импликант. В итоге
получится сокращенная ДНФ функции
.
В) Нахождение сокращенной ДНФ булевой функции по ее КНФ.
Пусть
(10)
представление
функции
в виде конъюнктивной нормальной формы.
Раскроем в (10) все скобки по правилу дистрибутивности конъюнкции относительно дизъюнкции, удалим из полученной формулы тождественно ложные конъюнкции, а остальные заменим на равносильные им импликанты функции
. В итоге получим ДНФ функции
:
(11)
Удалим из ДНФ (11) каждую элементарную конъюнкцию,
которая поглощается какой-либо другой конъюнкцией из (11).
В
итоге получим сокращенную ДНФ функции
,
поскольку ДНФ (11) содержит все простые
импликанты функции
.
Последний факт доказывается по той же
схеме, что и теорема 3.
Г) Нахождение тупиковых и минимальных ДНФ булевой функции по сокращенной ДНФ.
По определению тупиковой ДНФ все ее импликанты простые и потому содержатся в сокращенной ДНФ. Отсюда следует, что для нахождения тупиковых ДНФ нужно уметь выяснять, поглощается ли в ДНФ произвольная элементарная конъюнкция дизъюнкцией остальных. Для решения последнего вопроса докажем критерий поглощения.
Лемма.
Пусть ДНФ
поглощает конъюнкцию
и
.
Тогда
поглощается ДНФ
Допустим,
что это не так, т. е.
Тогда для некоторого набора значений
переменных
А так как
,
то
,
а потому и
Следовательно,
,
т.е.
не поглощается ДНФ
,
что противоречит условию.
Функции
и
называются ортогональными, если
.
Доказанная лемма позволяет при
исследовании на поглощение некоторой
конъюнкции не принимать во внимание
ортогональные к ней конъюнкции.
Теорема
(критерий поглощения). Пусть
некоторая ДНФ;
- конъюнкция не ортогональная
конъюнкция всех сомножителей, входящих
в
и
,
а
- конъюнкция остальных сомножителе из
;
при
.
ДНФ
поглощает
тогда и только тогда, когда
(12)
Доказательство.
Пусть выполнено условие (12) и
Тогда существует набор значений
переменных
,
такой, что
а потому и
С другой стороны, по условию (12)
а потому
для некоторого
.
Пусть, например,
Тогда
и, следовательно,
Получим противоречие.
Обратно,
пусть
и условие (12) не выполнено. Тогда для
некоторого набора
,
.
Так как
то в
не может входить отрицание какого-либо
сомножителя из
.
Следовательно, в
,
а потому и в ДНФ
входят лишь переменные, не входящие в
.
Пусть, например, в
входят переменные
а в
Тогда
при
любых значениях
Так как
не ортогональна
,
то
а потому для некоторых
имеем
Таким образом, при
:
что
противоречит условию. При
условие (12) тривиально.
Пример. Используя критерий поглощения, найти МДНФ для функции предыдущего примера.
Сокращенная ДНФ нашей функции имеет вид:
(13)
Выясним,
какие из конъюнкций этой ДНФ не поглощаются
дизъюнкцией остальных. Рассмотрим
конъюнкцию
Она не ортогональна лишь конъюнкциям
которые не
поглощают ее, поскольку не выполняется условие (12):
Аналогично
не поглощается остальными и
Далее убеждаемся, что в (13) каждая из
конъюнкций
поглощается остальными и в ДНФ
каждая
из конъюнкций
поглощается остальными. Удаляя конъюнкции,
поглощаемые остальными, получаем 4
ДНФ:
в
этих ДНФ ни одна из конъюнкций не
поглощается остальными, а потому это
суть все тупиковые ДНФ функции
.
А так как они имеют одну и ту же длину,
то все являются минимальными.
В
заключение этого параграфа мы укажем
еще один метод нахождения МДНФ из
сокращенной ДНФ – метод Квайна. Рассмотрим
его на предыдущем примере. Составим
таблицу 1, у которой во входную строку
входят все конъюнкции совершенной ДНФ
функции
,
а во второй столбец – все конъюнкции
из сокращенной ДНФ.
ТАБЛИЦА 1.
|
1111 |
1110 |
1101 |
1100 |
1001 |
1000 |
0110 |
0011 |
0010 |
0000 |
0111 |
|
|
|
|
|
|
|
|
|
+ |
+ |
|
|
+ |
+ |
+ |
+ |
|
|
|
|
|
|
|
|
+ |
+ |
|
|
|
|
+ |
|
|
|
+ |
|
|
|
+ |
+ |
+ |
+ |
|
|
|
|
|
|
|
|
|
|
|
|
+ |
+ |
+ |
|
+ |
|
|
|
|
|
|
+ |
|
|
|
+ |
|
На
пересечении строки с конъюнкцией
,
со столбцом с конъюнкцией
ставим
знак “+” в том и только том случае, когда
поглощает
,
т. е. является частью
.
Далее, глядя на таблицу, мы должны выбрать
из сокращенной ДНФ минимальное число
конъюнкций, которые бы поглощали все
конъюнкции совершенной ДНФ. В нашем
случае мы замечаем, что конъюнкция
поглощается только конъюнкцией
.
Значит,
должна входить в любую тупиковую ДНФ
функции
.
По тем же соображениям в любую тупиковую
ДНФ входят
.
С другой стороны, из таблицы видно, что
для поглощения
всех
элементарных конъюнкций совершенной
ДНФ функции
нужно взять из сокращенной ДНФ конъюнкции
,
или
или
или
,
В итоге мы приходим к указанным выше
четырем минимальным ДНФ функции
.