Разложим функцию f(x1, …, xn) последовательно по двум переменным: сначала саму функцию по переменной x1 затем коэффициенты разложения по переменной x2 .
[ раскроем скобки по закону дистрибутивности ]
Введем обозначения: x = x1, x = x0 (условимся читать символы xc как ''x в степени c''). Тогда разложение функции f(x1, …, xn) по переменным x1, x2 в свернутой форме примет вид
Пример. Продолжим разложение функции f(x,y,z) из предыдущего примера. Мы уже получили ее разложение по x:
Разложим теперь коэффициенты по переменной y:
[ используем свойства 0 и 1 и раскроем квадратные скобки ]
Решим теперь тот же пример, но не последовательным применением разложения Шеннона, а непосредственно по формуле разложения функции по двум переменным.
Пример. Найдем коэффициенты разложения Шеннона булевой функции f(x,y,z)=y xz
yz по переменным x и y:
f(1,1,z) =1 1z
1z = 0
z
z=z
z;
f(1,0,z) =0 1z
0z
=1
z
0 =z
0 = z;
f(0,1,z) =1 0z
1z
=0
0
z = 1
z =z;
f(0,0,z) = 0 0z
0z = 1
0
0 = 0
0 =1.
Подставив коэффициенты разложения в формулу, получим
Заметим, что в данном случае оба способа привели к одинаковым формулам. В общем случае формулы могут не совпадать, но они с очевидностью равносильны, ибо задают одну функцию.
Разложение функции по k переменным имеет вид, аналогичный разложению функции по двум переменным.
Разложение функции по k переменным.
Доказательство. Подставим в левую и правую части равенства произвольный набор a1… an:
Для упрощения правой части докажем сперва вспомогательный результат: ac=1 тогда и только тогда, когда a=c. Действительно, 00=0 =1, 11=1, но 01=0, 10=1 =0. Следовательно, конъюнкция a1c1 … akck=1 тогда и только тогда, когда a1 … ak и c1 … ck совпадают. Это означает, что конъюнкция не обращает в ноль лишь одно слагаемое правой части, для которого c1=a1 …, ck=ak, и разложение имеет вид: