Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución...

23
Demostraciones por resolución A lo largo del curso, hemos prometido insistentemente que hay m´ etodos para mecanizar demostraciones. En particular, queremos un m´ etodo, dado una base de conocimiento Σ y una ormula ϕ nos permita verificar que Σ | = ϕ . El m´ etodo que veremos se denomina resoluci´ on . Resoluci´ on es un m´ etodo de refutaci´ on, es decir, sirve para demostrar que una base de conocimiento es inconsistente. Diremos que Σ r ϕ si existe una demostraci´ on por resoluci´ on para la f´ ormula ϕ a partir de la base de conocimiento Σ. Jorge Baier Aranda, PUC << Atr´ as 42

Transcript of Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución...

Page 1: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 2: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 3: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 4: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 5: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 6: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• Si tenemos una base de conocimiento inconsistente, siempre llegaremos a obteneruna clausula vacıa.

Jorge Baier Aranda, PUC << Atras 47

Page 7: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 8: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 9: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 10: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 11: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 12: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 13: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 14: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• Veamos como funciona.

Jorge Baier Aranda, PUC << Atras 55

Page 15: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 16: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 17: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 18: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 19: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 20: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 21: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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

Page 22: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

• 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

Page 23: Demostraciones por resoluciónjabaier.sitios.ing.uc.cl/iic2212/lp2.pdfDemostraciones por resolución • A lo largo del curso, hemos prometido insistentemente que hay m´etodos para

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