lec03
.pdfКафедра Прикладной математики Института информационных технологий РТУ МИРЭА
Дисциплина
«Математическая логика и теория алгоритмов»
2022-2023 уч.г.
Наполнение курса
Объем курса
16 лекционных и 8 практических занятий
Темы лекционных занятий
1.Элементы теории множеств. Булева алгебра
2.Булевы вектора и булевы функции
3.ДНФ, СДНФ, КНФ, СКНФ
4.Минимизация ДНФ
5.Метод Карно и метод Квайна
6.Двойственные функции
7.Функциональная полнота. Полные классы. Алгебра Жегалкина.
8.Замкнутые классы функций: монотонные, самодвойственные, сохраняющие const.
9.Теорема Поста
10.Исчисление высказываний
11.Исчисление предикатов. Основные положения. Кванторы
12.Нормальные формы. Доказательства
13.Конечные автоматы
14.Соединения и синтез автоматов
15.Машина Тьюринга
16.ЧРФ и НАМ
2
Лекция 3.
Нормальные формы булевых функций.
3.1.ДНФ, КНФ.
3.2.СДНФ.
Часть 1.
ДНФ, КНФ.
Нормальные формы.
Нормальные формы - это особый класс аналитических выражений, используемых при решении задачи минимизации булевых функций и для перехода от табличной формы задания к аналитической. Нормальные формы строятся на основании операций конъюнкции, дизъюнкции и отрицания.
Введем обозначение.
σ |
, |
если σ = 1; = 1 |
(3.1) |
|
, |
если σ = 0; = 0 |
|
00 = 1; 01 = 0; 10 = 0; 11 = 1.
σ – литерал, т.е. переменная или ее отрицание.
5
Нормальные формы. Определения.
Элементарной конъюнкцией (конъюнктом) называется логическое произведение каких-либо из этих переменных или их отрицаний, причем каждая переменная входит не более одного раза.
σ1 |
σ2 |
σ = σ1 |
σ2 |
… σ |
|
|
|
|
|
|
|
1 |
2 |
|
1 |
2 |
|
Аналогично: элементарная дизъюнкция (дизъюнкт) - логическое сложение каких-либо из этих переменных или их отрицаний, причем каждая переменная входит не более одного раза.
σ1 |
σ2 |
σ |
|
|
|
1 |
2 |
|
6
Элементарная конъюнкция (или дизъюнкция) называется правильной, если все входящие в нее переменные различны.
Элементарная конъюнкция (или дизъюнкция) называется полной относительно набора переменных (x1, x2, … xn), если она правильна и в нее входят литералы всех переменных.
ДНФ – любая логическая сумма (дизъюнкция) различных правильных элементарных конъюнкций.
КНФ – любое логическое произведение (конъюнкция) различных правильных элементарных дизъюнкций.
!!! Две разные по записи ДНФ (или КНФ) могут задавать одну БФ.
Пример 3.1.
|
|
D1 |
= x1; |
|
D2 |
= x1 · x2 x1 |
2 = x1 ( x2 2) = x1 I = x1; |
||
|
|
D1 |
= D2. |
7 |
|
|
|
|
Совершенная ДНФ (СДНФ) – такая ДНФ, слагаемые которой являются полными конъюнкциями относительно набора переменных (x1, x2, … xn).
Аналогично: совершенная КНФ (СКНФ) – такая КНФ, слагаемые которой являются полными дизъюнкциями относительно набора переменных (x1, x2, … xn).
8
Теорема о существовании КНФ и ДНФ для любой БФ.
Теорема 3.1. Для любой БФ существуют выражающие её КНФ и ДНФ.
Доказательство: конструктивно.
Укажем способ построения этих нормальных форм БФ. 1) Строим ДНФ.
Каждому набору значений, на котором функция истинна, мы сопоставим конъюнкт. Если переменная в этом наборе истинна, то в конъюнкт будет включена она сама, а если ложна, то будет включено её отрицание. Итоговая ДНФ будет дизъюнкцией всех таких конъюнктов. Формальная запись:
= |
|
σ |
(3.2) |
|
|
||
(σ1…σ )=1 |
=1 |
|
|
9
Доказательство теоремы 3.1. Продолжение.
В (3.2) - σ обозначает xi, если σi = 1 и , если σi = 0 (в соответствии с выражением 3.1). Всего число конъюнктов до 2n.
Конъюнкт |
σ истинен на наборе (σ |
, … σ |
) и ложен на всех |
|
=1 |
|
1 |
n |
|
остальных. (Если σ тоже понимать как переменную, то с xσ это эквиваленция, т.к. справедливо xσ=1 x=σ). Дизъюнкция же таких конъюнктов будет истинна только на тех наборах, которым соответствует один из конъюнктов, т.е. только на тех наборах, на которых функция равна 1. Значит, ДНФ φ представляет функцию f.
Ограничение. Вся конструкция работает кроме случая, когда f ≡ 0, иначе получится пустая внешняя дизъюнкция. (Однако даже в этом случае можно
искусственно представить f как x ).
10