- •Часть II
- •Алгебра двузначной логики
- •Функции алгебры логики
- •Способы задания функций алгебры логики
- •Эквивалентность функций
- •Реализация функций формулами
- •Эквивалентность формул и тождества
- •Упрощение формул
- •Двойственные функции и принцип двойственности
- •Применение принципа двойственности
- •Аналитическая запись функций алгебры логики
- •Аналитическое построение сднф и скнф
- •Теорема о тройке связок
- •Полные системы функций и полиномы Жегалкина
- •Замыкание систем функций алгебры логики
- •Важнейшие замкнутые классы
- •Теорема Поста о полноте
- •Минимизация булевых функций
- •Основные понятия
- •Метод неопределенных коэффициентов
- •Тупиковые днф и алгоритм наискорейшего спуска
- •Геометрическое представление функций алгебры логики
- •Аналитическое построение сокращенной днф
- •Локальные алгоритмы
- •Алгоритм Куайна
- •Диаграммы Вейча–Карно
- •Построение днф по карте Карно
- •Задачи и упражнения
- •Список литературы
- •Часть II
- •400131, Волгоград, просп. Им. В.И.Ленина, 28
- •400131, Волгоград, ул. Советская, 35
-
Аналитическое построение сднф и скнф
Под аналитическим построением будем понимать получение формулы вида СДНФ или СКНФ с помощью эквивалентных преобразований заданной формулы.
Пусть функция представлена формулой со связками {, &, }. Тогда для преобразования формулы в совершенную дизъюнктивную нормальную форму необходимо вначале представить формулу в виде – логической суммы логических произведений. Этого можно добиться с помощью законов дистрибутивности или других тождеств. Затем добавить к каждой элементарной конъюнкции (каждому логическому произведению переменных) единичные множители, составленные по закону исключенного третьего из символов тех переменных, которых недостает в данной конъюнкции до полного набора переменных, и далее выполнить преобразования, раскрывая скобки и приводя «подобные члены» по закону идемпотентности.
Например, f(x,y,z)=. Первое слагаемое в формуле преобразуем по закону Де Моргана, во втором слагаемом раскроем скобки с помощью закона дистрибутивности и поменяем местами сомножители, используя закон коммутативности. Тогда f(x,y,z)= – это выражение имеет требуемую форму: логическая сумма логических произведений переменных или их отрицаний, такая форма называется также дизъюнктивной нормальной формой (ДНФ). Теперь к каждой элементарной конъюнкции в ДНФ добавим единичный множитель: к первой –, ко второй – и к третьей . Получим:
f(x,y,z)==
=. Теперь приведем «подобные члены»: . Полученное выражение и есть СДНФ данной функции.
Для представления функции в виде совершенной конъюнктивной нормальной формы необходимо вначале представить её в виде произвольной конъюнктивной нормальной формы (КНФ) – это выражение вида (логическое произведение логических сумм переменных или их отрицаний, или конъюнкция элементарных дизъюнкций). Этого можно добиться с помощью приведенных выше законов. Затем в каждую элементарную дизъюнкцию добавить нулевые слагаемые, составленные по закону противоречия из недостающих ей до полного набора переменных. Далее выполнить преобразования, применяя законы дистрибутивности, коммутативности и идемпотентности.
Например, . Приведем к виду КНФ:
f(x,y,z)=. В этом выражении 4 элементарных дизъюнкции, причем в первой из них не хватает до полного набора переменных y и z, во второй – переменной z, в третьей – х и в четвертой – у. Добавим их в виде нулевых слагаемых, пользуясь законом противоречия. Тогда f(x,y,z)==
=
. Теперь воспользуемся законами идемпотентности и коммутативности и получим СКНФ(f(x,y,z))=
=
-
Теорема о тройке связок
-
Всякая истинностная функция может быть выражена формулой, содержащей только связки {, &, }.
-
Доказательство:
Рассмотрим два случая:
(1) если f(х1,х2,…,хn)0
– противоречие. Тогда очевидно,
f(х1,х2,…,хn)=,
если f(х1,х2,…,хn)1
– тавтология, то f(х1,х2,…,хn)=,
(2) если f(х1,х2,…,хn)0
(и 1).
Представим её в виде СДНФ или СКНФ.
Тогда в полученной формуле имеются
только связки из множества {, &, }.
Следствие 1: о парах связок
Для любой из следующих пар связок {Ø,&}, {Ø,Ú} и {Ø,®} и для любой функции алгебры логики можно построить формулу, реализующую эту функцию и содержащую связки только из заданной пары.
Доказательство:
Пусть для функции построена совершенная дизъюнктивная (или конъюнктивная) нормальная форма, т.е. формула, содержащая только связки {Ø,&,Ú}. Заметим, что выражение , является тождеством. Поэтому все выражения вида хÚу можно заменить эквивалентными и содержащими только связки {Ø,&}. Тем самым, полученная в результате проведенных преобразований формула, содержит только связки из заданной пары.
Для представления функции формулой со связками {Ø,Ú} аналогичным образом можно воспользоваться тождеством . И, выполнив замены всех подформул вида х&у на эквивалентную формулу , получить в результате формулу со связками из заданной пары.
Для перехода в формуле к последней паре связок {Ø,®} можно воспользоваться тождествами: и
Следствие 2: об уникальных связках
Любая истинностная функция может быть выражена формулой с использованием лишь одной связки стрелки Пирса – {¯}или штриха Шеффера – {½}.
Доказательство:
x |
у |
x¯у |
x½у |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
Таблица 16 |
|
СКНФ(x½у)=
Нетрудно также проверить, что имеют место следующие тождества: и .
Тем самым, х & y = = (x¯x) ¯ (у¯у) и х y = = (xx) (уу). Последние тождества можно использовать для перехода в формуле от связок {Ø,&,Ú} к стрелке Пирса или к штриху Шеффера.
Вообще говоря, связки ¯ и являются единственными элементарными функциями, каждой из которых достаточно для записи формул всех других истинностных функций.
Рассмотрим применение следствий 1 и 2 на примере.
Запишем формулу ху с использованием только связок {Ø,&}: ху =. С использованием связок {Ø,Ú}: ху =. С использованием только {¯}: ху = ((х¯х) ¯ у) ¯ ((х¯х) ¯ у). И, наконец, с использованием только {}: ху = (x (уу)).