Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
discretka_1 / lect7&8_m1_vm1__ipovs_DM_231000.62.doc
Скачиваний:
49
Добавлен:
12.05.2017
Размер:
875.52 Кб
Скачать

Лекции 7, 8

§ 2.5. Полнота системы булевых функций

Полная система. Теорема о полноте двух систем. Критерий полноты системы булевых функций. Базисы. Предполные классы.

Базовые понятия и утверждения

1. Понятие о полноте системы булевых функций. В предыдущем параграфе мы установили, что функцию, не принадлежащую какому-нибудь классу Поста, нельзя представить формулой через функции, входящие только в этот класс. С другой стороны, нам известно, что любую булеву функцию можно выразить через дизъюнкцию, конъюнкцию и отрицание. Настоящий параграф посвящен обсуждению следующего вопроса: как для произвольной системы булевых функций определить, всякая ли функция представима формулой над , или нет?

Определение. Множество булевых функций называется полной системой, если любая булева функция может быть задана формулой над .

Пример 1. а) - полная система, поскольку любая булева функция представима в виде СДНФ или СКНФ.

б) - полная система, поскольку любая булева функция представима в виде полинома Жегалкина.

в) - полная система, поскольку любую булеву функцию можно сначала выразить формулой над , а затем заменить в этой формуле все дизъюнкции формулой . В итоге получится формула над .

г) - полная система, поскольку любую булеву функцию можно сначала выразить формулой над , а затем заменить в этой формуле все конъюнкции формулой . В итоге получится формула над .

Следующая теорема обобщает подход, использованный нами для доказательства полноты систем и .

Теорема 2.12 (о полноте двух систем). Пусть заданы две системы булевых функций: и . Тогда, если система - полная и каждая ее функция может быть задана формулой над , то система тоже полная.

Доказательство. Покажем, как для произвольной булевой функции построить формулу над . Возьмем формулу для над (в силу полноты такая формула обязательно существует) и заменим в ней вхождение символов функций формулами над (которые существуют по условию). Получим формулу над , которая задает . ■

Пример 2. Докажем, что - полная система. Действительно, пусть и . Имеем , откуда . Следовательно, и . Таким образом, каждую функцию полной системы можно задать формулой над . Следовательно, условия теоремы о полноте двух систем выполнены и, значит, - полная система.

С помощью теоремы о полноте двух систем можно доказать полноту некоторой системы булевых функций. Обосновать неполноту с ее помощью нельзя.

2. Критерий полноты системы булевых функций. Наиболее удобный способ проверки системы функций на полноту связан с использованием критерия полноты Поста.

Для того чтобы система функций была полна, необходимо и достаточно, чтобы для каждого из классов Поста в нашлась функция , ему не принадлежащая.

Доказательство этого утверждения приведено во второй части параграфа.

При проверке, выполняются ли для некоторой системы функций условия критерия Поста, удобно использовать таблицу, которую называют таблицей Поста (табл. 2.29).

Таблица 2.29

Функции

Классы Поста

В ячейках таблицы ставится знак «+» или «–», в зависимости от того, входит функция, стоящая в данной строке, в класс, стоящий в данном столбце, или не входит. В силу теоремы Поста для полноты системы необходимо и достаточно, чтобы в каждом столбце стоял хотя бы один минус.

Таблицу Поста исследуемой системы лучше заполнять по столбцам. Вначале рассматриваем класс . Если окажется подмножеством (первый столбец таблицы заполнен только плюсами), то система неполна. В противном случае переходим к классу и т.д.

Пример 3. Используя критерий полноты, выяснить, полна ли система булевых функций :

а) ;

б) .

◄ а) Для удобства рассуждений зададим функции системы таблично (табл. 2.30 и 2.31).

Таблица 2.30

Таблица 2.31

0

0

0

0

0

0

0

1

0

0

0

1

0

1

0

1

0

0

0

1

0

0

0

1

0

0

1

0

1

1

0

1

1

1

1

0

1

0

0

0

0

1

0

1

0

1

1

1

0

1

1

1

1

1

1

1

Заполним таблицу Поста исследуемой системы (табл. 2.32).

Таблица 2.32

Функции

Классы Поста

+

+

+

+

Класс : , следовательно, ; , следовательно, . Выяснять, принадлежит или нет классу функция , не надо, так как в системе уже нашлась функция, не принадлежащая .

Класс : , следовательно, ; , следовательно, ; , следовательно, .

Класс :, , следовательно, .

Класс : перебрав все пары сравнимых векторов, убеждаемся, что условие монотонности для функции не нарушается, значит, ; , а , следовательно, .

Класс : , следовательно, .

Таким образом, для каждого класса Поста можно указать функцию системы , ему не принадлежащую. Следовательно, - полная система.

б) Заполним таблицу Поста системы (табл. 2.33).

Таблица 2.33

Функции

Классы Поста

+

+

+

Класс : , следовательно, .

Класс : , следовательно, ; , следовательно, .

Класс : , , следовательно, .

Класс : , , следовательно, .

Класс : , следовательно, ; , следовательно, .

Поскольку обе функции системы принадлежат классу линейных функций, то система неполна. ►

Определение. Полная система функций называется базисом, если после удаления из нее любой функции получается неполная система.

Пример 4. Укажите подмножества , являющиеся базисами:

а) ; б) .

◄ а) Заполним таблицу Поста (табл. 2.34).

Таблица 2.34

Функции

Классы Поста

+

+

+

+

+

+

+

+

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

б) Мы рассматривали систему в примере 3.

Таблица 2.35

Функции

Классы Поста

+

+

+

+

+

+

Чтобы выделить из этой полной системы базисы, заполним таблицу Поста системы полностью (табл. 2.35).

Анализ табл. 2.35 показывает, что сама система базисом не является, так как при удалении функции полноту не теряет. Система является базисом, поскольку удаление из нее любой из функций приводит к потере полноты. Остальные собственные подмножества базисами не являются (система неполная, так как лежит в ; система неполная, так как лежит в ; неполны и подмножества, содержащие по одной функции). ►

Соседние файлы в папке discretka_1