- •Функции алгебры логики Булевы векторы и единичный n-мерный куб
- •Функции алгебры логики (булевы функции)
- •Элементарные булевы функции
- •Теорема Шеннона о разложении булевых функций по переменным
- •Минимизация булевых функций в классе днф
- •Частично определенные булевы функции
- •Табличные методы минимизации булевых функций
- •Диаграммы Вейча
- •Минимизация булевых функций методом симметричных таблиц
- •Метод таблиц различий
- •Функциональная полнота системы булевых функций
- •Операция замыкания. Предполные классы
- •Теорема Поста
- •Список литературы
Функциональная полнота системы булевых функций
Система булевых функций полна в Р2, если любая булева функций может быть задана в виде суперпозиции над этой системой функций. Очевидным примером функционально полной в Р2 системы является система {&, ,}, так как в соответствии с теоремой Шеннона о разложении булевых функций по переменным любая булева функция может быть представлена формулой над этим множеством функций, а именно, СДНФ и СКНФ. Оказывается, что существуют различные функционально полные системы булевых функций. Пусть имеется некоторое множество булевых функций G={g1,g2,…,gm}, и требуется определить, является ли оно функционально полным в Р2. В теории булевых функций существует два критерия функциональной полноты системы булевых функций: сравнение заданной системы функций с заведомо функционально полной системой и критерий Поста.
Первый критерий основывается на теореме о доказательстве функциональной полноты системы булевых функций путем сравнения этой системы функций с заведомо функционально полной в Р2 системой, которая формулируется следующим образом.
Теорема. Пусть D={f1. f2, …, fn} и G={g1, g2, …, gm} – подмножества множества булевых функций P2, и известно, что система D функционально полна в Р2. Если любая функция из D может быть получена суперпозицией функций из G, То система G также полна в Р2.
Доказательство.
Пусть F(f1,f2,…,fn)P2
– произвольная булева функция, полученная
суперпозицией функций из Р2. Так
как по условию теоремы
где iG,
суперпозицию F(f1,f2,…,fn)
можно представить как F(1(g1,g2,…,
gm),
2(g1,g2,…,
gm),
…, n(g1,g2,…,
gm))=
(g1,g2,…,
gm).
Следовательно, произвольная булева
функция может быть представлена
суперпозицией функций из G.
Примеры:
Пусть D={&, , } – заведомо функционально полная система, и G={&, }. Докажем, что система G функционально полна в Р2. Так как функции &, уже имеются в G, остается показать, что функция может быть определена суперпозицией над G. Воспользовавшись правилом де Моргана, получаем сразу
,
т.е. представляем дизъюнкцию суперпозицией
над G.
Доказать, что система G={0, } функционально полна в Р2.
Выберем в качестве
заведомо функционально полной системы
множество D={&, }.
Для доказательства необходимо определить
конъюнкцию и отрицание формулами над
G. Целесообразная
последовательность действий состоит
в определении вначале ,
а затем &. Поскольку константа 0 –
нульместная функция, ее можно использовать
только для подстановки в качестве
аргумента в другие функции. Импликация
– двуместная функция, в которой можно
выполнить вначале отождествление
переменных, а затем подстановку константы
вместо одного из аргументов. Учитывая,
что
,
и выполняя подстановку xy|
y
0 =
.
Далее используем правило де Моргана
для получения конъюнкции.
Доказанная теорема дает универсальный способ доказательства функциональной полноты системы булевых функций. Однако если в проверяемое множество входят функции, более сложные, чем элементарные, процедура может оказаться достаточно трудоемкой. А учитывая отсутствие критерия, определяющего возможность получения требуемых функций из имеющихся, и невыполнимой.
Второй критерий, обозначенный выше как теорема Поста, лишен этих недостатков. Прежде чем перейти к нему введем несколько новых понятий.
