Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Все союзы литералов и все дизъюнкции литералов находятся в CNF, поскольку их можно рассматривать как союзы однобуквенных предложений и союзов одного предложения, соответственно. Как и в дизъюнктивной нормальной форме (ДНФ), единственными пропозициональными связками, которые может содержать формула в КНФ, являются и , или , и not . Оператор not может использоваться только как часть литерала, что означает, что он может предшествовать только пропозициональной переменной или символу предиката .

В автоматическом доказательстве теорем понятие « нормальная форма клаузии » часто используется в более узком смысле, имея в виду конкретное представление формулы CNF в виде набора наборов литералов.

Примеры и не примеры [ править ]

Все следующие формулы в переменных A, B, C, D, E и F находятся в конъюнктивной нормальной форме:

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

Следующие формулы не имеют конъюнктивной нормальной формы:

  • , поскольку ИЛИ вложено в НЕ
  • , поскольку И вложено в ИЛИ

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

Преобразование в CNF [ править ]

[1] Каждая пропозициональная формула может быть преобразована в эквивалентную формулу в CNF. Это преобразование основано на правилах логической эквивалентности : исключении двойного отрицания , законах Де Моргана и распределительном законе .

Поскольку все пропозициональные формулы могут быть преобразованы в эквивалентные формулы в конъюнктивной нормальной форме, доказательства часто основываются на предположении, что все формулы являются КНФ. Однако в некоторых случаях это преобразование в CNF может привести к экспоненциальному взрыву формулы. Например, перевод следующей формулы, отличной от CNF, в CNF дает формулу с пунктами:

В частности, полученная формула:

Эта формула содержит пункты; каждое предложение содержит одно или для каждого .

Существуют преобразования в CNF, которые избегают экспоненциального увеличения размера, сохраняя выполнимость, а не эквивалентность . [2] [3] Эти преобразования гарантируют только линейное увеличение размера формулы, но вводят новые переменные. Например, приведенная выше формула может быть преобразована в CNF путем добавления следующих переменных :

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

Альтернативный перевод, преобразование Цейтина , также включает в себя клаузулы . С этими пунктами формула подразумевает ; эта формула часто рассматривается как «определение» как название для .

Логика первого порядка [ править ]

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

См ниже в качестве примера.

Вычислительная сложность [ править ]

Важный набор проблем вычислительной сложности включает нахождение присвоений переменным булевой формулы, выраженной в конъюнктивной нормальной форме, таким образом, чтобы формула была истинной. Задача k -SAT - это проблема нахождения удовлетворительного присваивания булевой формуле, выраженной в CNF, в которой каждая дизъюнкция содержит не более k переменных. 3-SAT является NP-полной (как и любая другая задача k -SAT с k > 2), в то время как 2-SAT, как известно, имеет решения за полиномиальное время . Как следствие, [4] задача преобразования формулы в ДНФ, сохраняя выполнимость, NP-трудна ; в общем , преобразование в CNF с сохранением достоверности также является NP-трудным; следовательно, преобразование с сохранением эквивалентности в DNF или CNF снова является NP-трудным.

Типичные проблемы в этом случае связаны с формулами в "3CNF": конъюнктивная нормальная форма с не более чем тремя переменными на конъюнкт. Примеры таких формул, встречающихся на практике, могут быть очень большими, например, со 100 000 переменных и 1 000 000 конъюнктов.

Формула в КНФ может быть преобразована в equisatisfiable формулы в « K CNF» (для к ≥3) путем замены каждого конъюнкт с более чем K переменных двумя конъюнктов и с Z новой переменной, и повторяя так часто , как это необходимо.

Преобразование из логики первого порядка [ править ]

Чтобы преобразовать логику первого порядка в CNF: [1]

  1. Преобразовать в нормальную форму отрицания .
    1. Устранение последствий и эквивалентностей: неоднократно заменять на ; заменить на . В конце концов, это устранит все вхождения и .
    2. Переместите НЕ внутрь, многократно применяя закон Де Моргана . В частности, заменить на ; заменить на ; и заменить на ; заменить на ; с . После этого a может стоять только непосредственно перед предикатным символом.
  2. Стандартизируйте переменные
    1. Для предложений, например, которые используют одно и то же имя переменной дважды, измените имя одной из переменных. Это позволяет избежать путаницы при отбрасывании кванторов. Например, переименован в .
  3. Сколемизируйте заявление
    1. Переместить кванторы наружу: повторно заменить на ; заменить на ; заменить на ; заменить на . Эти замены сохраняют эквивалентность, поскольку предыдущий шаг стандартизации переменных гарантировал, что этого не произойдет в . После этих замен, квантор может иметь место только в начальном префиксе формулы, но никогда не Внутри , или .
    2. Неоднократно заменяйте на , где - новый символ функции, так называемая " сколем функция ". Это единственный шаг, который сохраняет только выполнимость, а не эквивалентность. Он устраняет все экзистенциальные кванторы.
  4. Отбросьте все универсальные кванторы.
  5. Распределите ИЛИ внутрь по И: несколько раз замените на .

Например, формула «Любой, кто любит всех животных, в свою очередь, кого-то любит» преобразуется в CNF (а затем в форму предложения в последней строке) следующим образом (выделение правила замены переиндексируется в ):

Неформально, функция skolem может рассматриваться как уступка человеку, которого любит, в то время как рождение животного (если оно есть), которое не любит. Третья последняя строка снизу читается как « не любит животное , иначе его любят » .

Вторая последняя строка сверху - это CNF.

Заметки [ править ]

  1. ^ a b Искусственный интеллект: современный подход. Архивировано 31 августа 2017 г. в Wayback Machine [1995 ...] Рассел и Норвиг.
  2. ^ Цейтин (1968)
  3. ^ Джексон и Шеридан (2004)
  4. ^ так как один из способов проверить CNF на выполнимость - это преобразовать его в DNF , выполнимость которого может быть проверена за линейное время.

См. Также [ править ]

  • Алгебраическая нормальная форма
  • Дизъюнктивная нормальная форма
  • Оговорка о роге
  • Алгоритм Куайна – Маккласки

Ссылки [ править ]

  • Дж. Элдон Уайтситт (24 мая 2012 г.). Булева алгебра и ее приложения . Курьерская корпорация. ISBN 978-0-486-15816-7.
  • Ханс Кляйне Бюнинг; Теодор Леттманн (28 августа 1999 г.). Логика высказываний: дедукция и алгоритмы . Издательство Кембриджского университета. ISBN 978-0-521-63017-7.
  • Пол Джексон, Дэниел Шеридан: Преобразования форм предложения для логических схем . В: Holger H. Hoos, David G. Mitchell (Eds.): Theory and Applications of Satisfiability Testing, 7-я Международная конференция, SAT 2004, Ванкувер, Британская Колумбия, Канада, 10–13 мая 2004 г., Пересмотренные избранные статьи. Конспект лекций по информатике 3542, Springer 2005, стр. 183–198
  • Г. С. Цейтин: О сложности вывода в исчислении высказываний . В кн .: Слисенко А.О. (ред.) Структуры в конструктивной математике и математической логике, часть II, Семинары по математике, с. 115–125. Математический институт им. В. А. Стеклова (1968)

Внешние ссылки [ править ]

  • "Конъюнктивная нормальная форма" , Энциклопедия математики , EMS Press , 2001 [1994]
  • Java-апплет для преобразования в CNF и DNF, показывающий используемые законы