2.3.3. Теоремы о функциональной полноте

Одна из сфер применения булевых функций -- синтез логических схем; при этом булевым функциям соответствуют определённые функциональные элементы (детали). Полнота системы функций означает, что, пользуясь только элементами соответствующих этим функциям типов, можно собрать любую логическую схему. При схемной реализации константы 0 и 1 специальных элементов не требуют. Поэтому существует ослабленное понятие функциональной полноты.

Определение. Система функций S называется полной в слабом смысле, если система является полной (в сильном смысле, т. е. в смысле определения в пункте 1).

Теорема 1. (Пост). Для того, чтобы система функций S была полной в слабом смысле необходимо и достаточно, чтобы она содержала хотя бы одну нелинейную функцию и хотя бы одну немонотонную функцию.

Теорема 2. (Пост). Для того, чтобы система функций была полной (в сильном смысле) необходимо и достаточно, чтобы она не содержалась целиком ни в одном из замкнутых классов K0, K1, KS, KM и KL.

Схема доказательства. Необходимость очевидна, поскольку никакой из перечисленных классов не совпадает целиком с множеством всех булевых функций.

Достаточность доказывается в 3 этапа:

1) построение констант 0 и 1 с помощью функций , и ;

2) построение функции–отрицания с помощью констант 0, 1 и функции ;

3) построение конъюнкции с помощью констант 0, 1, функции и .

После этого учитывая, что дизъюнкция представляется через конъюнкцию и отрицание и что система полная, достаточность доказана.

Замечание. Из теоремы, в частности, следует, что всякий замкнутый класс, отличный от множества всех булевых функций, содержится в одном из классов K0, K1, KS, KM, KL. По этой причине перечисленные классы называют Основными замкнутыми классами пространства булевых функций.

подпись: k0 k1 ks km kl
0 + + +
1 + + +
xy + + + 
 
+ + + +

Пример. Рассмотрим совокупность булевых функций . Составим и заполним следующую таблицу, отмечая знаком «+» функции, принадлежащие соответствующим классам. Заполнение первых трех строчек очевидно. Кроме того, непосредственно видно, что функция сохраняет константы 0 и 1. Уже по форме записи она является линейной. Самодвойственоость функции вытекает из таблицы значений (см. на следующей странице), а монотонность очевидна из диаграммы Хассе.

Из таблицы видно, что множество функций S не содержится полностью ни в одном из пяти основных замкнутых классов (нет ни одного столбца целиком заполненного символами «+»). Следовательно, система функций S является полной (в сильном смысле), а совокупность -- полная в слабом смысле.

X

Y

Z

()*

0

0

0

0

0

0

0

1

1

1

0

1

0

1

1

0

1

1

0

0

1

0

0

1

1

1

0

1

0

0

1

1

0

0

0

1

1

1

1

1

© 2011-2024 Контрольные работы по математике и другим предметам!