 
        
        lec06
.pdf 
Кафедра Прикладной математики Института информационных технологий РТУ МИРЭА
Дисциплина
«Математическая логика и теория алгоритмов»
2022-2023 уч.г.
Наполнение курса
 Объем курса
16 лекционных и 8 практических занятий
 Темы лекционных занятий
1.Элементы теории множеств. Булева алгебра
2.Булевы вектора и булевы функции
3.ДНФ, СДНФ, КНФ, СКНФ
4.Минимизация ДНФ
5.Метод Карно и метод Квайна
6.Двойственные функции
7.Функциональная полнота. Полные классы. Алгебра Жегалкина.
8.Замкнутые классы функций: монотонные, самодвойственные, сохраняющие const.
9.Теорема Поста
10.Исчисление высказываний
11.Исчисление предикатов. Основные положения. Кванторы
12.Нормальные формы. Доказательства
13.Конечные автоматы
14.Соединения и синтез автоматов
15.Машина Тьюринга
16.ЧРФ и НАМ
2
 
Лекция 6.
Двойственность булевых функций.
6.1.Двойственные БФ.
6.2.Двойственность и СНФ.
6.3.Приложения алгебры логики.
 
Часть 1.
Двойственные БФ.
 
Двойственные БФ.
(x1,x2, … xi, … xn) – произвольная булева функция.
Двойственной к функции называется булева функция
| (x | , x | , … x | , … x | ) ( , | , … , … ), (6.1) | |
| 1 | 2 | i | n | 1 2 | 
 | 
 | 
если она получена из (x1,x2, … xi, … xn) инверсией всех аргументов xi и самой функции .
5
 
Пример 6.1. Нахождение двойственной БФ – .
(x1,x2) = x1 x2; g(x1,x2) = x1 x2.
Найти двойственные *, g* к функциям и g. Находим * формально по ТИ:
| x1 | x2 | x1 | x2 | x1 | x2 | x1 | x2 | 
| 
 | 
 | 
 | 
 | ||||
| 0 | 0 | 
 | 0 | 0 | 0 | 
 | 0 | 
| 0 | 1 | 
 | 1 | 0 | 1 | 
 | 0 | 
| 1 | 0 | 
 | 1 | 1 | 0 | 
 | 0 | 
| 1 | 1 | 
 | 1 | 1 | 1 | 
 | 1 | 
| x | x | x | ? x | 
 | 
 | x | x | x | x | 
 | 
| 11 | 12 | 1 | 1 | 2 | ≡ ? | 01 | 02 | 1 | 0 | 2 | 
| 1 | 0 | 
 | 0 | 
 | 0 | 1 | 
 | 0 | 
 | |
| 0 | 1 | 
 | 0 | 
 | 
 | 1 | 0 | 
 | 0 | 
 | 
| 0 | 0 | 
 | 0 | 
 | 
 | 1 | 1 | 
 | 1 | 
 | 
| Тождественна с точностью до перестановки строк в ТИ | 6 | 
| 
 | 
 
Пример 6.1. Нахождение двойственной БФ – . (продолжение)
(x1,x2) = x1 x2; g(x1,x2) = x1 x2.
Проверим подстановкой по определению *:
*(x1,x2) = 1 2 = 1 2 = x1 x2; g*(x1,x2) = 1 2 = 1 2 = x1 v x2;
7
 
Формула F* называется двойственной формуле F, если она получена из F заменой символов функций на символы двойственных им функций.
Пример 6.2.
Построим функцию, двойственную стрелке Пирса.
| x1 | x2 | x1 | x2 | 1 2 1 2 | *(x1, x2) = 1 2 | x1 | | x2 | |||
| 0 | 0 | 
 | 1 | 1 | 1 | 0 | 1 | 
 | 1 | 
 | 
| 0 | 1 | 
 | 0 | 1 | 0 | 0 | 1 | 
 | 1 | ? | 
| 
 | 
 | 
 | 
 | ≡ | ||||||
| 1 | 0 | 
 | 0 | 0 | 1 | 0 | 1 | 
 | 1 | |
| 1 | 1 | 
 | 0 | 0 | 0 | 1 | 0 | 
 | 0 | 
 | 
8
 
Пример 6.3. Нахождение функции, двойственной .
Построим функцию, двойственную .
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| x | x | x x | 
 | 
 | 
 | 
 | *(x , x | ) = | x x | 
 | |||||||
| 1 | 2 | 1 | 
 | 2 | 1 | 2 | 
 | 1 | 2 | 1 | 2 | 
 | 1 | 2 | 1 | 
 | 2 | 
| 
 | 1 | 1 | 
 | 0 | 
 | 
 | 1 | 
 | 
 | 1 | |||||||
| 0 | 0 | 
 | 0 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| 0 | 1 | 
 | 1 | 
 | 1 | 0 | 
 | 
 | 1 | 
 | 
 | 0 | 
 | 
 | 
 | 0 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ≡ ? | 
 | |
| 1 | 0 | 
 | 1 | 
 | 0 | 1 | 
 | 
 | 1 | 
 | 
 | 0 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 0 | 
 | |||||||
| 1 | 1 | 
 | 0 | 
 | 0 | 0 | 
 | 
 | 0 | 
 | 
 | 1 | 
 | 
 | 
 | 1 | 
 | 
9
 
Теорема. Принцип двойственности.
Теорема 6.1.
Пусть F(x1, … xn) является суперпозицией (x1, … xn) и набора БФ
G = { g1(x1, … xn), …, gn(x1, … xn) }, т.е.
F(x1, … xn) = (g1(x1, … xn), …, gn(x1, … xn)).
Тогда двойственной для нее есть:
F*(x1, … xn) = *( 1(x1, … xn), …, (x1, … xn)).
В интерпретации формул: если формула F задает булеву функцию (x1, … xn), то двойственная ей формула F задает двойственную функцию f (x1, … xn)
Доказательство:
[ (g1(x1, … xn), …, gn(x1, … xn))]* =
=( 1( 1, … ), …, ( 1, …
=*( 1(x1, … xn), …, (x1, … xn)).
(g1( 1, … ), …, gn( 1, … )) = )) = ( 1(x1, … xn), …, (x1, … xn)) =
10
