Дизъюнктивная нормальная форма

Дизъюнктивная нормальная форма

Дизъюнкти́вная норма́льная фо́рма (ДНФ) в булевой логикенормальная форма, в которой булева формула имеет вид дизъюнкции конъюнкций литералов. Любая булева формула может быть приведена к ДНФ.[1] Для этого можно использовать закон двойного отрицания, закон де Моргана, закон дистрибутивности. Дизъюнктивная нормальная форма удобна для автоматического доказательства теорем.

Содержание

Примеры и контрпримеры

Формулы в ДНФ:

A \or B
(A \and B) \or \neg A
(A \and B \and \neg C) \or (\neg D \and E \and F) \or (C \and D) \or B

Формулы не в ДНФ:

\neg(A \or B)
A \or (B \and (C \or D))

Построение ДНФ

Алгоритм построения ДНФ

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

A \rightarrow B = \neg A \vee B
A \leftrightarrow B = (A \wedge B) \vee (\neg A \wedge \neg B)

2) Заменить знак отрицания, относящийся ко всему выражению, знаками отрицания, относящимися к отдельным переменным высказываниям на основании формул:

\neg (A \vee B) = \neg A \wedge \neg B
\neg (A \wedge B) = \neg A \vee \neg B

3) Избавиться от знаков двойного отрицания.

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

Пример построения ДНФ

Приведем к ДНФ формулу :F = ((X \rightarrow Y) \downarrow \neg (Y \rightarrow Z))

Выразим логические операции → и ↓ через :\vee \wedge \neg

F = ((\neg X \vee Y) \downarrow \neg(\neg Y \vee Z)) = \neg ((\neg X \vee Y) \vee \neg (\neg Y \vee Z))

В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:

F = \neg ((\neg X \vee Y) \vee \neg (\neg Y \vee Z)) = (\neg \neg X \wedge \neg Y) \wedge (\neg Y \vee Z) = (X \wedge \neg Y) \wedge (\neg Y \vee Z)

Используя закон дистрибутивности, приводим формулу к ДНФ:

F = (X \wedge \neg Y \wedge \neg Y) \vee (X \wedge \neg Y \wedge Z)

k-дизъюнктивная нормальная форма

k-дизъюнктивная нормальной формой называют дизъюнктивную нормальную форму, в которой каждая конъюнкция содержит ровно k литералов.

Например, следующая формула записана в 2-ДНФ:

(A \and B) \or (\neg B \and C) \or (B \and \neg C)

Переход от ДНФ к СДНФ

Если в какой-то простой конъюнкции недостает переменной, например, Z, вставляем в нее выражение :Z \vee \neg Z = 1, после чего раскрываем скобки (при этом повторяющиеся дизъюнктные слагаемые не пишем, так как Z \vee Z = Z по закону Идемпотентности). Например:

X \vee \neg Y \neg Z = X(Y \vee \neg Y)(Z \vee \neg Z) \vee (X \vee \neg X)\neg Y \neg Z = XYZ \vee X \neg YZ \vee XY \neg Z \vee X \neg Y \neg Z \vee X \neg Y \neg Z \vee \neg X \neg Y \neg Z =
 = XYZ \vee X \neg YZ \vee XY \neg Z \vee X \neg Y \neg Z \vee \neg X \neg Y \neg Z

Таким образом, из ДНФ получили СДНФ.

Формальная грамматика, описывающая ДНФ

Следующая формальная грамматика описывает все формулы, приведенные к ДНФ:

<ДНФ> → <конъюнкт>
<ДНФ> → <ДНФ> ∨ <конъюнкт>
<конъюнкт> → <литерал>
<конъюнкт> → (<конъюнкт> ∧ <литерал>)
<литерал> → <терм>
<литерал> → ¬<терм>

где <терм> обозначает произвольную булеву переменную.

См. также

Примечания

  1. Поздняков С.Н., Рыбин С.В. Дискретная математика. — С. 303.

Литература

  • Ю.И. Галушкина, А.Н. Марьямов: Конспект лекций по дискретной математике - 2-е изд., испр. - М.: Айрис-пресс, 2008. - 176 с. - (Высшее образование)

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Дизъюнктивная нормальная форма" в других словарях:

  • дизъюнктивная нормальная форма — ДНФ — [http://www.rfcmd.ru/glossword/1.8/index.php?a=index d=23] Тематики защита информации Синонимы ДНФ EN disjunctive normal formDNF …   Справочник технического переводчика

  • дизъюнктивная нормальная форма — norminė disjunkcinė forma statusas T sritis automatika atitikmenys: angl. disjunctive normal form; DNF vok. disjungtive Normalform, f rus. дизъюнктивная нормальная форма, f pranc. forme disjonctive normale, f …   Automatikos terminų žodynas

  • ТУПИКОВАЯ ДИЗЪЮНКТИВНАЯ НОРМАЛЬНАЯ ФОРМА — представляющая заданную булеву функцию дизъюнктивная нормальная форма (д. н. ф.), к рую нельзя упростить ни вычеркиванием буквы из нек рой конъюнкции, ни удалением какой либо конъюнкции. Минимальная д. н. ф. получается из сокращенной д. н. ф.… …   Математическая энциклопедия

  • ДИЗЪЮНКТИВНАЯ НОРМАЛЬНАЯ ФОРМА — пропозициональная формула, имеющая вид (*) где каждое Cij(i=1, ... , n; j=1, ... , mi) есть либо переменная, либо отрицание переменной. Д. н. ф. (*) выполнима тогда и только тогда, когда при нек ром iсреди С i1, ..., С iтi не встречаются… …   Математическая энциклопедия

  • Нормальная форма (математика) — У этого термина существуют и другие значения, см. Нормальная форма (значения). Нормальная форма  в математике простейший либо канонический вид, к которому объект приводится эквивалентными преобразованиями[1]. Содержание 1 Жорданова… …   Википедия

  • Конъюнктивная нормальная форма — (КНФ) в булевой логике  нормальная форма, в которой булева формула имеет вид конъюнкции дизъюнкций литералов. Конъюнктивная нормальная форма удобна для автоматического доказательства теорем. Любая булева формула может быть приведена к… …   Википедия

  • СОКРАЩЕННАЯ НОРМАЛЬНАЯ ФОРМА — булевой функции дизъюнктивная нормальная форма (д. н. ф.), представляющая собой дизъюнкцию всех простых импликант данной функции. Конъюнкция наз. импликантой булевой функции f, если справедливо соотношение Импликанта наз. простой, если после… …   Математическая энциклопедия

  • Нормальная форма (значения) — Нормальная форма: Нормальная форма в базах данных  свойство отношения в реляционной модели данных. Нормальная форма в математике  в каком либо смысле простейший либо канонический вид, к которому объект приводится преобразованиями,… …   Википедия

  • Совершенная Дизъюнктивная Нормальная Форма — …   Википедия

  • СОВЕРШЕННАЯ НОРМАЛЬНАЯ ФОРМА — совершенная дизъюнктивная или совершенная конъюнктивная нормальная форма (см. Булевых функций нормальные формы) …   Математическая энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»