Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция 9 (2)

.pdf
Скачиваний:
3
Добавлен:
10.01.2021
Размер:
148.04 Кб
Скачать

Лекция 9. Полиномы Жегалкина

Произвольная логическая функция может быть представлена в виде некоторой эквивалентной ей композиции конъюнкции и сложения по модулю 2, называемой полиномом Жегалкина.

Пример 1. Рассмотрим, например, логические функции

1 x1 (x1 ^ x2);

x2 (x1 ^ x3) (x1 ^ x2 ^ x3);

которые напоминают по структуре алгебраические полиномы (многочлены) нескольких переменных, только вместо умножения в них используется конъюнкция (логическое умножение), а вместо обычного сложения сложение mod 2. Эти функции относятся к так называемым полиномам Жегалкина. Однако, логические функции

x1 (x2 ^ x2);

x1 x1 (x1 ^ x2)

не входят в класс полиномов Жегалкина.

Чтобы дать формальное определение полиномов Жегалкина, введем несколько вспомогательных обозначений.

Обозначения.

n

 

 

 

 

 

 

 

 

def

 

 

 

 

Xi

xn:

(1)

 

 

xi = x1

 

 

=1

 

 

Аналогично

 

 

 

 

jmax

 

 

 

 

Xj

 

def

fjmax (xi1 ; : : : ; xik ) (k 2 IN):

 

; : : : ; xik ) = f1(xi1 ; : : : ; xik )

(2)

fj(xi1

=1

 

 

 

 

Далее будем рассматривать функции fj

определенного вида, что обозначается

 

 

 

fj(xi1 ; : : : ; xik ) = (xi1 ^ ^ xik )j (k 1);

(3)

для которых полагаем, что:

а) каждая из переменных xi1 ; : : : ; xik входит в каждую из функций fj(xi1 ; : : : ; xik ) не более чем по одному разу:

il 6= im (1 l k; 1 m k; l 6= m)

(4)

(например, функция f1(x1) = x1 ^ x1 недопустима, так как здесь l = 1 6= 2 = m, но il = i1 = 1 = i2 = im);

б) все функции fj различны между собой:

fp(xi1 ; : : : ; xik ) 6= fs(xi1 ; : : : ; xik ) (1 p jmax; 1 s jmax; p 6= s)

(5)

1

(например, недопустима ситуация, когда f1(x1; x2) = f2(x1; x2) = x1 ^ x2, так как здесь p = 1 6= 2 = s, íî fp(x1; x2) = f1(x1; x2) = x1 ^ x2 = f2(x1; x2) = fs(x1; x2)).

Замечание 1. При k = 1 в (3) имеем fj(ximj ) = ximj .

Определение 1. Полиномом Жегалкина от n логических переменных называется полином, являющийся суммой по mod 2 некоторой константы a 2 f0; 1g и некоторых функций fj(xi1 ; : : : ; xik ) вида (3), удовлетворяющих условиям (4) и (5):

jmax

 

jmax

Xj

; : : : ; xik ) = a

X

a fj(xi1

(xi1 ^ ^ xik )j;

=1

 

j=1

ãäå 8

> jmax 2 IN;

>

> k 2 IN;

>

>

>

<m 2 IN;

1 m k;

>

>

>

> im 2 IN;

>

>

: 1 im n:

Пример 2. Докажем, что

x = 1 x:

(6)

Доказательство.

Таблица 1

x

x

1 x

0

1

1

 

 

 

1

0

0

Упражнение 1 (д/з). Доказать:

x _ y = x y (x ^ y):

(7)

Доказательство.

Таблица 2

x

y

x _ y

x y

x ^ y

x y (x ^ y)

0

0

0

0

0

0

 

 

 

 

 

 

0

1

1

1

0

1

 

 

 

 

 

 

1

0

1

1

0

1

 

 

 

 

 

 

1

1

1

0

1

1

 

 

 

 

 

 

Замечание 2. Известно, что любую композицию логических функций всегда можно представить в виде полинома Жегалкина, причем единственным образом. Для этого нужно:

2

1)заменить логические функции на соответствующие эквивалентные функции, являющиеся полиномами Жегалкина (см. (6), (7)),

