Forma normal disyuntiva - Disjunctive normal form

En lógica booleana , una forma normal disyuntiva ( DNF ) es una forma normal canónica de una fórmula lógica que consiste en una disyunción de conjunciones; también se puede describir como un OR de AND , una suma de productos o (en lógica filosófica ) un concepto de agrupación . Como forma normal , es útil en la demostración automática de teoremas .

Definición

Se considera que una fórmula lógica está en DNF si es una disyunción de una o más conjunciones de uno o más literales . Una fórmula DNF está en forma normal disyuntiva completa si cada una de sus variables aparece exactamente una vez en cada conjunción. Como en la forma normal conjuntiva (CNF), los únicos operadores proposicionales en DNF son y ( ), o ( ), y no ( ). El operador not solo se puede usar como parte de un literal, lo que significa que solo puede preceder a una variable proposicional .

La siguiente es una gramática libre de contexto para DNF:

  1. DNF → ( Conjunción ) DNF
  2. DNF → ( Conjunción )
  3. ConjunciónConjunción literal
  4. ConjunciónLiteral
  5. LiteralVariable
  6. LiteralVariable

Donde Variable es cualquier variable.

Por ejemplo, todas las fórmulas siguientes están en DNF:

Sin embargo, las siguientes fórmulas no están en DNF:

  • , ya que un OR está anidado dentro de un NOT
  • , ya que un AND está anidado dentro de un NOT
  • , ya que un OR está anidado dentro de un AND

La fórmula está en DNF, pero no en DNF completo; una versión equivalente de DNF completo es .

Conversión a DNF

Mapa de Karnaugh de la forma normal disyuntiva A ∧¬ B ∧¬ D )ABC )( ABD )( A ∧¬ B ∧¬ C )
Mapa de Karnaugh de la forma normal disyuntiva AC ∧¬ D )( BCD )( A ∧¬ CD )B ∧¬ C ∧¬ D ) . A pesar de la diferente agrupación, los mismos campos contienen un "1" como en el mapa anterior.

Convertir una fórmula a DNF implica el uso de equivalencias lógicas , como la eliminación de la doble negación , las leyes de De Morgan y la ley distributiva .

Todas las fórmulas lógicas se pueden convertir a una forma normal disyuntiva equivalente. Sin embargo, en algunos casos, la conversión a DNF puede conducir a una explosión exponencial de la fórmula. Por ejemplo, convertir la fórmula a DNF produce una fórmula con 2 n términos.

Cada función booleana particular puede ser representada por una y solo una forma normal disyuntiva completa , una de las formas canónicas . En contraste, dos formas normales disyuntivas simples diferentes pueden denotar la misma función booleana, ver imágenes.

Complejidad computacional

El problema de satisfacibilidad booleana en fórmulas conjuntivas de forma normal es NP-difícil ; por el principio de dualidad , también lo es el problema de falsabilidad en las fórmulas DNF. Por lo tanto, es co-NP-difícil decidir si una fórmula DNF es una tautología .

Variantes

Una variación importante utilizada en el estudio de la complejidad computacional es k-DNF . Una fórmula está en k-DNF si está en DNF y cada conjunción contiene como máximo k literales.

Ver también

Notas

Referencias

enlaces externos