Есть и другие наборы операций, через которые можно выразить все булевы функции.
К одному из таких наборов относятся
Полином Жегалкина - это булева формула, в которой применяются только операции
, &
Есть несколько способов составления полиномов Жегалкина. Рассмотрим некоторые из них.
Пусть нам дана произвольная булева формула. Тогда можно применить метод цепочки формул.
Сначала избавимся от всех операций, кроме
y = x&y
x
y
true
y = x
y
true
y = x&y
x
y
true
true
y = x&y
x
y = x&y
y
y = x&y
x
true
y = x&y
y
true
Далее избавимся от всех скобок с помощью правила:
z) = x&y
x&z
После этого формулу можно сократить, убрав повторяющиеся элементы и лишние константы с помощью законов поглощения:
x = false,
false = x,
x = x
От константы true = ~x
В результате получится полином Жегалкина.
В случае, если булева функция представлена не формулой, а таблицей истинности, мы можем составить СДНФ и упростить ее. В результате у нас в руках будет булева формула, к которой можно применить описанные выше методы.
Возьмем СДНФ некоторой функции, и упростим ее, насколько возможно. Допустим, получилось:
x&~z
Теперь преобразуем инверсии:
true)&y&z)
(x&(z
true))
Теперь преобразуем операцию :
true)&y&z)
(x&(z
true))
((x
true)&y&z&x&(z
true))
Раскроем скобки:
x&true
Применим законы поглощения внутри скобок:
Применим законы поглощения для одинаковых скобок, учитывая,
что переменные, соединенные знаками "
x&z
x
x&y&z