Скачиваний:
57
Добавлен:
16.04.2013
Размер:
436.74 Кб
Скачать

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

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

Примеры. 1. - полная система.

2. - полная (см. утверждение параграфа 2.4).

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

Доказательство. Пусть - произвольная функция из . Покажем, что ее можно реализовать формулой над .

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

Полученное выражение определяет формулу над , реализующую . ■

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

4. Система - полная. Действительно, рассмотрим системы

и . Имеем: . Следовательно,

и .

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

5. Система - полная. Докажите это утверждение самостоятельно.

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

2.6. Полином Жегалкина

Пусть M – некоторое произвольное подмножество булевого куба , , - номер вектора , - его вес, - номера отличных от нуля координат вектора .

Определение. Формула вида , (1)

где суммирование ведется по модулю два, а коэффициенты равны либо 0, либо 1, называется полиномом Жегалкина от переменных.

Если суммирование в формуле 1 ведется по всем булевым векторам длины n, слагаемые идут в порядке возрастания номеров булевых векторов и , то говорят, что полином Жегалкина записан в канонической форме.

Запишем для примера общий вид канонической формы полинома Жегалкина от 2-х переменных: ;

от 3-х переменных:

Замечание. Каждый полином Жегалкина от n можно записать в канонической форме. Например, полином Жегалкина от двух переменных в канонической форме запишется так:

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

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

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

2. Докажем единственность реализации.

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

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

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

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

.

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

Примеры. 1. Найти полином Жегалкина, реализующий функцию .

Зададим функцию таблично:

0

0

1

0

1

1

1

0

1

1

1

0

Воспользуемся методом неопределенных коэффициентов. Канонический полином Жегалкина от двух переменных имеет вид: . Поэтому должны выполняться равенства:

;

;

;

.

Откуда , , , . Таким образом, .

Тот же результат можно получить проще, если действовать методом равносильных преобразований: .

2. Найти полином Жегалкина, реализующий функцию .

.

2.7. Замыкание системы булевых функций.

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

Пример. Пусть , тогда .

Операцию получения множества из называют операцией замыкания.

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

1. ;

2. ;

3. ;

4. .

Утверждение докажите самостоятельно.

Определение. Класс (множество) булевых функций называется замкнутым, если .2.8. Классы и , их свойства

Определение. Говорят, что булева функция сохраняет 0, если .

Обозначим через множество функций от переменных, сохраняющих 0, а через – множество всех булевых функций, сохраняющих 0, т.е. .

Например, ; .

Утверждение 1. Множество функций, сохраняющих 0, - замкнутый класс.

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

Имеем,

=

. ■

Лемма (о функции, не сохраняющей 0). Пусть . Тогда формулой над множеством можно реализовать либо константу 1, либо отрицание.

Доказательство. Пусть , т.е. . Рассмотрим функцию .

Возможны два случая: или .

В первом случае:

.

Во втором случае:

. ■

Введем условное обозначение алгоритма, использованного для доказательства леммы:

Определение. Говорят, что булева функция сохраняет 1, если .

Обозначим через множество функций от переменных, сохраняющих 1, а через – множество всех булевых функций, сохраняющих 1, т.е. .

Например, ; .

Утверждение 2. Множество функций, сохраняющих 1, - замкнутый класс.

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

Имеем:

. ■

Лемма (о функции, не сохраняющей 1). Пусть . Тогда формулой над множеством можно реализовать либо константу 0, либо отрицание.

Доказательство. Пусть , т.е. . Рассмотрим функцию .

Возможны два случая: или .

В первом случае:

.

Во втором случае:

. ■

Введем условное обозначение алгоритма, использованного для доказательства леммы:

Упражнения. 1. Выяснить, сколько имеется булевых функций от переменных, сохраняющих 0.

Решение. Пусть . Тогда . Следовательно, булевых функций от переменных, сохраняющих 0, столько, сколько и булевых векторов длины , т.е. .

2. Выяснить, сколько имеется булевых функций от переменных, сохраняющих 1.

3. Рассмотреть работу леммы на примере функции .

4. Рассмотреть работу леммы на примере функции .

21

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