En lógica matemática y demostración automática de teoremas , la resolución es una regla de inferencia que conduce a una técnica de demostración de teoremas completa para refutación en lógica proposicional y lógica de primer orden . Para la lógica proposicional, la aplicación sistemática de la regla de resolución actúa como un procedimiento de decisión para la insatisfacibilidad de fórmulas, resolviendo el problema de satisfacibilidad booleana (o su complemento) . Para la lógica de primer orden , la resolución puede utilizarse como base para un semialgoritmo del problema de insatisfacibilidad de la lógica de primer orden , proporcionando un método más práctico que el derivado del teorema de completitud de Gödel .
La regla de resolución se remonta a Davis y Putnam (1960); [ 1 ] sin embargo, su algoritmo requería probar todas las instancias básicas de la fórmula dada. Esta fuente de explosión combinatoria fue eliminada en 1965 por el algoritmo de unificación sintáctica de John Alan Robinson , que permitía instanciar la fórmula durante la prueba "a demanda" hasta donde fuera necesario para mantener la completitud de la refutación . [ 2 ]
La cláusula producida por una regla de resolución a veces se denomina resolvente .
Resolución en lógica proposicional
Regla de resolución
La regla de resolución en lógica proposicional es una única regla de inferencia válida que produce una nueva cláusula implícita por dos cláusulas que contienen literales complementarios. Un literal es una variable proposicional o la negación de una variable proposicional. Se dice que dos literales son complementarios si uno es la negación del otro (en lo siguiente, se considera el complemento de). La cláusula resultante contiene todos los literales que no tienen complementos. Formalmente:
dónde
- todo,, yson literales,
- La línea divisoria representa " implica ".
Lo anterior también puede escribirse como:
O esquemáticamente como:
Disponemos de la siguiente terminología:
- Las cláusulas yson las premisas de la inferencia
- (la resolvente de las premisas) es su conclusión.
- El literales la izquierda resuelta literal,
- El literales el literal resuelto correcto,
- es el átomo resuelto o pivote.
La cláusula resultante de la regla de resolución se denomina resolvente de las dos cláusulas de entrada. Es el principio de consenso aplicado a las cláusulas en lugar de a los términos. [ 3 ]
Cuando las dos cláusulas contienen más de un par de literales complementarios, la regla de resolución se puede aplicar (de forma independiente) para cada uno de esos pares; sin embargo, el resultado siempre es una tautología .
El modus ponens puede considerarse un caso especial de resolución (de una cláusula de un literal y de una cláusula de dos literales).
es equivalente a
Una técnica de resolución
Cuando se combina con un algoritmo de búsqueda completo , la regla de resolución proporciona un algoritmo sólido y completo para decidir la satisfacibilidad de una fórmula proposicional y, por extensión, la validez de una oración bajo un conjunto de axiomas.
Esta técnica de resolución utiliza la prueba por contradicción y se basa en el hecho de que cualquier oración en lógica proposicional puede transformarse en una oración equivalente en forma normal conjuntiva . [ 4 ] Los pasos son los siguientes.
- Todas las oraciones en la base de conocimiento y la negación de la oración que se va a probar (la conjetura ) están conectadas de forma conjuntiva.
- La oración resultante se transforma en una forma normal conjuntiva donde los conjuntivos se consideran elementos en un conjunto, S , de cláusulas. [ 4 ]
- Por ejemplo, da lugar al conjunto.
- La regla de resolución se aplica a todos los pares posibles de cláusulas que contienen literales complementarios. Tras cada aplicación de la regla de resolución, la oración resultante se simplifica eliminando los literales repetidos. Si la cláusula contiene literales complementarios, se descarta (por ser una tautología). Si no los contiene, y si aún no está presente en el conjunto de cláusulas S , se añade a S y se considera para inferencias de resolución posteriores.
- Si después de aplicar una regla de resolución se obtiene la cláusula vacía , la fórmula original es insatisfacible (o contradictoria ) y, por lo tanto, se puede concluir que la conjetura inicial se deduce de los axiomas.
- Si, por otro lado, no se puede derivar la cláusula vacía y no se puede aplicar la regla de resolución para derivar más cláusulas nuevas, la conjetura no es un teorema de la base de conocimiento original.
Un ejemplo de este algoritmo es el algoritmo original de Davis-Putnam , que posteriormente se perfeccionó hasta convertirse en el algoritmo DPLL , el cual eliminó la necesidad de una representación explícita de las resolventes.
Esta descripción de la técnica de resolución utiliza un conjunto S como estructura de datos subyacente para representar las derivaciones de resolución. Las listas , los árboles y los grafos acíclicos dirigidos son otras alternativas posibles y comunes. Las representaciones en árbol son más fieles al hecho de que la regla de resolución es binaria. Junto con una notación de secuencia para las cláusulas, una representación en árbol también deja claro cómo la regla de resolución se relaciona con un caso especial de la regla de corte , restringido a fórmulas de corte atómicas. Sin embargo, las representaciones en árbol no son tan compactas como las representaciones en conjunto o lista, porque muestran explícitamente subderivaciones redundantes de cláusulas que se utilizan más de una vez en la derivación de la cláusula vacía. Las representaciones en grafo pueden ser tan compactas en el número de cláusulas como las representaciones en lista y también almacenan información estructural sobre qué cláusulas se resolvieron para derivar cada resolvente.
Un ejemplo sencillo
En lenguaje sencillo: Supongamoses falso. Para que la premisaser cierto,debe ser cierto. Alternativamente, supongamos quees cierto. Para que la premisaser cierto,debe ser cierto. Por lo tanto, independientemente de la falsedad o veracidad deSi ambas premisas se cumplen, entonces la conclusión esEs cierto.
Resolución en lógica de primer orden
La regla de resolución se puede generalizar a la lógica de primer orden a: [ 5 ]
dóndees un unificador muy general dey, yyno tienen variables comunes.
Ejemplo
Las cláusulasypuede aplicar esta regla concomo unificador.
Aquí x es una variable y b es una constante.
Aquí vemos que
- Las cláusulas yson las premisas de la inferencia
- (la resolvente de las premisas) es su conclusión.
- El literales la izquierda resuelta literal,
- El literales el literal resuelto correcto,
- es el átomo resuelto o pivote.
- es el unificador más general de los literales resueltos.
Explicación informal
En la lógica de primer orden, la resolución condensa los silogismos tradicionales de la inferencia lógica en una sola regla.
Para comprender cómo funciona la resolución, considere el siguiente ejemplo de silogismo de lógica de términos :
- Todos los griegos son europeos.
- Homero es griego.
- Por lo tanto, Homero es europeo.
O, de forma más general:
- Por lo tanto,
Para reformular el razonamiento utilizando la técnica de resolución, primero las cláusulas deben convertirse a la forma normal conjuntiva (FNC). En esta forma, toda cuantificación se vuelve implícita: los cuantificadores universales sobre las variables ( X , Y , ...) simplemente se omiten como entendidos, mientras que las variables cuantificadas existencialmente se reemplazan por funciones de Skolem .
- Por lo tanto,
Entonces, la pregunta es: ¿cómo deduce la técnica de resolución la última cláusula a partir de las dos primeras? La regla es simple:
- Encuentra dos cláusulas que contengan el mismo predicado, donde este se niega en una cláusula pero no en la otra.
- Realiza una unificación de los dos predicados. (Si la unificación falla, has elegido mal los predicados. Vuelve al paso anterior e inténtalo de nuevo).
- Si alguna variable no ligada que estaba ligada en los predicados unificados también aparece en otros predicados de las dos cláusulas, reemplácela también allí con sus valores ligados (términos).
- Descartar los predicados unificados y combinar los restantes de las dos cláusulas en una nueva cláusula, unidas también por el operador "∨".
Para aplicar esta regla al ejemplo anterior, encontramos que el predicado P aparece en forma negativa.
- ¬ P ( X )
en la primera cláusula y en forma no negada
- P ( a )
En la segunda cláusula, X es una variable no ligada, mientras que a es un valor ligado (término). La unificación de ambos produce la sustitución.
- X ↦ a
Si descartamos los predicados unificados y aplicamos esta sustitución a los predicados restantes (solo Q ( X ), en este caso), obtenemos la siguiente conclusión:
- Q ( a )
Como otro ejemplo, consideremos la forma silogística.
- Todos los cretenses son isleños.
- Todos los isleños son mentirosos.
- Por lo tanto, todos los cretenses son mentirosos.
O, de forma más general,
- ∀ X P ( X ) → Q ( X )
- ∀ X Q ( X ) → R ( X )
- Por lo tanto, ∀ X P ( X ) → R ( X )
En la forma normal conjuntiva (FNC), los antecedentes se convierten en:
- ¬ P ( X ) ∨ Q ( X )
- ¬ Q ( Y ) ∨ R ( Y )
(La variable de la segunda cláusula fue renombrada para dejar claro que las variables de diferentes cláusulas son distintas).
Ahora bien, unificar Q ( X ) en la primera cláusula con ¬Q ( Y ) en la segunda cláusula significa que X e Y se convierten en la misma variable. Sustituyendo esto en las cláusulas restantes y combinándolas se obtiene la conclusión:
- ¬ P ( X ) ∨ R ( X )
Factorización
La regla de resolución, tal como la define Robinson, también incorpora la factorización, que unifica dos literales en la misma cláusula, antes o durante la aplicación de la resolución definida anteriormente. La regla de inferencia resultante es refutable [ 6 ] , ya que un conjunto de cláusulas es insatisfacible si y solo si existe una derivación de la cláusula vacía utilizando únicamente la resolución, mejorada mediante la factorización.
Un ejemplo de un conjunto de cláusulas insatisfacibles para el cual se necesita factorización para derivar la cláusula vacía es:
Dado que cada cláusula consta de dos literales, también lo hace cada resolvente posible. Por lo tanto, mediante resolución sin factorización, nunca se puede obtener la cláusula vacía. Usando factorización, se puede obtener, por ejemplo, de la siguiente manera: [ 7 ]
Resolución no categórica
Se han ideado generalizaciones de la regla de resolución anterior que no requieren que las fórmulas originales estén en forma normal clausal . [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ]
Estas técnicas son útiles principalmente en la demostración interactiva de teoremas, donde es importante preservar la legibilidad humana de las fórmulas de resultados intermedios. Además, evitan la explosión combinatoria durante la transformación a forma de cláusula, [ 10 ] : 98 y, en ocasiones, ahorran pasos de resolución. [ 13 ] : 425
Resolución no clausal en lógica proposicional
Para la lógica proposicional, Murray [ 9 ] : 18 y Manna y Waldinger [ 10 ] : 98 utilizan la regla
- ,
dóndedenota una fórmula arbitraria. Aquíydenotan fórmulas que contienencomo una subfórmula.se construye reemplazando cada ocurrencia deenpor. Similarmente,se construye reemplazando cada ocurrencia deenpor. La resoluciónestá diseñado para simplificarse utilizando reglas como, etc. Para evitar generar resolventes triviales inútiles, la regla se aplica solo cuandotiene al menos una ocurrencia "negativa" y "positiva" [ 14 ] enyrespectivamente. Murray ha demostrado que esta regla es completa si se amplía con reglas de transformación lógica apropiadas. [ 10 ] : 103
Traugott utiliza una regla que puede expresarse de manera similar como
- ,
donde los exponentes deindican la polaridad de sus ocurrencias. Mientrasyse construyen como antes, la fórmulase obtiene reemplazando cada ocurrencia positiva deencony cada ocurrencia negativa con. De forma similar al enfoque de Murray, se deben aplicar transformaciones simplificadoras apropiadas a la resolvente. Traugott demostró que su regla es completa, siempre queson los únicos conectores utilizados en las fórmulas. [ 12 ] : 398–400
La resolvente de Traugott es más fuerte que la de Murray. [ 12 ] : 395 Además, no introduce nuevos conjuntores binarios, evitando así una tendencia hacia la forma clausal en la resolución repetida. Sin embargo, las fórmulas pueden alargarse cuando un pequeñose reemplaza varias veces con uno más grandey/o. [ 12 ] : 398
Ejemplo de resolución proposicional no clausal
Como ejemplo, partiendo de las suposiciones dadas por el usuario
La regla de Murray se puede utilizar de la siguiente manera para inferir una contradicción: [ 15 ]
Para el mismo propósito, la regla de Traugott puede utilizarse de la siguiente manera : [ 12 ] : 397
Al comparar ambas deducciones, se pueden observar los siguientes problemas:
- La regla de Traugott puede producir una resolvente más precisa: compárese (5) y (10), que resuelven (1) y (2) en.
- La regla de Murray introdujo 3 nuevos símbolos de disyunción: en (5), (6) y (7), mientras que la regla de Traugott no introdujo ningún símbolo nuevo; en este sentido, las fórmulas intermedias de Traugott se asemejan más al estilo del usuario que las de Murray.
- Debido a este último problema, la regla de Traugott puede aprovechar la implicación en la suposición (4), utilizando comola fórmula no atómicaen el paso (12). Usando las reglas de Murray, la fórmula semánticamente equivalentese obtuvo como (7), sin embargo no se pudo utilizar comodebido a su forma sintáctica.
Resolución no clausal en lógica de primer orden
Para la lógica de predicados de primer orden, la regla de Murray se generaliza para permitir subfórmulas distintas, pero unificables.ydey, respectivamente. Sies el unificador más general dey, entonces la resolvente generalizada es. Si bien la regla sigue siendo válida si se requiere una sustitución más especialSi se utiliza, no se necesitan tales aplicaciones de reglas para lograr la completitud.
La regla de Traugott se generaliza para permitir varias subfórmulas distintas por pares.deyde, mientrastener un unificador común más general, por ejemplo. La resolvente generalizada se obtiene después de aplicara las fórmulas principales, haciendo así aplicable la versión proposicional. La prueba de completitud de Traugott se basa en la suposición de que se utiliza esta regla totalmente general; [ 12 ] : 401 no está claro si su regla seguiría siendo completa si se restringiera ay. [ 16 ]
Paramodulación
La paramodulación es una técnica relacionada para razonar sobre conjuntos de cláusulas donde el símbolo predicado es la igualdad. Genera todas las versiones "iguales" de las cláusulas, excepto las identidades reflexivas. La operación de paramodulación toma una afirmación de la cláusula, que debe contener un literal de igualdad. Luego busca una entrada en la cláusula con un subtérmino que se unifica con un lado de la igualdad. El subtérmino se reemplaza por el otro lado de la igualdad. El objetivo general de la paramodulación es reducir el sistema a átomos, reduciendo el tamaño de los términos al sustituir. [ 17 ]
Implementaciones
Véase también
- Desprendimiento condensado : una versión anterior de la resolución
- Programación lógica inductiva
- Resolución inversa
- Programación lógica
- Método de cuadros analíticos
- Resolución SLD
Notas
- ↑ Davis, Martin; Putnam, Hilary (1960). "Un procedimiento computacional para la teoría de la cuantificación" . J. ACM . 7 (3): 201– 215. doi : 10.1145/321033.321034 . S2CID 31888376 . Aquí: pág. 210, "III. Regla para eliminar fórmulas atómicas".
- ↑ Robinson 1965
- ↑ DE Knuth, El arte de la programación informática 4A : Algoritmos combinatorios , parte 1, pág. 539
- 1 2 Leitsch 1997 , p. 11 "Antes de aplicar el método de inferencia en sí, transformamos las fórmulas a la forma normal conjuntiva sin cuantificadores."
- ↑ Arís, Enrique P.; González, Juan L.; Rubio, Fernando M. (2005). Lógica Computacional . Ediciones Paraninfo, SA ISBN 9788497321822.
- ↑ Russell, Stuart J.; Norvig, Peter (2009). Inteligencia artificial: un enfoque moderno (3.ª ed.). Prentice Hall. pág. 350. ISBN 978-0-13-604259-4.
- ↑ Duffy, David A. (1991). Principios de la demostración automatizada de teoremas . Wiley. ISBN 978-0-471-92784-6.Véase la página 77. El ejemplo aquí presentado se ha modificado ligeramente para demostrar una sustitución de factorización no trivial. Para mayor claridad, el paso de factorización (5) se muestra por separado. En el paso (6), la nueva variablese introdujo para permitir la unificación de (5) y (6), necesaria para (7).
- ↑ Wilkins, D. (1973). QUEST: Un sistema de demostración de teoremas no clausal (Tesis de maestría). Universidad de Essex.
- 1 2 Murray, Neil V. (febrero de 1979). Un procedimiento de prueba para lógica de primer orden no clausal sin cuantificadores (informe técnico). Ingeniería eléctrica y ciencias de la computación, Universidad de Syracuse. 39.(Citado de Manna, Waldinger, 1980 como: "Un procedimiento de demostración para la lógica de primer orden no clausal", 1978)
- 1 2 3 4 Manna, Zohar ; Waldinger, Richard (enero de 1980). "Un enfoque deductivo para la síntesis de programas" . ACM Transactions on Programming Languages and Systems . 2 : 90–121 . doi : 10.1145/357084.357090 . S2CID 14770735 .
- ↑ Murray, NV (1982). "Demostración de teoremas completamente no clausal". Inteligencia artificial . 18 : 67–85 . doi : 10.1016/0004-3702(82)90011-x .
- 1 2 3 4 5 6 Traugott, J. (1986). "Resolución anidada" . 8.ª Conferencia Internacional sobre Deducción Automatizada. CADE 1986. LNCS . Vol. 230. Springer. pp. 394–403 . doi : 10.1007/3-540-16780-3_106 . ISBN 978-3-540-39861-5.
- 1 2 Schmerl, UR (1988). "Resolución en árboles de fórmulas". Acta Informatica . 25 (4): 425– 438. doi : 10.1007/bf02737109 . S2CID 32702782 . Resumen
- ↑ Estas nociones, llamadas "polaridades", se refieren al número de negaciones explícitas o implícitas que se encuentran arriba.. Por ejemplo,ocurre positivo eny en, negativo eny eny en ambas polaridades en.
- ↑ "" se utiliza para indicar simplificación después de la resolución.
- ↑ Aquí, "" denota igualdad de términos sintácticos módulo cambio de nombre
- ↑ Nieuwenhuis, Robert; Rubio, Alberto (2001). "7. Demostración de teoremas basada en paramodulación" (PDF) . En Robinson, Alan JA; Voronkov, Andrei (eds.). Manual de razonamiento automatizado . Elsevier. pp. 371–444 . ISBN 978-0-08-053279-0.
Referencias
- Robinson , J. Alan (1965). "Una lógica orientada a máquinas basada en el principio de resolución" . Journal of the ACM . 12 (1): 23– 41. doi : 10.1145/321250.321253 . S2CID 14389185 .
- Leitsch, Alexander (1997). El cálculo de resolución . Textos en informática teórica. Una serie de EATCS. Springer . ISBN 978-3-642-60605-2.
- Gallier, Jean H. (1986). Lógica para la informática: Fundamentos de la demostración automática de teoremas . Harper & Row .
- Lee, Chin-Liang Chang, Richard Char-Tung (1987). Lógica simbólica y demostración mecánica de teoremas . Academic Press. ISBN 0-12-170350-9.
{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
Enlaces externos
- Presentaciones de 1965
- Demostración automatizada de teoremas
- Cálculo proposicional
- Teoría de la demostración
- Reglas de inferencia
- Teoremas en lógica proposicional