Двойственность. Класс самодвойственных функций.
Лекция 2
Пусть формула А содержит только операции конъюнкции, дизъюнкции и отрицания.
Будем называть операцию конъюнкции двойственной операции дизъюнкции, а операцию дизъюнкции
двойственной операции конъюнкции. Определение. Формулы А и А * называются двойственными, если формула А * получается из формулы А путем замены в ней каждой операции на двойственную.
Например, для формулы А º (х Úy)&z двойственной формулой будет формула А * º (х& у) Ú z.
Теорема. Если формулы А и В равносильны, то равносильны и им двойственные формулы, то есть
А* º В *.
Предварительно докажем лемму.
Лемма. Если для формулы A(x1,x2....xn) двойственной формулой является А*(x1,x2....xn), то справедлива равносильность А*(x 1,..., xn) =
(
1,...,
n).
(Доказательство леммы разбирается студентом самостоятельно см. Лихтарников «МЛ» стр. 28-29)
Пример 1. Покажем с помощью таблицы истинности, что константа 0 двойственна к 1:
| x | f | f * |
Функции f (x) = x и g (x) =
двойственны сами себе:
| x | f | f * | g | g * |
так как f *(0)=
(1).
Определение 1. Если f *(x 1,..., xn) = f (x 1,..., xn), то f (x 1,..., xn) называется самодвойственной.
Множество всех самодвойственных функций обозначается через S.
Если f *– самодвойственна, то
(
1,...,
n) = f (x 1,..., xn), т.е. на противоположных наборах функция принимает противоположные значения.
Пример 1. Покажем, что функция х 1Ú х 2 двойственна к x 1& x 2, функция х 1
х 2 двойственна к функции x 1| x 2.
| x 1 | x 2 | f = х 1Ú х 2 | f * | g = x 1| x 2 | g *= x 1 x 2 |
Пример 2. Построить формулу, реализующую f *, если f = ((x
y) Ú z) (y 
(xÅyz)). Покажем, что она эквивалентна формуле N = z (x Å y).
Найдем (x Å y)* и (x
y)*.
| x | y | xÅy | (x Å y)* | x y | (x y)* |
Из таблиц видно, что
(x
y)* = x ~ y =
= x
y
1, x
y =
y
x
,
(x
y)* =
y x
y =
y.
По принципу двойственности:
f * =
yz
(
(x
(y
z)
1)) =
yz 
z (x
(y
z)
1) = z (
y Ú(
x Å
z Å
)) = z (
y Ú
(x Å z Å1)) = z (
y Ú
(x Å
)) = z
y Ú(z
x Å z 
) = z (
y Ú x
) = z (x Å y).
Тогда f = (f *)* = [ z (x Å y)]* = z Ú(x ~ y).
Обозначим множество всех функций двузначной алгебры логики Р2. Обозначим через Р2(n) число функций, зависящих от n переменных. Очевидно, Р2(n)=22 n.
Определение. Система функций { f 1, f 2,..., f s,...}Ì P 2 называется полной в Р 2, если любая функция f (x 1,..., xn) Î P 2 может быть записана в виде формулы через функции этой системы.
Примеры полных систем:
1. P 2 – полная система.
2. Система M ={ x 1& x 2, x 1Ú x 2,
} – полная система, т.к. любая функция алгебры логики может быть записана в виде формулы через эти функции.
Примерами неполных систем являются: {
}, {0,1}.
Лемма (достаточное условие полноты)
Пусть система
U = { f 1, f 2,..., fs,...} полна в Р 2. Пусть B = { g 1, g 2,..., gk,...} – некоторая система из Р 2, причем любая функция fi Î U может быть выражена формулой над B, тогда система B полна в Р 2.
Данная лемма может быть использована следующим образом:
1. Покажем, что система { x 1Ú x 2,
} – полна в P 2.
Возьмем в качестве полной в Р 2 системы U ={ x 1Ú x 2,
, x 1& x 2}, B ={ x 1Ú x 2,
}. Надо показать, что x 1& x 2 представляется формулой над B. Действительно, по правилу Де Моргана получим: x 1& x 2=
.
2. Система { x 1| x 2} полна в Р 2. Для доказательства возьмем в качестве полной в Р 2 системы U = { x 1& x 2,
} и выразим х 1& х 2 и
через х 1| x 2 :
= x 1 | x 1, x 1 & x 2 =
= (x 1| x 2)|(x 1| x 2).
3. Система { x 1
x 2} полна в Р 2. U = { x 1Ú x 2,
},
= x 1
x 1, x 1Ú x 2 =
= (x 1
x 2)
(x 1
x 2).
7. Система { x 1& x 2, x 1Å x 2, 0, 1}, U = { x 1& x 2,
},
= x 1Å1.
Следствие. Полином Жегалкина.
f (x 1,..., xn) Ì P 2, представим ее в виде формулы через конъюнкцию и сумму по модулю два, используя числа 0 и 1. Это можно сделать, так как { x 1& x 2, x 1Å x 2, 0, 1} полна в Р 2. В силу свойства x & (yÚz) = xy Ú xz можно раскрыть все скобки, привести подобные члены, и получится полином от n переменных, состоящий из членов вида х
х
... х
, соединенных знаком Å. Такой полином называется полиномом Жегалкина.
Общий вид полинома Жегалкина:
где
, s = 0, 1,..., n, причем при s = 0 получаем свободный член а 0.