BAДискретная математика

Содержание

Глава 3. БУЛЕВЫ ФУНКЦИИ

§ 1. Основные булевы функции

§ 2. Формулы

§ 3. Упрощения в записях формул

§ 4. Равносильность формул

§ 5. Важнейшие пары равносильных формул

§ 6. Зависимости между булевыми функциями

§ 7. Свойства операций штрих Шеффера, стрелка Пирса и сложения по модулю два

§ 8. Элементарные суммы и произведения. Конституенты нуля и единицы

§ 9. Дизъюнктивные и конъюнктивные нормальные формы

§ 10. Представление произвольной булевой функции в виде формул

§ 11. Совершенные нормальные формы

§ 12. Полином Жегалкина

§ 13. Сокращенные дизъюнктивные нормальные формы

§ 14. Метод Квайна получения сокращенной д.н.ф

§ 15. Тупиковые и минимальные д.н.ф

§ 16. Метод импликантных матриц

§ 17. Минимальные конъюнктивные нормальные формы

§ 18. Полнота систем функций. Теорема Поста

§ 19. Приложение булевых функций к анализу и синтезу контактных (переключательных) схем

§ 20. Приложение булевых функций к анализу и синтезу схем из функциональных элементов

§ 21. Функциональная декомпозиция

Глава 4. ЭЛЕМЕНТЫ КОМБИНАТОРИКИ

§ 1. Правило суммы для конечных множеств

§ 2. Правило произведения для конечных множеств

§ 3. Выборки и упорядочения

§ 4. Биномиальная теорема

§ 5. Число возможных разбиений конечного множества Полиномиальная теорема

§ 6. Метод включения и исключения

§ 7. Задача о беспорядках и встречах

§ 8. Системы различных представителей

Литература

§ 11. Совершенные нормальные формы

Правая часть разложения (3.18) называется совершенной дизъюнктивной нормальной формой (с.д.н.ф.) для f, т.е. с.д.н.ф. это представление функции f в виде:

Очевидно, что с.д.н.ф. функции f(x1, x2,…, xn) это д.н.ф. этой функции, удовлетворяющая следующим условиям:

- нет одинаковых слагаемых;

- в каждое слагаемое входят все переменные x1,x2,…,xn один и только один раз (и только они) с отрицанием либо без отрицания.

С.д.н.ф. для функции f можно построить по таблице истинности этой функции. Для этого выбираем строки, где функция f равна 1; пусть это будут строки k1,k2,…,km. Для каждой выбранной строки ki, 1≤ i ≤ m, строим конституенту единицы Ki следующим образом. Если в выбранной строке ki переменная xj принимает значение 1, то в Ki она входит без отрицания, если же xj=0, то в Ki она входит с отрицанием. Дизъюнкция построенных конституент единицы и будет с.д.н.ф.

Конституенты единицы, построенные для строк, где функция f равна 1, называются собственными конституентами единицы функции f.

Рассмотрим пример на построение с.д.н.ф.

Пример. Пусть функция f(x,y,z) равна нулю тогда и только тогда, когда принимает значение нуль один и только один из аргументов функции. Найти с.д.н.ф. для f(x,y,z).

Решение. Составим таблицу истинности, исходя из задания функции.

Выберем строки, где f принимает значение 1, т.е. строки с номерами: 1,2,3,5 и 8. Для первой строки конституента единицы представляется в виде конъюнкции ¬x&¬y&¬z, для второй - ¬x&¬y& z. Построив таким образом собственные конституенты единицы данной функции, получим с.д.н.ф.:

$¬ x\&¬ y\&¬ z∨¬ x\&¬ y\& z∨¬ x\&y\&¬ z∨x\&¬ y\&¬ z∨x\&y\&z.$

Второй метод нахождения с.д.н.ф. – метод равносильных преобразований. Он применяется, когда булева функция задана в виде формулы и состоит в следующем. Для заданной формулы А находим д.н.ф. (которая всегда существует) и пусть д.н.ф. равна:

$D_1∨D_2∨…∨D_m (m ≥ 1),$

где Di (1≤ i≤m) – элементарное произведение. Построенная д.н.ф. может удовлетворять указанным условиям, тогда это с.д.н.ф.

Если в некоторое Di входит хотя бы одна переменная вместе с ее отрицанием, то Di – противоречие и из д.н.ф. Di можно исключить. Если при такой процедуре нужно отбросить все слагаемые из д.н.ф., то А – противоречие и с.д.н.ф. не существует.

Если в некоторое Di не входит одна из переменных xj формулы А, то заменяем Di на равносильную:

$(D_i\& x_j)∨( D_i\&¬x_j)$

Таким образом, добиваемся, чтобы каждое слагаемое содержало все аргументы формулы А.

Если в полученной форме окажутся одинаковые слагаемые, то оставляем только одно из них. В результате получим с.д.н.ф.

Правая часть разложения (3.20):

называется совершенной конъюнктивной нормальной формой (с.к.н.ф.) для f.

Очевидно, что совершенная к.н.ф. (с.к.н.ф.) определяются в терминах, двойственных к с.д.н.ф.

С.к.н.ф. функции f(x1,x2,…,xn), очевидно, является к.н.ф. этой функции, удовлетворяющая следующим условиям:

-нет одинаковых множителей;

-в каждый множитель входят все переменные x1,x2,…,xn один и только один раз (и только они) с отрицанием, либо без отрицания.

С.к.н.ф. для функции f можно построить по таблице истинности этой функции. Для этого выбираем строки, где f=0. Для каждой строки, где f=0, строим конституенту нуля K0 следующим образом. Если в выбранной строке переменная xj принимает значение 1, то в K0 она входит с отрицанием, если xj=0, то xj входит в K0 без отрицания. Конъюнкция построенных конституент нуля и будет с.к.н.ф.

Пример. Для функции f(x,y,z) предыдущего примера найдем с.к.н.ф. Нужно выбрать строки, где f=0. Это строки с номерами: 4, 6 и 7. В результате получим с.к.н.ф.:

$(x∨¬ y∨¬ z)\&(¬ x∨ y∨¬ z)\&(¬ x∨¬ y∨z). $

Второй метод построения с.к.н.ф. – метод равносильных преобразований, который применяется, когда булева функция задана в виде формулы и состоит в следующем: находим к.н.ф., затем добиваемся выполнения требуемых условий, вводя недостающие переменные согласно равносильности В∼(В∨x)&(В∨¬ x). При этом может оказаться, что исходная формула А тавтология и с.к.н.ф. не существует.