2)произвести упрощения в полученной формуле, используя следующие свойства функций ^ (см. лекции) и :

Группа I.

1:

x ^ y = y ^ x;

2:

x ^ (y ^ z) = (x ^ y) ^ z = x ^ y ^ z;

3:

x ^ x = x;

4:

x ^ 0

= 0;

5:

x ^ 1

= x:

Группа II.

(8)

1:

x y = y x;

2:

(x y) z = x (y z) = x y z;

3:

x x = 0;

4:

x 0 = x:

Группа III.

1: x ^ (y z) = (x ^ y) (x ^ z):

Результат операций 1) 2) и будет полиномом Жегалкина для данной композиции. Замечание 3. Cоотношения (8) легко проверить табличным способом.

Пример 3. Проверим соотношение II.3 из (8).

Решение.

Таблица 3

x

x x

0

0

 

 

1

0

 

 

Упражнение 2 (д/з). Проверить другие соотношения из (8).

Пример 4. Представить в виде полинома Жегалкина функцию f(x; y) = x (x_y).

(6);(7)

x x y (x^y)

(8):II:3

(8):II:4

1 y (x^y).

Решение. f(x; y) = 1

=

1 0 y (x^y) =

Упражнение 3 (д/з). Представить в виде полинома Жегалкина функцию f(x; y) = (x _ y) (x _ y).

Теорема (без док ва). Любая логическая функция может быть представлена в виде полинома Жегалкина и притом единственным образом.

Замечание 4. Полином Жегалкина также можно найти методом неопределенных коэффициентов. Рассмотрим этот метод на следующем примере.

Пример 5. Представить в виде полинома Жегалкина функцию двух переменных, заданную таблицей 4.

3

Таблица 4

x

y

f(x; y)

 

 

 

0

0

0

0

1

1

 

 

 

1

0

1

 

 

 

1

1

0

 

 

 

Решение. Полином Жегалкина для функции двух переменных ищем в следующем виде:

f(x; y) = a0 a1 ^ x a2 ^ y a3 ^ x ^ y;

(9)

ãäå ai 2 f0; 1g, i = 0; : : : ; 3. Очевидно, если ai = 0, то соответствующее слагаемое фактически не входит в полином, а если ai = 1, то входит.

Для определения коэффициентов полинома нужно подставить значения неизвестных и соответствующее значение функции в (9) согласно таблице 4. Последовательно подставляя все возможные наборы значений переменных в (9), получим:

8

> (0; 0) : 0 = a0 a1 ^ 0 a2 ^ 0 a3 ^ 0 ^ 0 ) a0 = 0;

>

< (0; 1) : 1 = 0 a1 ^ 0 a2 ^ 1 a3 ^ 0 ^ 1 ) a2 = 1; > (1; 0) : 1 = 0 a1 ^ 1 1 ^ 0 a3 ^ 1 ^ 0 ) a1 = 1;

>

: (1; 1) : 0 = 0 1 ^ 1 1 ^ 1 a3 ^ 1 ^ 1 ) a3 = 0:

Подставляя в (9) найденные значения коэффициентов, получим искомый полином Жегалкина для данной функции: f(x; y) = x y.

Замечание 6. Сравним результат примера 5 и упражнения 3. Для комбинации функций и эквивалентной ей функции, заданной табличным способом, мы получаем один и тот же полином Жегалкина, что согласуется с утверждением теоремы о его единственности.

Упражнение 4 (д/з). Представить в виде полинома Жегалкина функцию двух переменных, заданную таблицей 5.

Таблица 5

x

y

f(x; y)

0

0

1

 

 

 

0

1

0

 

 

 

1

0

1

 

 

 

1

1

1

 

 

 

Ответ. f(x; y) = 1 y (x ^ y).

Замечание 7. Pезультат примера 4 и упражнения 4 совпадают аналогично заме- чанию 6.

4

Соседние файлы в предмете Дискретная математика