Элементарная конъюнкция называется монотонной, если она не содержит отрицаний переменных. Константа 1 (т.е. элементарная конъюнкция нулевого ранга) считается монотонной по определению. Выражение вида , где коэффициенты Î{0,1}, называется полиномом Жегалкина (или полиномом по модулю 2). Число r слагаемых полинома называют его длиной. Рассматривается также полином Жегалкина без слагаемых. Такой полином обозначают 0 и считают по определению, что он равен константе 0.
Наибольший из рангов элементарных конъюнкций, входящих в полином, называют степенью этого полинома. Степень полинома 0 считается неопределенной.
Теорема 3.Всякая булева функция единственным образом представима в виде полинома Жегалкина.
Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях.
Опишем методы построения полиномов Жегалкина.
1. Метод неопределенных коэффициентов. Булева функция f(x1,…,xn) приравнивается к полиному Жегалкина P(x1,…,xn) общего вида с неизвестными 2n коэффициентами. Затем для каждого ÎBn составляется уравнение f( )=P( ) относительно коэффициентов Ai. Далее решается система из 2n уравнений относительно неизвестных 2n коэффициентов Ai. Причем в силу предыдущей теоремы решение всегда существует и единственно.
2. Метод основан на представлении функции в виде формулы над множеством {Ø, &, Ú} с последующей заменой Øx=xÅ1, .
3. Метод, базирующийся на преобразовании вектора значений функции. Над векторами из определяется (индукцией по n) операция Т.
Если n = 1 и , то .
Предположим, что операция Т уже определена для каждого вектора а из , и рассмотрим произвольный вектор а из . Пусть и , . Тогда .
Вектор значений функции f и вектор коэффициентов ее полинома Жегалкина связаны соотношениями и .
Пример 7. Проиллюстрируем эти методы для функции x®y.
1. Метод неопределенных коэффициентов.
x®y=f(x,y)=P(x,y)=a00Åa10xÅa01yÅa11xy.
(00) 1=a00 Þ a00=1.
(01) 1=a00Åa01 Þ a01=0.
(10) 0=a00Åa10 Þ a10=1.
(11) 1=a00Åa10Åa01Åa11 Þ a11=1.
Таким образом, x®y=1ÅxÅxy.
2. .
3. =(1101). Расщепляем этот вектор на вектора длины 2. Выполняем для каждого из них преобразование T. Затем выполняем преобразование T для полученного вектора длины четыре. Результаты вычислений приведены в таблице. Таким образом, =(1,0,1,1) и x®y=1ÅxÅxy.
Задачи
19.Найти полином Жегалкина функции методом неопределенных коэффициентов:
19.1.af=(01110100);
19.2.af=(11001110);
19.3.af=(10011110);
19.4.af=(00111100);
19.5.af=(11110000);
19.6.af=(10101111);
19.7.af=(11101001);
19.8.af=(11010011);
19.9.af=(10011101);
19.10.af=(00111011).
20.Найти полином Жегалкина функции, преобразуя вектор ее значений:
20.1.af=(1011010110110101);
20.2.af=(0101111101011111);
20.3.af=(1100110000110011);
20.4.af=(0011110000111100);
20.5.af=(0110110110110111);
20.6.af=(0111011110101010);
20.7.af=(0110101101101011);
20.8.af=(1011111010111110);
20.9.af=(1001100001100111);
20.10.af=(0111100001111000).
21.Найти полином Жегалкина функции с помощью эквивалентных преобразований: