Лекция: представление булевых функций
Формулы. Реализация булевых функций формулами. Принцип двойственности.
Как и в обычной алгебре на базе элементарных функций строятся формулы, определяемые индуктивно. Пусть – подмножество булевых функций. Тогда а) каждая является формулой над F; б) если и – формулы над F или символы булевых переменных, то выражение также является формулой над F.
При построении формул применяются переменные, связки и скобки (при опускании некоторых из них связка считается самой сильной, а – сильнее любой другой двухместной связки). Запись означает, что построена на функциях , а запись указывает на переменные, используемые в .
Формулы и имеют одинаковое строение , если получена из путем замены .
Формуле над F по индукции сопоставим булеву функцию : а) если , то реализует ; б) если , где – формулы над F или переменные, то реализует функцию , где при либо переменная, либо .
Формулы, реализующие равные функции называются эквивалентными.
|
|
Функция f, реализуемая формулой , называется суперпозицией функций из F. Строение формулы можно описать помеченным деревом. Так, формуле соответствует дерево
Определение 1. Функция называется двойственной к функции , если имеет место равенство . .
Интерпретация двойственной функции с помощью таблицы.
Примеры. 0 двойственна 1; – ; – ; – ;
– ; – .
Справедлив следующий принцип двойственности.
Теорема 1. Если f реализуется формулой , то – , имеющей такое же строение, как и формула .
Доказательство. Добавляя, если нужно, несущественные переменные, по определению имеем ,
Таким образом, получили , ч. т. д.
С помощью этого принципа легко строится формула, реализующая функцию, двойственную к заданной функции. Пример: законы дистрибутивности, формулы де Моргана, правила поглощения и т. д.
Разложение булевых функций по переменным. Совершенная ДНФ и совершенная КНФ.
Для булевой переменной x и булевого параметра s определим функцию
или .
Теорема 1. (О разложении функции по множеству переменных) Каждую при можно представить в следующей форме:
,
где дизъюнкция берется по всем наборам переменных .
Доказательство. Вместо подставим набор и получим равенство.
Замечание. В теореме 1 функцию можно заменить функцией .
Следствие 1. При имеем разложение по переменной
.
Следствие 2. При имеем представление
,
называемое совершенной ДНФ (ДНФ – дизъюнктивная нормальная форма), причем функцию 0 нельзя представить в виде совершенной ДНФ.
Замечание. В следствии 2 функцию можно заменить .
Таким образом, каждую булеву функцию можно реализовать формулой над множеством связок или .
|
|
Следствие 3. Каждая булева функция, кроме 1, имеет представление
,
называемое совершенной КНФ (КНФ – конъюнктивная нормальная форма).
Доказательство. Для функции совершенная ДНФ имеет вид
,
а для двойственной функции к получим
.
Так как и
,
то получим требуемое выражение в виде совершенной КНФ.