Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución...
Transcript of Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución...
Demostraciones por resolución
• A lo largo del curso, hemos prometido insistentemente que hay metodos paramecanizar demostraciones.
• En particular, queremos un metodo, dado una base de conocimiento Σ y unaformula ϕ nos permita verificar que
Σ |= ϕ
.
• El metodo que veremos se denomina resolucion.
• Resolucion es un metodo de refutacion, es decir, sirve para demostrar que unabase de conocimiento es inconsistente.
• Diremos queΣ `r ϕ
si existe una demostracion por resolucion para la formula ϕ a partir de la base deconocimiento Σ.
Jorge Baier Aranda, PUC << Atras 42
• Esperamos de nuestro procedimiento dos importantes propiedades:
• Que sea correcto, es decir,
Σ `r ϕ entonces Σ |= ϕ
Esto es lo mınimo que podemos exigir. Queremos que nuestro metodo con conduzca a
conclusiones que no se deriven de la base de conocimiento.
• Que sea completo, es decir,
Σ |= ϕ entonces Σ `r ϕ
Es lo ideal a lo que podemos aspirar. Esto significa que nuestro metodo puede demostrar
todo lo que se deduce la base de conocimiento.
• La resolucion consiste en una aplicacion mecanica de pasos que “preservan laverdad”.
• Supongamos que tenemos las siguiente formula en FNC:
(p ∨ q ∨ ¬r) ∧ (¬q ∨ s ∨ ¬v)
y que σ es una valuacion que la hace verdadera.
Jorge Baier Aranda, PUC << Atras 43
Luego, si σ |= q, podemos concluir inmediatamente que
σ |= s ∨ ¬v
es verdadero, porque la primera disyuncion se hace trivialmente verdadera.
Por otro lado si σ 6|= q, la segunda disyuncion se hace trivialmente verdadera enσ y por lo tanto
σ |= (p ∨ q ∨ ¬r)
Juntando ambos casos tenemos que siempre que σ |= (p∨q∨¬r)∧ (¬q∨s∨¬v),se da que
σ |= (p ∨ ¬r ∨ s ∨ ¬v)
• ¿Que hemos generado?
• Una nueva clausula que es consecuencia de las dos originales, pero que tiene unavariable menos.
Jorge Baier Aranda, PUC << Atras 44
• Siempre podremos hacer esto cuando tenemos clausulas que contienen unavariable comun que aparece negada en una y no negada en la otra.
• En general, si l1 ∨ . . . ∨ ln y l′1 ∨ . . . l′m son clausulas y se cumple que existe j(1 ≤ j ≤ n) y k (1 ≤ k ≤ m) tal que lj = ¬lk entonces podemos generar laclausula:
∨i∈{1,...,n}−{j}
li ∨∨
i∈{1,...,m}−{k}
l′i
Esto se conoce como la regla de resolucion de clausulas. Esta regla sera aplicablesiempre que existan dos clausulas que tengan un literales complementarios.
Jorge Baier Aranda, PUC << Atras 45
Ejemplos de la regla de resolución
• Veamos algunos ejemplos:
p ∨ r ∨ ¬qs ∨ ¬p ∨ ur ∨ ¬q ∨ s ∨ u
p ∨ r ∨ ¬q¬rp ∨ ¬q
p¬p�
En este ultimo ejemplo hemos llegado a una clausula vacıa (o �) que es siemprefalsa porque es equivalente a p ∧ ¬p, una contradiccion.
• Este ultimo ejemplo nos motiva la idea principal de la resolucion, lasdemostraciones por refutacion.
Jorge Baier Aranda, PUC << Atras 46
• Si tenemos una base de conocimiento inconsistente, siempre llegaremos a obteneruna clausula vacıa.
Jorge Baier Aranda, PUC << Atras 47
El método de demostración por resolución
• Esta basado en la reduccion entre consistencia y consecuencia logica:
Σ |= ϕ si y solo si Σ ∪ {¬ϕ} es inconsistente
• Suponga que quiere demostrar que ϕ es consecuencia logica de Σ. El metodo esel siguiente:
• Transforme el conjunto Σ ∪ {¬ϕ} en un conjunto de clausulas C = {C1, . . . , Cn} (esto
se puede hacer con el metodo de traduccion a FNC).
• Mientras � 6∈ C y existen Ci, Cj ∈ C, tales que la regla de resolucion es aplicable:
– Aplique la regla de resolucion a Ci y Cj generando C ′ y haga
C := C ∪ {C′}
• Si � ∈ C, decimos que es posible demostrar por resolucion, a partir de Σ laformula ϕ.
• En forma simbolica diremos que
Σ `r ϕ.
Jorge Baier Aranda, PUC << Atras 48
• De otra forma, podemos decir que, dado un conjunto inicial de clausulas S, unarefutacion por resolucion es una secuencia finita C1, C2, . . . , Cn de clausulas talque cada Ci pertenece a S o es obtenida a partir de la aplicacion de la regla deresolucion de dos clausulas precedentes Cj y Ck (j < k < n).
Jorge Baier Aranda, PUC << Atras 49
Ejemplos de Resolución
• Demuestre que {¬q, p → q} `r ¬p
El conjunto de clausulas que se genera es {¬q,¬p ∨ q, p}.
......................................................................................................................................................................................................................................................................................................
...............................................................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
¬q ¬p ∨ q
¬p
�
p
Jorge Baier Aranda, PUC << Atras 50
• Demuestre que {p, q → (p → r)} `r {q → r}.
El conjunto de clausulas inicial es el siguiente:
{p,¬q ∨ ¬p ∨ r, q,¬r}
......................................................................................................................................................................................................................................................................................................
...............................................................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
p ¬q ∨ ¬p ∨ r q ¬r
¬q ∨ r
r
�
Jorge Baier Aranda, PUC << Atras 51
Propiedades de Resolución
• Por construccion, resolucion es correcta, es decir,
Si Σ `r ϕ entonces Σ |= ϕ.
En efecto, el proceso de resolucion agrega clausulas que son consecuencia logicade un conjunto Σ al mismo conjunto. Si una valuacion σ es tal que σ |= Σ yΣ |= ϕ, entonces σ |= Σ∪ {ϕ}. Esto quiere decir que todos los conjuntos que segeneran son equiconsistentes.
• Es posible obtener un resultado aun mas deseable...
• Resolucion es tambien completa, esto significa que
Si Σ |= ϕ entonces Σ `r ϕ.
Es decir, cualquier formula que sea consecuencia logica de un conjunto deformulas es demostrable a traves de resolucion.
Jorge Baier Aranda, PUC << Atras 52
Implementando Resolución
• El algoritmo de resolucion que hemos visto es no determinıstico.
• Para poder implementarla necesitamos un algoritmo determinıstico.
• ¿Como lo hacemos?
Jorge Baier Aranda, PUC << Atras 53
Implementando Resolución: por Saturación de Niveles
• La idea de este metodo es asignar las clausulas a niveles.
• El conjunto inicial de clausulas S esta asignado al nivel 0.
• Todas las clausulas que se pueden formar a partir de clausulas del nivel 0,perteneceran al nivel 1.
• Y ası sucesivamente...
• Formalmente, los niveles se definen de la siguiente manera:
S0 = S
Sn = {clausulas obtenidas de C1, C2 |C1 ∈n−1⋃i=0
Si y C2 ∈ Sn−1}
• Si a partir de S es posible encontrar una refutacion, entonces la clausula vacıaaparecera en alguno de estos conjuntos.
Jorge Baier Aranda, PUC << Atras 54
• Veamos como funciona.
Jorge Baier Aranda, PUC << Atras 55
• Use resolucion para demostrar que el conjunto {p ∨ q ∨ r,¬p ∨ q,¬q,¬r} esinsatisfacible.
•
S0:
1. p ∨ q ∨ r2. ¬p ∨ q3. ¬q4. ¬r
S1:
5. q ∨ r, de 1 y 26. p ∨ r, de 1 y 37. p ∨ q, de 1 y 48. ¬p, de 2 y 3
S2:
9. q ∨ r, de 1 y 810. q ∨ r, de 2 y 611. q, de 2 y 712. r, de 3 y 513. p, de 3 y 714. q, de 4 y 515. p, de 4 y 6
S3:
16. � de 3 y 11.
...
• ¿Como podemos optimizar esto?
Jorge Baier Aranda, PUC << Atras 56
• Eliminacion de tautologıas, clausulas repetidas y subsumidas (deletion).
• Formalmente, una clausula D es subsumida por una clausula C si todos losliterales que aparecen en C tambien aparecen en D.
Por ejemplo: p ∨ ¬q ∨ r es subsumida por p ∨ ¬q, p ∨ r, ¬q ∨ r, p, ¬q y r.
• El algoritmo de deletion agrega una clausula al nivel Sn ssi esta clausula no essubsumida por ninguna clausula que ya se encuentre en algun nivel (incluyendo aSn).
• Usando la tecnica de deletion, se obtiene la siguiente derivacion en nuestroejemplo:
Jorge Baier Aranda, PUC << Atras 57
•
S0:
1. p ∨ q ∨ r2. ¬p ∨ q3. ¬q4. ¬r
S1:
5. q ∨ r, de 1 y 26. p ∨ r, de 1 y 37. p ∨ q, de 1 y 48. ¬p, de 2 y 3
S2:
9. q, de 2 y 710. r, de 3 y 511. p, de 3 y 7
S3:
12. � de 3 y 9.
...
• Para este caso, no hemos logrado grandes optimizaciones.
• Es posible demostrar que este nuevo algoritmo es completo y correcto.
Jorge Baier Aranda, PUC << Atras 58
Resolución Semántica
• Uno de los mayores avances en mejorar la implementacion de resolucion estadado por los metodos que se derivan de resolucion semantica.
• La idea es bastante simple y viene de la observacion de los siguientes hechos:
• Generalmente aplicamos resolucion a un conjunto inconsistente de formulas Σ.
• Esto significa que ninguna valuacion hace verdadero al conjunto de formulas.
• Supongamos que elegimos una valuacion arbitraria σ.
• Necesariamente esta valuacion divide al conjunto de clausulas en dos conjuntos no vacıos.
¿por que?
• Sea Σ1 el conjunto que es hecho verdadero por σ y Σ2 el conjunto hecho falso por σ
(Σ1 ∪ Σ2 = Σ).
• Bajo este esquema, para producir una contradiccion no tiene sentido hacer resolucion
entre clausulas de Σ1 o clausulas de Σ2.
• Solo podremos producir una contradiccion al hacer resolucion entre clausulas de distintos
conjuntos.
• Tambien es posible demostrar que esta resolucion es correcta y completa.
Jorge Baier Aranda, PUC << Atras 59
• Un caso particular de resolucion semantica es hiper-resolucion.
• Existen dos variantes, hiper-resolucion positiva e hiper-resolucion negativa.
Definicion 12. [Hiper-resolucion positiva] Una hiper-resolucion positiva esun caso especial de resolucion semantica, en la cual la interpretacion σ escogidahace falso a todas las variables del conjunto de formulas.
• Hiper-resolucion negativa se define en forma analoga.
• La ventaja de hiper-resolucion es que la pertenencia de cualquier formula a losconjuntos Σ1 o Σ2 puede ser determinada sintacticamente.
• En efecto, las clausulas que son hechas falsas por la valuacion σ son todasaquellas que contienen solo literales positivos.
• Por otro lado, las clausulas que contienen al menos un literal negativo son hechasverdaderas.
Jorge Baier Aranda, PUC << Atras 60
• En cada paso de la hiper-resolucion positiva, se escogen n clausulas (llamadassatelites) que solo contengan literales positivos y una clausula que contenga, almenos, un literal negativo (llamada nucleo).
• Veamos como se ve en la practica este tipo de resolucion.
Jorge Baier Aranda, PUC << Atras 61
Ejemplo de Hiper-resolución Positiva
• Demuestre que el conjunto {¬p ∨ ¬q ∨ r, p ∨ r, q ∨ r,¬r} es insatisfacible 2
S0 S1 S2 S3
1. ¬p ∨ ¬q ∨ r
2. ¬r5. ¬q ∨ r, de 1 y 3
6. ¬p ∨ r, de 1 y 4
11. � de 2 y 9.
3. p ∨ r
4. q ∨ r7. p de 2 y 3
8. q de 2 y 4
9. r de 3 y 6–
• Hiper-resolucion puede ser mejorada si se fuerza un ordenamiento total entre lasvariables proposicionales.
• De esta forma podemos decir que las variables se ordenan de la siguiente manera:
p > q > r.2En la primera fila se ubican los nucleos y en la segunda los satelites
Jorge Baier Aranda, PUC << Atras 62
• La regla de resolucion se modifica de la siguiente manera: “Solo aplicar la reglade resolucion con una clausula satelite C si el literal resuelto en la clausula3 es elmayor (dado un orden fijo cualquiera) que aparece en C.
• Usando esta regla, la resolucion se reduce de la siguiente manera:
S0 S1 S2 S3
1. ¬p ∨ ¬q ∨ r
2. ¬r5. ¬q ∨ r, de 1 y 3
6. ¬p ∨ r, de 1 y 4
8. � de 2 y 7.
3. p ∨ r
4. q ∨ r
–7. r de 3 y 6
–
• Es posible demostrar que este tipo de resolucion tambien es correcta y completa.
3Este es literal que no aparece en la clausula resultante de la resolucion
Jorge Baier Aranda, PUC << Atras 63
La estrategiaSet of Support(SOS)
• Generalmente, cuando se busca una demostracion mecanica, se intenta concluiruna formula ϕ a partir de un conjunto de formulas Σ que es generalmenteconsistente.
• Debido a esto, es posible evitar el uso de resolucion entre clausulas de Σ.
• Un subconjunto T de un conjunto S de clausulas se dice conjunto de soporte(set of support) si S − T es satisfacible.
• La regla de resolucion SOS es la misma de resolucion estandar, pero solo esaplicable entre dos clausulas C1 y C2 si no se da que ambas pertenecen a S − T .
• Esta estrategia es una de las bases del demostrador mecanico Otter.
Jorge Baier Aranda, PUC << Atras 64