Книги и конспекты / Шпоры / 20
.pdfПолнота. Теорема о полноте. Примеры полных систем. Теорема Жегалкина
Рассмотрим множество всех булевых функций P2, их количество 22^n.
Определение (полнота): Система f: {f1 ,…, fk} содержащаяся в P2 называется функционально полной, если любая функция из P2 может быть представлена как суперпозиция этих функций (x1 , , x1 V x2 , x1 & x2) (может быть записана в виде формулы через функции этой системы).
Теорема (о полноте): Если система A — полная, и любая функция системы A может быть выражена формулой через функции системы B, то B — также полная система.
> Рассмотрим произвольную функцию алгебры логики f (x1, …, xn) и две
системы функций: A = {g1, g2, …} и B = {h1, h2, …} из P2. В силу того, что система A полна, функция f может быть выражена в виде формулы над ней: f (x1, …, xn) = C [g1, g2, …], где gi = Ri [h1, h2, …], т. е. функция f представляется в виде:
f (x1, …, xn) = С [R1, R2, … ], иначе говоря может быть выражена через функции системы B. Перебирая таким образом все функции алгебры логики получаем, что система B также полна. <
Примеры полных систем:
1) x V y, x
> Система A {x V y, x&y, x } полна, т.к если функция алгебры логики f тождественна от нуля, то f выражается в
СДНФ, в которую входят лишь конъюнкция, дизъюнкция и отрицание. Если же f тождественна равна нулю, то f =
x & x.
Покажем, что B= x V y, x полна: из закона Де-Моргана x & y = x V y . Получаем, что x & y = x V y ,
т.е конъюнкция выражается через дизъюнкцию и отрицание. Все функции системы А выражаются через B. (согласно теореме о полноте)<
2) {x & y, x }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> x V y |
= |
|
x & y x V y = x * |
|
y |
и из теоремы о полноте следует истинность этого пункта <. |
||||||||||||||||||||
3) {x / y} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> x/x = |
x |
, x&y= x/y = (x/y)/(x/y) = |
x/y |
& x/y = x & y = x & y и согласно теореме о полноте. < |
Теорема (Жегалкина):
Каждая функция из P2 может быть выражена при помощи полинома по mod 2:
>Доказательство теоремы сводится к подсчету числа полиномов Жегалкина от переменных x1, x2, ..., xn. Если их число окажется равным числу функций из P2, то теорема
будет доказана. Действительно, с одной стороны, если f P2, f= (x1, …, xn), то всего наборов (d1, … ,dn) значений переменных (x1, …, xn) столько, сколько функций функций из множества X = (x1, … , xn) в множество 2 = {0, 1}, Т.е
| 2 x| =| 2 ||x|=2n.
Каждой функции f P2 можно сопоставить во взаимно-однозначное соответствие набор из 2n компонент значений функции f. Таким образом, всего функций алгебры логики столько, сколько функций из множества
Y= 2 X в множество 2 , т. е. | 2 y| =| 2 ||y|=22^n.
С другой стороны, количество слагаемых у полинома Жегалкина столько, сколько подмножеств (i1, i2, ..., is) в множестве (1, . . . , n). Каждому набору (i1, ..., is) поставим в соответствие набор (d1, … ,dn)s , содержащий s единиц на местах i1, ...is, s=1…n. Тогда подмножеств (i1, ..., is) (1, ..., n) столько, сколько наборов (d1, … ,dn) из нулей и
единиц. А их столько, сколько функций из множества X, содержащего n элементов в множество 2 = {0, 1}, т.е
| 2 x| =| 2 ||x|=2n . Каждому полиному можно поставить в соответствие
набор из 2n компонент — коэффициентов полинома. Всего полиномов столько, сколько функций из множества Y
= 2 X в множество 2 , т.е | 2 y| =| 2 ||y|=22^n. QED <