Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания / 2 семестр / Дискретная математика / Учебное пособие по дискретной математике.doc
Скачиваний:
269
Добавлен:
20.04.2015
Размер:
19.51 Mб
Скачать

2.3. Полные системы функций. Теорема Поста.

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

Определение 1. Если  некоторое множество функций из . Замыканиемназывается множество всех функций из, которые могут быть получены путем суперпозиций из функций множества.

Таким образом, .

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

Таким образом, полная система функций. Из правил де Моргана имеем

и .

Поэтому итакже полныесистемы.

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

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

Базисы могут состоять и из одной функции. Примерами таких базисов являются штрих Шеффера и стрелка Пирса. Это следует из равенств

; ;.

Интересным базисом является система . Её полнота следует из того, что. Если в формуле, записанной в этой системе, воспользовавшись законом дистрибутивности, раскрыть все скобки, то получатся элементарные конъюнкции без отрицаний переменных, складываемые поmod 2, т.е. полином по mod 2. Каждая элементарная конъюнкция в такой сумме может встретиться не более одного раза, так как . Такие полиномы называют полиномами Жегалкина* ввиду принадлежащей ему нижеследующей теоремы. Напомним, константа 1 считается пустой конъюнкцией, т.е. конъюнкцией, не содержащей ни одной буквы. Будем считать константу 0 пустым полиномом, т.е. полиномом, не содержащим ни одной конъюнкции. При необходимости константу 0 можно представить также как .

Теорема 1. Каждая булева функция может быть единственным образом представлена полиномом по mod 2.

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

Рассмотрим представление булевой функции с помощью полинома Жегалкина на примере дизъюнкции. Зная на основании теоремы 1, что такое представление существует, можно записать

,

где неизвестные коэффициенты. Подставляя , получаем. Подставляя, получаем. Подставляя, получаем. И, наконец, подставляя, получаем, т.е.. Таким образом, имеем

.

Это представление можно получить и проще, воспользовавшись правилом де Моргана:

.

Определение 4. Булева функция называетсялинейной, если линеен её полином Жегалкина

.

Так как линейная функция задается с помощью коэффициентов, то всего существуетлинейных функций отпеременных.

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

Определение 5. Множество функцийназываетсязамкнутым классом, если его замыкание совпадает с ним самим:.

Как показывает следствие 1.1, множество всех самодвойственных функций является замкнутым классом. Легко видеть, что множество всех монотонных функций и множество всех линейных функций также являются замкнутыми классами. Эти классы принято обозначать соответственно S, M и L.

Введем ещё два замкнутых класса:

1) класc функций, сохраняющих 0;

2) класс функций, сохраняющих 1.

_______

*Жегалкин И.И. (1869-1947)  советский математик.

**Пост Э.Л. (1897-1954)  американский математик и логик.

Ясно, что если некоторое множество функций целиком лежит в одном из замкнутых классовT0, T1, S, M, L, то это множество не может быть полной системой функций, так как все суперпозиции функций из также будут лежать внутри этого же замкнутого класса. Таким образом, ненахождение внутри одного из 5 перечисленных замкнутых классов является необходимым условием для полноты системы. Оказывается, что это условие является и достаточным.

Теорема 2 (критерий полноты Поста). Для того, чтобы некоторое множество булевых функций было полной системой, необходимо и достаточно, чтобы оно не лежало целиком ни в одном из 5 замкнутых классов T0, T1, S, M, L1.

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

Лемма 1. Если ,то подстановкой иливместо каждой переменнойиз неё можно получить несамодвойственную функцию одного переменного, т.е. константу.

Доказательство. Так как ,то найдется булев набор такой, что. Рассмотрим функцию. Имеем

.

Лемма 2. Если ,то подстановкой 0, 1 или вместо каждой переменнойиз неё можно получить функцию.

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

Лемма 3. Если , то, имея константы и отрицание, из неё можно получить конъюнкцию.

Доказательство. В силу нелинейности функции в её полиноме Жегалкина найдётся член, являющийся произведением не менее двух переменных. Без ограничения общности можно считать, что в него входяти. Тогда полином можно привести к виду

,

где не равна тождественно нулю в силу единственности полинома Жегалкина.

Пусть таковы, что.Тогда

,

где . Тогда функция

.

Доказательство теоремы 2. Необходимость уже была показана. Докажем достаточность. Из того, что A не лежит целиком ни в одном из 5 замкнутых классов, следует, что в A можно выделить систему из не более чем пяти функций , не принадлежащих соответственно классам(среди функциймогут быть и одинаковые). Докажем, что функцииобразуют полную систему.

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

Получив константы 0 и 1, с помощью функции , опираясь на лемму 2, получаем. И, наконец, имея 0, 1 и, с помощью функции, опираясь на лемму 3, получаем, что даёт полную систему и доказывает теорему.

Покажем, что ни один из замкнутых классов T0, T1, S, M, L не содержится ни в одном другом, т.е. ни одно из пяти условий теоремы не является следствием остальных четырех. Это видно из таблицы, где знак “+” означает, что функция принадлежит классу, а “–” – что не принадлежит.

T0

T1

S

M

L

+

+

+

+

­

+

+

+

+

+

+

+

+

+

+

Утверждение 1. Базис в может состоять самое большее из четырёх функций.

Доказательство. При доказательстве теоремы 2 полная система функций состояла из не более чем пяти различных функций. Как было видно из доказательства, функциялибо не является самодвойственной, либо не сохраняет 1 и не является монотонной. В первом случае полной является система, во втором– система , т.е. в обоих случаях четырёх функций оказывается достаточно.

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

T0

T1

S

M

L

+

+

+

+

+

+

+

+

+

+

+

+

+

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

Можно сказать, что предполный класс – это максимальный по включению замкнутый класс, не совпадающий с .

Теорема 3. В предполными являются классыT0, T1, S, M, L и только они.

Доказательство. Если к любому из 5 замкнутых классов T0, T1, S, M, L добавить не принадлежащую ему функцию, то полученная система не будет целиком лежать ни в одном из классов T0, T1, S, M, L и по теореме Поста её замыкание совпадёт с . ПоэтомуT0, T1, S, M, L являются предполными классами.

Если бы существовал ещё один предполный класс, то он не может лежать внутри ни одного из замкнутых классов T0, T1, S, M, L, поэтому по теореме Поста он должен совпасть с .