- •Методические материалы к изучению курса «Дискретная математика»
- •Часть IV. Булевы функции
- •Содержание
- •§1. Высказывания и операции над ними.
- •§2. Формулы алгебры логики. Таблицы истинности.
- •§3. Логическое следование и равносильность формул. Связь с булевыми алгебрами.
- •§4. Нормальные формы. Двойственность.
- •4.1. Дизъюнктивная нормальная форма. Совершенная дизъюнктивная нормальная форма.
- •4.2. Конъюнктивная нормальная форма. Совершенная конъюнктивная нормальная форма.
- •§5. Булевы функции и основные их классы. Полином Жегалкина.
- •5.1. Понятие булевой функции и способы её задания.
- •5.3. Полином Жегалкина.
- •5.4. Функциональная полнота.
- •§6. Минимизация булевых функций.
- •6.2. Сокращённая днф. Метод Квайна.
- •§7. Применение к релейно-контактным схемам.
- •Варианты индивидуальных заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 21
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
- •Вариант 27
- •Вариант 28
- •Вариант 29
- •Вариант 30
- •Образец выполнения индивидуального задания
- •Литература
4.2. Конъюнктивная нормальная форма. Совершенная конъюнктивная нормальная форма.
Определение 5. Дизъюнкция
(4.2)
называется элементарной дизъюнкцией или дизъюнктом.
Как и в случае конъюнктов, существует 2n различных элементарных дизюъюнкций от n переменных. При этом значение элементарной дизюъюнкции вида (4.2) равно 0 тогда и только тогда, когда xi=1i для всех i=1, 2, …, n.
Конъюнкция вида (4.1) называется также конституентой нуля.
Определение 6. Конъюнктивной нормальной формой формулы А (КНФА) называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций.
Пример 4.2. Для формулы А=(у) имеем, например, КНФА~ху.
Как и в случае ДНФ, КНФ формулы неединствен. Их можно составить сколько угодно. К КНФ формулы можно прийти по следующему алгоритму:
I шаг: Приведение операций |, , , , к операциям &, или их отрицаниям:
1. Если в формуле участвуют операции |, , и , то от них с помощью операции отрицания переходим к отрицанию соответственно конъюнкций, дизъюнкций или эквиваленций.
2. Если в формуле участвует операция , то от неё с помощью закона т) упражнения 3.2 переходим к операции .
3. Если в формуле участвует операция , то от неё с помощью закона п) упражнения 3.2 преходим к операции .
II шаг. Отнесение отрицаний к пропозициональным переменным.
4. Если в формуле участвуют отрицания конъюнкций или дизъюнкций, то с помощью законов де Моргана отрицания приводим к пропозициональным переменным.
5. Если в формуле участвует двойное отрицание, то с помощью закона снятия двойного отрицания они убираются.
III шаг. Получение КНФ.
С помощью свойства дистрибутивности относительно & все подформулы вида A(B1&B2&…&Bk) приводим к подформулам вида (AB1)&(AB2)&…&(ABk) до тех пор, пока не получим конъюнкцию элементарных дизъюнкций.
Таким образом, мы доказали, что любая формула эквивалентна некоторой КНФ.
Очевидно, А&А&…&А~А, и поэтому в КНФ элементарная дизъюнкция может повторяться сколько угодно раз. В результате мы приходим к тому, КНФ формулы можно построить сколько угодно.
Потребуем, чтобы КНФ удовлетворяла следующим четырём свойствам совершенства:
1. Каждый дизъюнкт КНФ формулы содержит все переменные или их отрицания, входящие в формулу.
2. Все дизъюнкты, входящие в КНФ, различны.
3. Ни один дизъюнкт, из которых состоит КНФ, не содержит одновременно переменную и её отрицание.
4. Ни один дизъюнкт не содержит одну же литеру два и более раз.
Определение 7. КНФ формулы, удовлетворяющей всем условиям совершенства, называется совершенной конъюнктивной нормальной формой данной формулы (СКНФ).
Для того, чтобы получить СКНФ формулы А, достаточно сначала формулу привести к КНФА, а затем применить к полученной КНФ эквивалентные преобразования следующих видов, позволяющие последовательно получать эквивалентную КНФА, удовлетворяющие всем условиям совершенства:
1. Если в КНФА какой-либо дизъюнкт В не содержит переменную хi или её отрицание, то используя равносильности B~В(хi&)~ ~(Вхi)&(B), дизъюнктВ заменяем на два дизъюнкта (Вхi) и (B), каждая из которых содержитхi или её отрицание .
2. Если в КНФА входят два или более одинаковых дизъюнкта B, то лишние отбрасываем, пользуясь равносильностью B&B&…&B~B.
3. Если некоторый дизъюнкт В, входящий в КНФА, содержит переменную хi и её отрицание , тоВ~1, и в силу эквивалентности C&1~C, В исключаем из КНФА.
4. Если некоторый дизъюнкт, входящий в КНФА, содержит одну и ту же литеру дважды или более, то, пользуясь равносильностью…~, лишние отбрасываем.
Упражнение 4.3.С помощью эквивалентных преобразований привести формулы упражнения 3.4 к СКНФ.
Решение. з) Приведём формулу к КНФ:
(x|)(z)()(z)(x&)
(x&)(x&)
(x&)(x&)
(x&)((x&))
(x&()))(x&((у)&)))
(x&))(xz)&&&
(xz)&&
Получили КНФ формулы. Теперь преобразуем КНФ по алгоритму получения всех условий совершенства:
(xyz)&(xz)&(x)&&
(xyz)&(xz)&(xz)&(x)&&&
(xyz)&(xz)&(x)&&
(1) Одновременно заменили | на отрицание операции &,и на отрицание.
(2) Одновременно применили закон двойного отрицания и заменили наи его отрицание.
(3) Операцию заменили на.
(4) Применили закон де Моргана.
(5) Заменили на.
(6), (7) Одновременно применили законы де Моргана и снятия двойного отрицания.
(8) Воспользовались ассоциативностью и коммутативностью .
(9) 1-й и 2-й конъюнкты объединили в один с помощью дистрибутивности & относительно .
(10) К подформуле применили закон дистрибутивности.
(11) Воспользовались тем, что у~1.
(12) Применили сложную дизъюнкцию относительно .
(13) Применили законы исключённого третьего и идемпотентности.
(14) В 1-й и 2-й дизъюнкты добавили недостающие литеры и разбили их по два дизъюнкта каждую (1-я операция приведения к СКНФ).
(15) Операцию, аналогичную (14) проделали с 3-м и 4-м дизъюнктами.
(16) Опустили лишние дизъюнкты.
СДНФ формулы существует и единственна.
Существование СКНФ для любой формулы вытекает из алгоритма её построения.
Другой способ построения СКНФА основывается на следующей эквиваленции:
A(х1, х2, …, хn)~.
Другими словами, формула A(х1, х2, …, хn) в своей СДНФ содержит те и только те конъюнкты вида (4.2), значения которых равны 0 при xi=1i для всех i=1, 2, …, n. Например, для формулы А=(у), состоящей из двух переменных, можно составить всевозможные конъюнкты ху, х, у и . Из них значение 0 принимают только при наборе (х, у)=(0, 0), (что можно проверить, непосредственно составив таблицу истинности). Поэтому, СКНФА~ху.
Таким образом, СКНФA(х1, х2, …, хn)=. Поэтому для нахождения СКНФ формулы достаточно: 1) построить её таблицу истинности; 2) выбрать те наборы значений переменных (которые входят в формулу), при которых формула принимает значение 0; 3) составить соответствующие им дизъюнкты и 4) составить из них КНФ.
Упражнение 4.4.С помощью таблиц истинности привести формулы упражнения 3.4 к СКНФ.
Решение. д). 1. Составим таблицу истинности формулы (она у нас уже составлена, см. решение задачи д) упражнения 4.2):
2. Выберем те наборы значений переменных, при которых формула принимает значение 0: (0, 0, 1), (0, 1, 1).
3. Составим соответствующие им дизъюнкты: xy,x.
4. Составим из них КНФ: (xy)&(x).
Ответ: д) СКНФA=(xy)&(x).
4.3. Принцип двойственности. Операция & называется двойственной к , двойственной к &. Пусть формула А содержит только операции конъюнкции, дизъюнкции и отрицания.
Определение 8. Формула A* называется двойственной к А, если A* получается из A заменой в ней каждой операции на двойственную.
Очевидно, если A* двойственна к A, то A двойственна к A*. Поэтому говорят о взаимно двойственных формулах.
Очевидно также, что если формулы А и В равносильны, то равносильны и двойственные им А* и В*. Кроме того, если A*(х1, х2, …, хп) двойственна к A(х1, х2, …, хп), то ~A*(х1, х2, …, хп). Отсюда следует, что таблица истинности формулы A*, двойственной к А, получается из таблицы истинности А заменой всех 0 на 1 и всех 1 на 0.
Определение 9. Формула А называется самодвойственной, если A*~A.
Из определения следует, что формула A самодвойственна, если при замене 0 на 1, и 1 на 0 её таблица истинности не меняется (естественно, меняются между собой только строки). Очевидно, формула самодвойственна тогда и только тогда, когда на всех противоположных значениях переменных формула принимает противоположные значения.