КНФ — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
''' КНФ (Конъюнктивная Нормальная Форма)'''  в булевой логике — нормальная форма, в которой булева формула имеет вид конъюнкции нескольких дизъюнктов.
+
{{Определение
 
+
|definition =
 +
КНФ (Конъюнктивная Нормальная Форма) нормальная форма, в которой булева формула имеет вид конъюнкции нескольких дизъюнктов.
 +
}}
 
Пример КНФ:
 
Пример КНФ:
 
<math>(x \or y) \and (y \or \neg z)</math>
 
<math>(x \or y) \and (y \or \neg z)</math>

Версия 00:59, 9 октября 2010

Определение:
КНФ (Конъюнктивная Нормальная Форма) — нормальная форма, в которой булева формула имеет вид конъюнкции нескольких дизъюнктов.

Пример КНФ: [math](x \or y) \and (y \or \neg z)[/math]

СКНФ (Совершенная Конъюнктивная Нормальная Форма) — это такая КНФ, которая удовлетворяет условиям:

  • в ней нет одинаковых элементарных дизъюнкций
  • в каждой дизъюнкции нет одинаковых переменных
  • каждая элементарная дизъюнкция содержит каждую из входящих в данную КНФ переменных.

Пример СКНФ: [math](x \or \neg y \or z) \and (x\or y \or \neg z)[/math]

Алгоритм построения СКНФ по таблице истинности

  • В таблице отмечаем наборы переменных, которые приводят логическое выражение в состояние нуля.
  • В дизъюнкцию записываем переменную без инверсии, если она в наборе равна 0, и с инверсией, если она равна 1.
  • Полученные дизъюнкции связываем операциями конъюнкции

Примеры СКНФ для некоторых функций

Стрелка Пирса: [math](\neg x \or y) \and (x \or \neg y) \and (\neg x \or \neg y)[/math]

Медиана трёх: [math]( x \or y \or z) \and (\neg x \or y \or z) \and (x \or \neg y \or z) \and ( x \or y \or \neg z)[/math]