Lógica Computacional
Nota 05. Resolución binaria11El material aquí presentado se basa el libro de Ben-Ari M., Mathematical Logic for Computer Science.
1 Introducción
El método de resolución encuentra de manera eficiente una demostración de una fórmula a partir de las premisas mediante la regla de resolución, con la cual es posible construir un demostrador de teoremas que sea correcto y completo para la lógica proposicional. Las ventajas de este método serán aparentes hasta que se extienda a la lógica de primer orden.
La regla de resolución sólo se puede aplicar en expresiones en forma clausular. Antes de la aplicación, las premisas y la conclusión deben convertirse a esta forma. Afortunadamente, hay un proceso sencillo para realizar esta transformación.
Definición 1.1
-
Una literal es una proposición atómica o la negación de una proposición atómica.
-
Sea una literal, y son literales complementarias, donde
-
Una oración clausular es una literal o una disyunción de literales.
-
Una cláusula es el conjunto de literales en una oración clausular. Observe que el conjunto vacío de literales es una cláusula y equivale a una disyunción vacía; por lo tanto, es insatisfacible, se denota como , y es un caso especial particularmente importante.
-
La cláusula unitaria es una cláusula que consiste en una sola literal.
-
Una fórmula en forma clausular es un conjunto de cláusulas. Implícitamente, esto indica que la forma clausular es una conjunción de cláusulas.
Teorema 1.2
Toda fórmula de la lógica proposicional puede ser transformada en una fórmula equivalente en forma clausular.
Demostración. Para convertir una fórmula a su forma clausular se llevan a cabo los siguientes pasos, cada uno de los cuales preserva la equivalencia lógica.
-
1.
Eliminar implicaciones y bicondicionales al sustituirlas por la fórmulas equivalentes.
-
2.
Trabajar con la negación de modo que se aplique únicamente sobre proposiciones atómicas atómicas.
-
3.
Aplicar las leyes de la distributividad para eliminar conjunciones dentro de disyunciones.
-
4.
Ocupar la notación para la forma clausular.
El último paso de la demostración genera conjuntos, lo que causa que múltiples presencias de una cláusula se colapsen en una sola. La equivalencia lógica se preserva por idempotencia: y .
1.1 Cláusula trivial
Definición 1.3
Una cláusula es trivial si contiene un par de literales complementarias. Se llama así porque trivialmente se satisface.
Lema 1.4
Sea un conjunto de cláusulas y sea una cláusula trivial. Entonces es lógicamente equivalente a .
Por lo tanto, asumiremos que todas las cláusulas triviales han sido eliminadas de las fórmulas en forma clausular.
Ejercicios 1.5
-
Encuentra la Forma Normal Clausular para las siguientes fórmulas:
-
•
-
•
-
•
-
•
-
•
-
Decidir si la fórmula es válida utilizando la transformación a la Forma Normal Clausular.
2 Resolución
La resolución binaria proporciona un método de decisión para la lógica que utiliza el principio de refutación. El procedimiento de resolución consiste en una secuencia de aplicaciones de la regla de resolución sobre un conjunto de cláusulas. La regla preserva satisfacibilidad: si un conjunto de cláusulas es satisfacible, lo es también el conjunto de cláusulas que se genera por la aplicación de la regla. Por lo tanto, si la cláusula vacía (insatisfacible) se llega a obtener, el conjunto original de cláusulas debe ser insatisfacible.
Definición 2.1 (Regla de resolución)
Sean y dos cláusulas con y . Decimos que y son cláusulas de colisión y que colisionan en el par de literales complementarias y . Obtenemos la cláusula , el resolvente de y , como sigue:
Podemos expresar esta relación al estilo de una regla de inferencia del siguiente modo,
y son las cláusulas padre de .
Es importante mencionar que las cláusula vacía o cláusula insatisfacible, , se obtiene como resultado de .
La regla opera sobre un par de literales complementaras a la vez y nunca con más.
Lema 2.2
Una disyunción de literales es válida syss existen tal que es .
Lema 2.3
Si dos cláusulas colisionan en más de una literal, su resolvente es una cláusula trivial.
Teorema 2.4
El resolvente es satisfacible syss las cláusulas padre y son ambas satisfacibles.
Demostración. Sea una interpretación que satisface a , entonces para al menos alguna literal en . Por la regla de resolución, o , o en ambos. Si , . Ahora, ni , por lo que no está definida en o , así que extendemos como definiendo . Como , tenemos ; además . Por lo tanto, es un modelo para y . Análogamente cuando .
Sean y satisfacibles por la interpretación . Como y son complementarias, se tiene que , o bien, . Supongamos que , entonces y , la cláusula que contiene a , se satisface porque hay otra literal () tal que . Por construcción de la regla de resolución, , de modo que también es un modelo de . Análogamente cuando .
Lema 2.5
La cláusula vacía, , es insatisfacible. El conjunto vacío de cláusulas, , es válido.
Demostración. Una cláusula es satisfacible syss hay alguna interpretación bajo la cual al menos una literal en la cláusula es verdadera. Sea una interpretación arbitraria. Como no hay literales en , no hay literales cuyo valor sea verdadero bajo . Pero es una interpretación arbitraria; por consiguiente, es insatisfacible.
También se puede ver a como el resolvente de las cláusulas padre y . Como el teorema anterior establece, es satisfacible syss y son satisfacibles, pero no se puede satisfacer a un par de literales complementarias. Por lo tanto, es insatisfacible.
Un conjunto de cláusulas es satisfacible syss toda cláusula en él es verdadera para cualquier interpretación. Como no hay cláusulas en que requieran ser verdaderas, entonces es válido.
2.1 Algoritmo de resolución binaria
Algoritmo (Resolución binaria)
Input: Un conjunto de cláusulas .
Output: es satisfacible o insatisfacible.
Sea un conjunto de cláusulas. Definimos .
Repetir los siguientes pasos para obtener a partir de :
-
Escoja un par de cláusulas de colisión que no se hayan escogido anteriormente.
-
Encuentre el resolvente de acuerdo a la regla de resolución.
-
Si no es una cláusula trivial, definimos ; de otro modo, .
Hasta que , en cuyo caso es insatisfacible; o hasta que la regla de resolución se haya aplicado a todos los pares de cláusulas de colisión, lo que indica que es satisfacible.
Ejercicios 2.6
-
Decida si los siguientes argumentos lógicos son correctos por resolución binaria.
-
•
-
•
-
•
-
•
Una condición necesaria para que llueva es que sea primavera o invierno. Si hay ríos, entonces llueve. Si es invierno, la gente utiliza gorros azules. La gente no utiliza gorros azules y hay ríos. Por lo tanto, es primavera. Utilice las claves:
-
•
-
Determine si los siguientes conjuntos son satisfacibles o no.
-
•
-
•
-
•
2.2 Correctud y completud
Teorema 2.7 (Correctud)
Sea un conjunto de cláusulas. Si existe una refutación por resolución para , entonces es insatisfacible.
Teorema 2.8 (Completud)
Si un conjunto de cláusulas es insatisfacible, entonces la cláusula vacía será derivada por el procedimiento de resolución.
3 Ejemplo
Decida si es correcto por resolución binaria.
Por el principio de refutación, vamos a trabajar con
Primero pasamos las fórmulas anteriores a forma clausular.
Aplicando resolución tenemos lo siguiente: En azul están todos los resolventes que obtenemos de aplicar resolución a las premisas. En rojo aquellos que ocupan de las premisas y de los resolventes en azul. Esta forma esquemática permite saber si ya se ha aplicado resolución a todos los pares de cláusulas de colisión. Ahora se encuentran resolventes entre las premisas y las cláusulas en rojo, lo cual produce la cláusula 29, y finalmente llegamos a la cláusula vacía en la 30.
Como se obtuvo la cláusula vacía, el conjunto de fórmulas es insatisfacible. Por consiguiente, el argumento es correcto.