En álgebra booleana , una fórmula está en forma normal conjuntiva ( FNC ) o en forma normal clausal si es una conjunción de una o más cláusulas , donde una cláusula es una disyunción de literales ; dicho de otro modo, es un producto de sumas o un AND de OR .
En la demostración automatizada de teoremas , la noción de " forma normal clausal " se usa a menudo en un sentido más restringido, refiriéndose a una representación particular de una fórmula en forma normal clausal como un conjunto de conjuntos de literales.
Definición
Una fórmula lógica se considera en forma normal conjuntiva (FNC) si es una conjunción de una o más disyunciones de uno o más literales . Al igual que en la forma normal disyuntiva (FND), los únicos operadores proposicionales en FNC son o (), y (), y no (). El operador not solo puede usarse 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 la forma normal de contexto (FNC):
- CNFDesunidoDesunidoCNF
- DesunidoLiteralLiteralDesunido
- LiteralVariableVariable
Donde Variable es cualquier variable.
Todas las siguientes fórmulas en las variablesyestán en forma conjuntiva normal:
Las siguientes fórmulas no están en forma conjuntiva normal:
- , ya que un AND está anidado dentro de un NOT
- , ya que un OR está anidado dentro de un NOT
- , ya que un AND está anidado dentro de un OR
- , ya que un OR anidado debe escribirse sin paréntesis
Conversión a FNC
En lógica clásica, cada fórmula proposicional puede convertirse en una fórmula equivalente que está en FNC. [ 1 ] Esta transformación se basa en reglas sobre equivalencias lógicas : eliminación de la doble negación , leyes de De Morgan y la ley distributiva .
Algoritmo básico
El algoritmo para calcular un equivalente en forma normal conjuntiva (FNC) de una fórmula proposicional dada.se basa enen forma normal disyuntiva (FND) : paso 1. [ 2 ] Entoncesse convierte enintercambiando AND con OR y viceversa mientras se niegan todos los literales. Eliminar todo. [ 1 ]
Conversión por medios sintácticos
Convierta la fórmula proposicional a FNC.
Paso 1 : Convertir su negación a forma normal disyuntiva. [ 2 ]
, [ 3 ]
donde cadaes una conjunción de literales. [ 4 ]
Paso 2 : NegarLuego cambia.hacia adentro aplicando las equivalencias (generalizadas) de De Morgan hasta que ya no sea posible. dónde
Paso 3 : Eliminar todas las negaciones dobles.
Ejemplo
Convierta la fórmula proposicional a FNC . [ 5 ]
El equivalente DNF (completo) de su negación es [ 2 ]
Conversión por medios semánticos
Se puede derivar un equivalente en forma normal conjuntiva (FNC) de una fórmula a partir de su tabla de verdad . Consideremos nuevamente la fórmula. . [ 5 ]
La tabla de verdad correspondiente es
Un equivalente CNF dees
Cada disyunción refleja una asignación de variables para las cualesse evalúa como F(alse). Si en dicha asignación una variable
- es T(verdadero), entonces el literal se establece enen la disyunción,
- es F(alse), entonces el literal se establece enen la disyunción.
Otros enfoques
Dado que todas las fórmulas proposicionales pueden convertirse en una fórmula equivalente en forma normal conjuntiva, las demostraciones a menudo se basan en la suposición de que todas las fórmulas son FNC. Sin embargo, en algunos casos esta conversión a FNC puede conducir a una explosión exponencial de la fórmula. Por ejemplo, al traducir la fórmula no FNC
en CNF produce una fórmula concláusulas:
Cada cláusula contieneopara cada.
Existen transformaciones a FNC que evitan un aumento exponencial del tamaño al preservar la satisfacibilidad en lugar de la equivalencia . [ 6 ] [ 7 ] Estas transformaciones garantizan que el tamaño de la fórmula solo aumente linealmente, pero introducen nuevas variables. Por ejemplo, la fórmula anterior se puede transformar a FNC añadiendo variables.como sigue:
Una interpretación satisface esta fórmula solo si al menos una de las nuevas variables es verdadera. Si esta variable es verdadera,, entonces ambosyTambién son ciertas. Esto significa que cada modelo que satisface esta fórmula también satisface la original. Por otro lado, solo algunos de los modelos de la fórmula original satisfacen esta: puesto queComo no se mencionan en la fórmula original, sus valores son irrelevantes para su satisfacción, lo cual no ocurre en la última fórmula. Esto significa que la fórmula original y el resultado de la traducción son equisatisfacibles , pero no equivalentes .
Una traducción alternativa, la transformación de Tseitin , también incluye las cláusulasCon estas cláusulas, la fórmula implica; esta fórmula se considera a menudo como "definitiva"ser un nombre para.
Número máximo de disyunciones
Consideremos una fórmula proposicional convariables,.
Hayposibles literales:.
tienesubconjuntos no vacíos. [ 8 ]
Este es el número máximo de disyunciones que puede tener una CNF. [ 9 ]
Todas las combinaciones veritativo-funcionales pueden expresarse condisyunciones, una por cada fila de la tabla de verdad. En el ejemplo siguiente están subrayadas.
Ejemplo
Consideremos una fórmula con dos variables.y.
La CNF más larga posible tienedisyunciones: [ 9 ]
Esta fórmula es una contradicción . Se puede simplificar ao para, que también son contradicciones, así como FNC válidas.
Complejidad computacional
Un conjunto importante de problemas en complejidad computacional implica encontrar asignaciones a las variables de una fórmula booleana expresada en forma normal conjuntiva, de tal manera que la fórmula sea verdadera. El problema k -SAT es el problema de encontrar una asignación satisfactoria a una fórmula booleana expresada en CNF en la que cada disyunción contiene como máximo k variables. 3-SAT es NP-completo (como cualquier otro problema k -SAT con k > 2) mientras que se sabe que 2-SAT tiene soluciones en tiempo polinomial . Como consecuencia, [ 10 ] la tarea de convertir una fórmula en una DNF , preservando la satisfacibilidad, es NP-difícil ; dualmente , convertirla en CNF, preservando la validez , también es NP-difícil; por lo tanto, la conversión que preserva la equivalencia a DNF o CNF es nuevamente NP-difícil.
Los problemas típicos en este caso involucran fórmulas en "3CNF": forma normal conjuntiva con no más de tres variables por conjunción. Los ejemplos de tales fórmulas que se encuentran en la práctica pueden ser muy extensos, por ejemplo, con 100 000 variables y 1 000 000 de conjunciones.
Una fórmula en FNC se puede convertir en una fórmula equisatisfacible en " k FNC" (para k ≥ 3) reemplazando cada conjunción con más de k variables.por dos conjuntivosycon Z una nueva variable, y repitiendo tantas veces como sea necesario.
Lógica de primer orden
En lógica de primer orden, la forma normal conjuntiva se puede llevar más allá para producir la forma normal clausal de una fórmula lógica, que luego se puede usar para realizar la resolución de primer orden . En la demostración automática de teoremas basada en resolución, una fórmula CNF
Vea a continuación un ejemplo.
Conversión desde lógica de primer orden
Para convertir la lógica de primer orden a FNC: [ 12 ]
- Convertir a la forma normal de negación .
- Eliminar implicaciones y equivalencias: reemplazar repetidamentecon; reemplazarcon. Eventualmente, esto eliminará todas las ocurrencias dey.
- Mueva los NOT hacia adentro aplicando repetidamente la ley de De Morgan . Específicamente, reemplacecon; reemplazarcon; y reemplazarcon; reemplazarcon;con. Después de eso, unpuede aparecer solo inmediatamente antes de un símbolo de predicado.
- Estandarizar variables
- Para oraciones comoque utilizan el mismo nombre de variable dos veces, cambie el nombre de una de las variables. Esto evita confusiones posteriores al eliminar cuantificadores. Por ejemplo,se cambia de nombre a.
- Skolemizar la declaración
- Mover los cuantificadores hacia afuera: reemplazar repetidamentecon; reemplazarcon; reemplazarcon; reemplazarconEstos reemplazos preservan la equivalencia, ya que el paso de estandarización de variables anterior garantizó queno ocurre en. Después de estas sustituciones, un cuantificador puede aparecer solo en el prefijo inicial de la fórmula, pero nunca dentro de una,, o.
- Reemplazar repetidamentecon, dóndees un nuevoSímbolo de función -aria, una llamada " función de Skolem ". Este es el único paso que conserva únicamente la satisfacibilidad en lugar de la equivalencia. Elimina todos los cuantificadores existenciales.
- Elimine todos los cuantificadores universales.
- Distribuye los OR hacia adentro sobre los AND: reemplaza repetidamentecon.
Ejemplo
Como ejemplo, la fórmula que dice "Quien ama a todos los animales, es a su vez amado por alguien" se convierte en FNC (y posteriormente en forma de cláusula en la última línea) de la siguiente manera (resaltando las reglas de reemplazo redexes en):
De manera informal, la función de Skolempuede pensarse como ceder a la persona por quienes amado, mientras queproduce el animal (si lo hay) queno ama. La antepenúltima línea desde abajo dice entonces "no ama al animalo de lo contrarioes amado por" .
La penúltima línea desde arriba,, es la FNC.
Véase también
- Forma normal algebraica
- Dualidad conjunción/disyunción
- Forma normal disyuntiva
- Cláusula de Horn : una cláusula de Horn es una cláusula disyuntiva (una disyunción de literales ) con como máximo un literal positivo, es decir , no negado .
- Algoritmo de Quine-McCluskey
Notas
- 1 2 Howson 2005 , pág. 46.
- 1 2 3 ver Forma normal disyuntiva § Conversión a FND
- ↑número máximo de conjunciones para
- ↑número máximo de literales para
- 1 2= (( NO (p Y q)) SI Y SOLO SI (( NO r) NAND (p XOR q)))
- ↑ Tseitin 1968 .
- ↑ Jackson y Sheridan 2004 .
- ↑
- 1 2 Se supone que las repeticiones y variaciones (como) basado en la conmutatividad y asociatividad deyno ocurren.
- ↑ ya que una forma de comprobar la satisfacibilidad de una CNF es convertirla en una DNF , cuya satisfacibilidad se puede comprobar en tiempo lineal.
- ↑número máximo de disyuncionesnúmero máximo de literales
- ↑ Russel y Norvig 2010 , págs. 345–347, 9.5.1 Forma normal conjuntiva para la lógica de primer orden.
Referencias
- Andrews, Peter B. (2013). Introducción a la lógica matemática y la teoría de tipos: Hacia la verdad a través de la demostración . Springer. ISBN 978-9401599344.
- Howson, Colin (11 de octubre de 2005) [1997]. Lógica con árboles: una introducción a la lógica simbólica . Routledge. ISBN 978-1-134-78550-6.
- Jackson, Paul; Sheridan, Daniel (10 de mayo de 2004). «Conversiones de forma de cláusula para circuitos booleanos» (PDF) . En Hoos, Holger H.; Mitchell, David G. (eds.). Teoría y aplicaciones de las pruebas de satisfacibilidad . 7.ª Conferencia Internacional sobre Teoría y Aplicaciones de las Pruebas de Satisfacibilidad, SAT . Artículos seleccionados revisados. Lecture Notes in Computer Science. Vol. 3542. Vancouver, BC, Canadá: Springer 2005. pp. 183–198 . doi : 10.1007/11527695_15 . ISBN 978-3-540-31580-3.
- Kleine Büning, Hans; Lettmann, Theodor (28 de agosto de 1999). Lógica proposicional: deducción y algoritmos . Cambridge University Press . ISBN 978-0-521-63017-7.
- Russel, Stuart ; Norvig, Peter , eds. (2010) [1995]. Inteligencia artificial : un enfoque moderno (PDF) (3.ª ed.). Upper Saddle River, NJ: Prentice Hall. ISBN 978-0-13-604259-4Archivado (PDF) del original el 31 de agosto de 2017 .
- Tseitin, Grigori S. (1968). "Sobre la complejidad de la derivación en el cálculo proposicional" (PDF) . En Slisenko, AO (ed.). Estructuras en matemáticas constructivas y lógica matemática, Parte II, Seminarios de matemáticas (traducido del ruso) . Instituto Matemático Steklov. pp. 115–125 .
- Whitesitt, J. Eldon (24 de mayo de 2012) [1961]. Álgebra booleana y sus aplicaciones . Courier Corporation. ISBN 978-0-486-15816-7.
Enlaces externos
- "Forma normal conjuntiva" , Enciclopedia de Matemáticas , EMS Press , 2001 [1994]
- "Herramienta Java para convertir una tabla de verdad a FNC y FND" . Universidad de Marburgo . Consultado el 31 de diciembre de 2023 .
- Formas normales (lógica)
- Recopilación de conocimientos