Специальные представления булевых функций
Дизъюнктивные и конъюнктивные нормальные формы алгебры высказываний.Для каждой функции логики высказываний можно составить таблицу истинности. Обратная задача тоже всегда разрешима. Введем несколько определений.
Элементарными конъюнкциями (конъюнктами) называются конъюнкции переменных или их отрицаний, в которых каждая переменная встречается не более
одного раза.
Дизъюнктивной нормальной формой (ДНФ) называется формула, имеющая вид дизъюнкции элементарных конъюнкций.
Элементарными дизъюнкциями (дизъюнктами) называются дизъюнкции переменных с отрицаниями или без них.
Конъюнктивной нормальной формой (КНФ) называется формула, имеющая вид конъюнкции элементарных дизъюнкций.
Для каждой функции алгебры высказываний можно найти множество дизъюнктивных и конъюнктивных нормальных форм.
Алгоритм построения ДНФ:
1. Перейти к булевым операциям, используя формулы эквивалентных преобразований.
2. Перейти к формулам с тесными отрицаниями, то есть к формуле, в которой отрицания располагаются не выше, чем над переменными – применить законы де Моргана.
3. Раскрыть скобки – применить законы дистрибутивности.
4. Повторяющиеся слагаемые взять по одному разу – закон идемпотентности.
5. Применить законы поглощения и полупоглощения.
Пример 6. Найти ДНФ формулы: .
В алгебре Буля справедлив принцип двойственности. Он заключается в следующем.
Функция называется двойственной к функции , если . Т.е. для нахождения функции, двойственной к заданной, необходимо построить отрицание функции от отрицаний аргументов.
Пример 7. Найти функцию, двойственную к .
Среди элементарных функций алгебры логики 1 двойственна 0 и наоборот, х двойственна х, двойственна , двойственна и наоборот.
Если в формуле F1 представляющей функцию все конъюнкции заменить
на дизъюнкции, дизъюнкции на конъюнкции, 1 на 0, 0 на 1, то получим формулу F*, представляющую функцию *, двойственную .
Конъюнктивная нормальная форма (КНФ) – двойственное для ДНФ понятие, поэтому ее легко построить по схеме:
Пример 8. Найти КНФ формулы: .
Воспользовавшись результатом примера 6, имеем
Совершенная дизъюнктивная и совершенная конъюнктивная нормальные формы.В каждом из типов нормальных форм (дизъюнктивных и конъюнктивных) можно выделить класс совершенных форм СДНФ и СКНФ.
Совершенной элементарной конъюнкцией называется логическое произведение всех переменных с отрицанием или без них, причем, каждая переменная входит в произведение только один раз.
Всякую ДНФ можно привести к СДНФ расщеплением конъюнкций, которые содержат не все переменные, т.е. добавлением для отсутствующей переменной xi множится с применением закона дистрибутивности
Пример 9. Найти СДНФ для ДНФ примера 6
Совершенной элементарной дизъюнкцией называется логическая сумма всех переменных с отрицаниями или без них, причем, каждая переменная входит в сумму только один раз.
Всякую КНФ можно привести к СКНФ, добавляя член конъюнкции, не содержащий какой – либо переменной Xi конъюнкцией и применяя дистрибутивный закон
Пример 10 . Привести КНФ к СКНФ:
Для построения СКНФ можно воспользоваться схемой
Пример 11. Найти СКНФ для формулы примера 6.
Всякая функция имеет СДНФ и, притом, единственную . Каждая функция имеет СКНФ и, притом, единственную .
Т.к. СДНФ и СКНФ определены формулами однозначно, их можно строить по таблице истинности формулы.
Для построения СДНФ необходимо выделить строки, в которых F принимает значение 1 и записать для них совершенные элементарные конъюнкции. Если значение переменной в нужной строке таблицы истинности равно единице, то в совершенном конъюнкте она берется без отрицания, если нулю – то с отрицанием. Затем совершенные конъюнкты (их число равно числу единиц в таблице) соединяются знаками дизъюнкции.
Для построения СКНФ по таблице истинности необходимо выделить в ней строки, где F=0, и записать совершенные элементарные дизъюнкции, после чего соединить их знаками конъюнкции. Если в требуемой строке таблицы истинности (F=0) значение переменной соответствует нулю, то в совершенном дизъюнкте она берется без отрицания, если единице – то с отрицанием.
Пример 12. Найти СДНФ и СКНФ по таблице истинности для формулы примера 6.
В таблице 14 приведено лишь конечное значение F=10101101. В справедливости этого утверждения следует убедиться самостоятельно, построив развернутую таблицу истинности.
Таблица 14
x | y | z | ||
СДНФ =
СКНФ = .
Как видно из примеров 9, 10, 11, 12 значения СДНФ и СКНФ, полученные различными способами, для заданной функции совпадают. Это еще раз подчеркивает единственность представления функции в совершенных нормальных формах.
Дата добавления: 2015-08-21; просмотров: 3243;