Алгебра Жегалкина - это алгебра над множеством двух бинарных булевых функций
(И,) и нульарной функции 1.
Легко проверить следующие соотношения этой алгебре:
pq =
qp;
p(qpqr) = pq
pr;
pp = 0;
p0 = p.
Справедливы в этой алгебре, конечно, и все соотношения, включающие логические функции. Если в произвольной формуле, включающей только функции базиса Жегалкина, раскрыть скобки, то получим бесскобочную формулу, имеющую вид суммы (по модулю два) произведений, то есть некоторый полином. Он называется полиномом Жегалкина.
Пример:
Преобразуем аналитически функцию f (p, q, г) = р v q
rq(p v r) в полиномом Жегалкина.
Поскольку
q = 1 p, a
p v q = ( p
q) = 1
(1p)
(1q) =
pq
pq, то после подстановки и
раскрытия скобок имеем:
f(p, q, r) = p v q rq (p v r) = ((1 p) q (1p)q) (rq(pr pr)) =
= (1pqqpq)(pqrqrpqr) = 1ppqqr.
Теорема |
---|
Любая булева функция может быть представлена в виде полинома Жегалкина, причем единственным образом. |
Существование полинома для любой функции гарантируется тем, что функции {И, , 1} образуют базис. Далее, легко видеть, что число возможных членов в полиноме с m переменными равно 2m. Поэтому число различных полиномов Жегалкина от m переменных равно 2 в степени 2m, то есть числу возможных двоичных функций от m переменных. Поскольку одна и та же формула не может представлять различные функции, то тем самым между множествами двоичных функций и полиномов Жегалкина от m переменных установлено взаимнооднозначное соотношение.
Пример
Построим для функции f (p, q, r) = p v q rq (p v r) полиномом Жегалкина непосредственно из таблицы истинности.
p | q | r | f |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
f (p, q, r) = а0 app aqq arr aprpr aqrqrapqrpqr.
Всего коэффициентов 8, каждый коэффициент может быть 0 или 1, число возможных вариантов равно 28 = 256 - как раз столько, сколько всех возможных булевых функций от-трех переменных. Для нахождения коэффициентов заданной функции используем таблицу ее значений.
Искомые коэффициенты последовательно найдем из следующей системы уравнений:
f (0,0,0) = 1 = a0; отсюда a0=1;
f (1,0,0) = 0 = a0
ap = 1ap;
отсюда ap=1;
f (0,1,0) = 1 = a0
aq = 1aq;
отсюда aq=0;
f (0,0,1) = 1 = a0
ar = 1ar;
отсюда ar=0;
f(1,1,0) = 1 = a0
ap
aq
apq = 11
0
apq;
отсюда apq = 1;
f(1,0,1) = 0 = a0
ap ar
apr =
11
0
apr;
отсюда apr = 1;
f(0,1,1) = 0 = a0
aq ar
aqr = 10
0
aqr;
отсюда aqr = 1;
f(1,1,1) = 0 = a0
apaq
ar
apq
apr
aqrapqr =
1
1
0
0
1
0
1
apqr; отсюда apqr=0;
Найденное представление совпадает с представлением, полученным для этой
функции ранее аналитически: f(p,q,r) =
1p
pq
qr.
Булева функция, полиномом Жегалкина которой имеет вид
a0
axi x i,
называется линейной.