2.5. Полнота, примеры полных систем

Определение. Система функций {F1, F2, ..., FS, ...}ÌP2 называется полной в Р2, если любая функция F(X1, ..., Xn) Î P2 может быть записана в виде формулы через функции этой системы.

Полные системы

1. P2 – полная система.

2. Система M={X1&X2, XX2, } – полная система, т. к. любая функция алгебры логики может быть записана в виде формулы через эти функции.

Пример 1. Неполные системы: { }, {0,1}.

Лемма (достаточное условие полноты)

Пусть система U = {F1, F2, ..., FS, ...} полна в Р2. Пусть B = {G1, G2, ..., GK, ...} – некоторая система из Р2, причем любая функция FI Î U может быть выражена формулой над B, тогда система B полна в Р2.

Доказательство. Пусть H(X1, ..., Xn) Î P2, т. к. U полна в Р2, то H(X1, ..., Xn) = =N[F1, ..., FS, ...] = N[L1[G1, ..., Gk], ..., Ls[G1, ..., Gk], ...] = U[G1, ..., Gk]. Здесь мы воспользовались тем, что для любого I N Fi может быть выражена формулой над B, поэтому FI=LI[GI, ..., GK].

3. Система {XX2, } – полна в P2.

Возьмем в качестве полной в Р2 системы U={XX2, , X1&X2}, B={XX2, }. Надо показать, что x1&X2 представляется формулой над B. Действительно, по правилу Де Моргана получим: X1&X2= .

С помощью этой леммы докажем полноту еще ряда систем.

4. Система {X1&X2, } – полна в Р2.

5. Система {X1|X2} полна в Р2. Для доказательства возьмем в качестве полной в Р2 системы U = {X1&X2, } и выразим Х1&Х2 и через Х1|X2 :

* = X1 | X1, X1 & X2 = = (X1|X2)|(X1|X2).

6. Система {X1 X2} полна в Р2. U = {XX2, }, = X1 X1, XX2 = = (X1 X2) (X1 X2).

7. Система {X1&X2, XX2, 0, 1}, U = {X1&X2, }, = X1Å1.

Следствие. Полином Жегалкина.

F(X1, ..., XN) Î P2, представим ее в виде формулы через конъюнкцию и сумму по модулю два, используя числа 0 и 1. Это можно сделать, так как {X1&X2, XX2, 0, 1} полна в Р2. В силу свойства X & (YÅZ) = Xy Å Xz можно раскрыть все скобки, привести подобные члены, и получится полином от N переменных, состоящий из членов вида Х Х ...Х , соединенных знаком Å. Такой полином называется полиномом Жегалкина.

Общий вид полинома Жегалкина:

Где , S = 0, 1, ..., N, причем при S = 0 получаем свободный член А0.

Представление функции в виде полинома Жегалкина

1. Представим любую функцию формулой над {X1&X2, } и сделаем замену =XÅ1. Этот способ удобен, если функция задана формулой.

Пример 2. (X1 (X2 X3))(X1 Ú X2) X3 = (X1 Ú X2 Ú X3)(X1 Ú X2) X3 = (`X1X2 Ú X1X3 Ú X1X2 Ú X2 Ú X2X3)X3 = (`X1X3 Ú X2)X3 = X1X3 X2 X3 = ((X1X3Å1)X2Å1)X3 = X1X2XX2XX3.

Надо помнить, что четное число одинаковых слагаемых в сумме по Mod2 дает 0.

2. Метод неопределенных коэффициентов. Он удобен, если функция задана таблицей.

Пример 3. Запишем с неопределенными коэффициентами полином Жегалкина для функции трех переменных F(X1, X2, X3) = (01101001) = А0 Å А1Х1Å Å А2Х2 Å А3Х3 Å B1X1X2 Å B2X2X3 Å B3X1X3 Å Cx1X2X3. Затем находим коэффициенты, используя значения функции на всех наборах. На наборе (0, 0, 0) F(0, 0, 0) = 0, с другой стороны, подставив этот набор в полином, получим F(0, 0, 0) = А0, отсюда А0 = 0. F(0, 0, 1) = 1, подставив набор (0, 0, 1) в полином, получим: F(0, 0, 1) = А0 Å А3, т. к. А0 = 0, отсюда А3 = 1. Аналогично, F(0, 1, 0) = 1 = А2, f(0, 1, 1) = 0 = А2 Å А3 Å B2 = B2 = 0; А1 = 1; 0 = А1 Å А3 Å B3 = B3 = 0; 0 = А1 Å А2 Å B1 = B1 = 0; 1 = 1 Å 1 Å 1 Å C; C = 0; F(X1, X2, X3) = X1 Å X2 Å X3.

3. Многочлен Жегалкина можно получить также с помощью треугольника Паскаля по единицам его левой стороны по таблице следующим образом. Построим многочлен Жегалкина для функции F = (10011110). Верхняя сторона треугольника есть функция F. Любой другой элемент треугольника есть сумма по модулю для двух соседних элементов предыдущей строки. Левая сторона треугольника для функции F содержит шесть единиц. Многочлен Жегалкина будет содержать шесть слагаемых. Первая единица треугольника соответствует набору (000). Первое слагаемое многочлена есть 1. Третья снизу единица в левой стороне треугольника соответсвует набору (101). В качестве слагаемого многочлена берем X1X3. Аналогично для других единиц треугольника. Слева от наборов показаны слагаемые многочлена Жегалкина.

 

N

X1X2X3

F

Треугольник Паскаля

1

X3

X2

X2X3

X1

X1X3

X1X2

X1X2X3

000

001

010

011

100

101

110

111

1

0

0

1

1

1

1

0

1 0 0 1 1 1 1 0

1 0 1 0 0 0 1

1 1 1 0 0 1

0 0 1 0 1

0 1 1 1

1 0 0

1 0

1

 

Тогда

Теорема Жегалкина

Каждая функция из может быть представлена в виде полинома Жегалкина единственным образом.

Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях:

, S = 0, 1, ..., N. Доказательство. Любая функция из Р2 может быть представлена формулой над {X1 & X2, XX2, 0, 1}, а эта формула после раскрытия всех скобок и приведения подобных членов дает полином Жегалкина. Докажем единственность представления. Рассмотрим функции F(X1, ..., Xn) от N переменных. Мы знаем, что всего таких функций, т. е. их таблиц истинности, 2N. Подсчитаем число различных полиномов Жегалкина от N переменных, т. е. число вариаций вида: . Число наборов равно числу всех подмножеств множества { X1, ..., Xn }, сюда входит и пустое множество (если S = 0). Число подмножеств множества из n элементов равно 2N , а так как каждый набор входит с коэффициентом , принимающим два значения: 0 или 1, то число всевозможных полиномов будет . Так как каждому полиному соответствует единственная функция, число функций от N переменных равно числу полиномов, то каждой функции будет соответствовать единственный полином.

Определение. Функция F(X1, ..., Xn), полином Жегалкина для которой имеет следующий линейный относительно переменных вид: F = А0 Å А1Х1 Å А2Х2 Å ... Å Аnхn, называется линейной.

Лемма О нелинейной функции. Суперпозицией нелинейной функции, отрицания и константы 1 можно получить конъюнкцию.

Доказательство. Пусть F(X1, ..., Xn) – нелинейная функция. Тогда полином Жегалкина содержит для нее слагаемое, в котором присутствует произведение Xixj. Будем считать для простоты, что X1X2 в многочлене Жегалкина является этим произведением. Произведя группировку слагаемых, функцию F представим в виде

Функция H0 не есть тождественный нуль, иначе в полиноме Жегалкина отсутствует слагаемое с произведением X1X2. Тогда существует набор (A3, …, AN) из 0 и 1, для которого H0(A3, …, AN) = 1. Пусть H1(A3, …, AN) = A, H2(A3, …, AN) = B, H3(A3, …, AN) = C. Тогда

Построим функцию:

где D = Ab Å C. Если D = 0, то H(X1, X2) = X1X2. Если D = 1, то H(X1, X2) = X1X2 Å 1 и тогда Лемма доказана.

Функция F(X1, ..., XN) сохраняет константу A Î {0, 1}, если F(A, …, A) = A.

Пример 4. Функция Xy сохраняет 0, сохраняет 1. Функция X®Y сохраняет 1 и не сохраняет 0.

© 2011-2024 Контрольные работы по математике и другим предметам!