L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por...

29
L´ogicayProgramaci´on Refinamientos de resoluci´on Antonia M. Ch´ avez, Agust´ ın Riscos, Carmen Graciani Dpto. Ciencias de la Computacion e Inteligencia Artificial Universidad de Sevilla

Transcript of L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por...

Page 1: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Logica y Programacion

Refinamientos de resolucion

Antonia M. Chavez, Agustın Riscos, Carmen Graciani

Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla

Page 2: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Refinamientos

• Resolucion Positiva

• Resolucion Negativa

• Conjunto Soporte

• Resolucion Semantica

• Resolucion Unidad

• Resolucion por Entradas

• Resolucion Ordenada

• Resolucion Lineal

Page 3: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

P–resolucion

• Clausulas positivas• C es positiva si todos sus literales son positivos• Ejemplos:

{p, q} es positiva{p,¬q} no es positiva

Page 4: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

P–resolucion

• Prueba por P–resolucion• La sucesion (C1, . . . , Cn) es una prueba por P–resolucion de C

a partir de S si Cn = C y para todo i ∈ {1, . . . , n} se verificauna de las siguientes condiciones:

• Ci ∈ S ;• existen j , k < i tales que Ci ∈ resolventes(Cj , Ck) y alguna de

las clausulas Cj o Ck es positiva

• C es probable por P–resolucion a partir de S si existe unaprueba por P–resolucion de C a partir de S

• Representacion: S ⊢P C

• Propiedades• S ⊢P {} ⇐⇒ S es inconsistente

Page 5: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

P–resolucion

• Busqueda de refutaciones por P-resolucion:

S = {{¬p, q}, {¬q, r}, {¬r , s}, {r}, {¬s}}

========== Soporte ==========

1 {¬p, q}2 {¬q, r}3 {¬r , s}4 {r}5 {¬s}====== Fin del soporte ======

1 {¬p, q}2 {¬q, r}3 {¬r , s}4 {r}

6 (4 3) {s}5 {¬s}7 (6 5) {}========== Prueba ===========

3 {¬r , s}4 {r}5 {¬s}6 (4 3) {s}7 (6 5) {}===== Fin de la prueba=======

Page 6: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

P–resolucion

• Dada una clausula C y un conjunto S , conocer el conjunto deresolventes positivas entre C y las clausulas de S

• EjemplosresolventesPos({¬p, q}, {{p, q}, {p, r}, {¬q, s}}) ={{q}, {q, r}}

• Consistencia por P-resolucion

• Ejemplos{{p}, {¬p, q}, {¬q}} ⊢P {}{{p}, {¬p, q}} 6⊢P {}{{p, q}, {p, r}{¬q,¬r}, {¬p}} ⊢P {}

Page 7: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

P–resolucion

• Validez y consecuencia por P-resolucion

• Ejemplos|=P p → p|=P ((p → q) ∨ (q → p))6|=P p → q{p → q, q → r} |=P p → r{p → q, q → r} 6|=P p ↔ r

Page 8: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

N–resolucion

• Clausulas negativas• C es negativa si todos sus literales son negativos• Ejemplos:

{¬p,¬q} es negativa{p,¬q} no es negativa

Page 9: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

N–resolucion

• Prueba por N–resolucion• La sucesion (C1, . . . , Cn) es una prueba por N–resolucion de C

a partir de S si Cn = C y para todo i ∈ {1, . . . , n} se verificauna de las siguientes condiciones:

• Ci ∈ S ;• existen j , k < i tales que Ci ∈ resolventes(Cj , Ck) y alguna de

las clausulas Cj o Ck es negativa

• C es probable por N–resolucion a partir de S si existe unaprueba por N–resolucion de C a partir de S

• Representacion: S ⊢N C

• Propiedades• S ⊢N {} ⇐⇒ S es inconsistente

Page 10: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

N–resolucion

• Busqueda de refutaciones por N-resolucion:

S = {{¬p, q}, {¬q, r}, {¬r , s}, {r}, {¬s}}

========== Soporte ==========

1 {¬p, q}2 {¬q, r}3 {¬r , s}4 {r}5 {¬s}====== Fin del soporte ======

1 {¬p, q}2 {¬q, r}3 {¬r , s}4 {r}

5 {¬s}6 (5 3) {¬r}7 (6 4) {}========== Prueba ===========

3 {¬r , s}4 {r}5 {¬s}6 (5 3) {¬r}7 (6 4) {}===== Fin de la prueba ======

Page 11: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

N–resolucion

• Dada una clausula C y un conjunto S , conocer el conjunto deresolventes negativas entre C y las clausulas de S

• EjemploresolventesNeg({¬p, q}, {{p, q}, {p, r}, {¬q,¬s}}) ={{¬p,¬s}}

• Consistencia por N-resolucion• Ejemplos

{{p}, {¬p, q}, {¬q}} ⊢N {}{{p}, {¬p, q}} 6⊢N {}{{p, q}, {p, r}{¬q,¬r}, {¬p}} ⊢N {}

Page 12: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

N–resolucion

• Validez y consecuencia por N-resolucion

• Ejemplos|=N p → p|=N ((p → q) ∨ (q → p))6|=N p → q{p → q, q → r} |=N p → r{p → q, q → r} 6|=N p ↔ r

Page 13: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Estrategia del conjunto soporte

• Prueba por resolucion con soporte• Sea S un conjunto de clausulas y T ⊆ S con S −T consistente• La sucesion (C1, . . . , Cn) es una prueba por resolucion de C a

partir de S con soporte T si Cn = C y para todoi ∈ {1, . . . , n} se verifica una de las siguientes condiciones

• Ci ∈ S ;• existen j , k < i tales que Ci ∈ resolventes(Cj , Ck) y alguna de

las clausulas Cj o Ck no pertenece a S − T

• C es probable por resolucion con soporte T a partir de S siexiste una prueba por resolucion de C a partir de S consoporte T

• Representacion: S ⊢soporte T C

• Propiedades• Si T ⊆ S y S − T es consistente, entonces

S es inconsistente ⇐⇒ S ⊢soporte T {}

Page 14: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Estrategia del conjunto soporte

• Busqueda de refutaciones por resolucion con soporte:S − T = {{¬p, q}, {¬q, r}, {¬r , s}, {p}} T = {{¬q}}

========== Usables ==========

1 {¬p, q}2 {¬q, r}3 {¬r , s}4 {p}====== Fin de usables =======

========== Soporte ==========

5 {¬q}====== Fin del soporte ======

5 {¬q}** 6 (5 1) {¬p}7 (6 4) {}========== Prueba ===========

1 {¬p, q}4 {p}5 {¬q}6 (5 1) {¬p}7 (6 4) {}===== Fin de la prueba ======

Page 15: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion semantica

• Prueba por resolucion semantica• Se considera una interpretacion I• La sucesion (C1, . . . , Cn) es una prueba por resolucion

semantica de C a partir de S si Cn = C y para todoi ∈ {1, . . . , n} se verifica una de las siguientes condiciones:

• Ci ∈ S ;• existen j , k < i tales que Ci ∈ resolventes(Cj , Ck) y alguna de

las clausulas Cj o Ck es falsa en I

• C es probable por resolucion semantica a partir de S si existeuna prueba por resolucion semantica de C a partir de S

• Representacion: S ⊢I C

• Propiedades• S ⊢I {} ⇐⇒ S es inconsistente

Page 16: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion semantica

• Resolucion positiva = Resolucion semantica con I = {}

• Resolucion negativa = Resolucion semantica con I = SP

• Resolucion en S con soporte T = Resolucion semantica con Iun modelo de S − T

Page 17: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion unidad

• Prueba por resolucion unidad• La sucesion (C1, . . . , Cn) es una prueba por resolucion unidad

de C a partir de S si Cn = C y para todo i ∈ {1, . . . , n} severifica una de las siguientes condiciones:

• Ci ∈ S ;• existen j , k < i tales que Ci ∈ resolventes(Cj , Ck) y alguna de

las clausulas Cj o Ck es unitaria

• C es probable por resolucion unidad a partir de S si existe unaprueba por resolucion unidad de C a partir de S

• Representacion: S ⊢U C

• Propiedades• Adecuacion: S ⊢U {} =⇒ S es inconsistente• S es inconsistente /=⇒ S ⊢U {}

• Sea S = {{p, q}, {p,¬q}, {¬p, q}, {¬p,¬q}}:S es inconsistente, pero S 6⊢U {}

Page 18: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion unidad

• Busqueda de refutaciones por resolucion unidad

{{p, q}, {¬p, r}, {¬q, r}, {¬q, s}, {¬r}}

========== Soporte ==========

1 {p, q}2 {¬p, r}3 {¬q, r}4 {¬q, s}5 {¬r}====== Fin del soporte ======

1 {p, q}2 {¬p, r}3 {¬q, r}4 {¬q, s}5 {¬r}** 6 (5 2) {¬p}

** 7 (5 3) {¬q}** 8 (6 1) {q}9 (8 7) {}========== Prueba ===========

1 {p, q}2 {¬p, r}3 {¬q, r}5 {¬r}6 (5 2) {¬p}7 (5 3) {¬q}8 (6 1) {q}9 (8 7) {}===== Fin de la prueba ======

Page 19: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion unidad

• Dada una clausula C y un conjunto S , conocer el conjunto deresolventes unitarias entre C y las clausulas de S

• Ejemplos:resolventesUni({¬p, q}, {{p, q}, {p, r}, {¬q, s}}) = {}resolventesUni({¬p, q}, {{p, q}, {p, r}, {¬q}}) = {{¬p}}

• Consistencia por resolucion unidad• Ejemplos

{{p}, {¬p, q}, {¬q}} ⊢U {}{{p}, {¬p, q}} 6⊢U {}{{p, q}, {p, r}{¬q,¬r}, {¬p}} ⊢U {}

Page 20: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion unidad

• Validez y consecuencia por resolucion unidad

• Ejemplos|=U p → p|=U ((p → q) ∨ (q → p))6|=U p → q{p → q, q → r} |=U p → r{p → q, q → r} 6|=U p ↔ r

Page 21: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion por entradas

• Prueba por resolucion por entradas• La sucesion (C1, . . . , Cn) es una prueba por resolucion por

entradas de C a partir de S si Cn = C y para todoi ∈ {1, . . . , n} se verifica una de las siguientes condiciones:

• Ci ∈ S ;• existen j , k < i tales que Ci ∈ resolventes(Cj , Ck) y alguna de

las clausulas Cj o Ck pertenece a S

• C es probable por resolucion por entradas a partir de S si existeuna prueba por resolucion por entradas de C a partir de S

• Representacion: S ⊢E C

• Propiedades• Adecuacion: S ⊢E {} =⇒ S es inconsistente• S es inconsistente /=⇒ S ⊢E {}

• Sea S = {{p, q}, {p,¬q}, {¬p, q}, {¬p,¬q}}:S es inconsistente, pero S 6⊢E {}

Page 22: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion por entradas

• Busqueda de refutacionesPrueba por resolucion por entradasS = {{p, q}, {¬p, r}, {¬q, r}, {¬q, s}, {¬r}}

========== Soporte ==========

1 {p, q}2 {¬p, r}3 {¬q, r}4 {¬q, s}5 {¬r}====== Fin del soporte ======

1 {p, q}2 {¬p, r}** 6 (1 2) {q, r}3 {¬q, r}** 7 (1 3) {p, r}4 {¬q, s}** 8 (1 4) {p, s}5 {¬r}

** 9 (2 5) {¬p}** 10 (3 5) {¬q}6 (1 2) {q, r}** 11 (6 3) {r}12 (11 5) {}========== Prueba ===========

1 {p, q}2 {¬p, r}3 {¬q, r}5 {¬r}6 (1 2) {q, r}11 (6 3) {r}12 (11 5) {}===== Fin de la prueba ======

Page 23: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion por entradas

• Dada una clausula C y un conjunto S , conocer el conjunto deresolventes por entradas de C con las clausulas de S , siendo Eel conjunto de entrada

• Consistencia, validez y consecuencia por resolucion porentradas

• Ejemplos:

resolventesEnt({}, {¬p, q}, {{p, q}, {p, r}, {¬q, s}}) = {}resolventesEnt({{p, r}}, {¬p, q}, {{p, q}, {p, r}, {¬q, s}}) ={{q, r}}

• Consistencia por resolucion por entradas• Ejemplos

{{p}, {¬p, q}, {¬q}} 6⊢{} {}{{p}, {¬p, q}, {¬q}} ⊢{{p},{¬p,q},{¬q}} {}{{p}, {¬p, q}} 6⊢{{p},{¬p,q}} {}

Page 24: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion ordenada

• Prueba por resolucion ordenada• Se considera un orden entre los sımbolos proposicionales• La sucesion (C1, . . . , Cn) es una prueba por resolucion

ordenada de C a partir de S si Cn = C y para todoi ∈ {1, . . . , n} se verifica una de las siguientes condiciones:

• Ci ∈ S ;• existen j , k < i tales que Ci = resolvente(Cj , Ck , L) y el

sımbolo de L es el mayor dentro de Cj y dentro de Ck

• C es probable por resolucion ordenada a partir de S si existeuna prueba por resolucion ordenada de C a partir de S

• Representacion: S ⊢< C

• Propiedades• S ⊢< {} ⇐⇒ S es inconsistente

Page 25: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion ordenada

• Busqueda de refutacionesPrueba por resolucion ordenadaS = {{p, q}, {¬p, r}, {¬q, r}, {¬q, s}, {¬r}]}

========== Soporte ==========

1 [p, q]

2 [no p, r]

3 [no q, r]

4 [no q, s]

5 [no r]

====== Fin del soporte ======

1 [p, q]

2 [no p, r]

3 [no q, r]

4 [no q, s]

5 [no r]

** 6 (5 3) [no q]

** 7 (5 2) [no p]

6 (5 3) [no q]

** 8 (6 1) [p]

9 (8 7) []

========== Prueba ===========

1 [p,q]

2 [no p,r]

3 [no q,r]

5 [no r]

6 (5 3) [no q]

7 (5 2) [no p]

8 (6 1) [p]

9 (8 7) []

===== Fin de la prueba ======

Page 26: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion lineal

• Prueba por resolucion lineal• La sucesion (C0, . . . , Cn) es una demostracion por resolucion

lineal de C a partir de S con base C0 ∈ S si Cn = C y paracada i ∈ {1, . . . , n} existe un Bi−1 ∈ S ∪ {C0, . . . , Ci−1} talque Ci ∈ resolventes(Ci−1, Bi−1)

• C0 es la clausula base• Ci se llaman clausulas centrales• Bi se llaman clausulas laterales

• C es probable por resolucion lineal a partir de S con base C0 siexiste una prueba por resolucion lineal de C a partir de S conbase C0

• Representacion: S ⊢L,C0C

• Propiedades• Si C0 ∈ S y S − {C0} es consistente, entonces S es

inconsistente ⇐⇒ S ⊢L,C0{}

Page 27: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Resolucion lineal

• Busqueda de refutacionesPrueba por resolucion linealS = {{p,¬q}, {p,¬r}, {r}},C = {¬p}

========= Entradas ==========

1 [p, no q]

2 [p, no r]

3 [r]

===== Fin de entradas =======

4 [no p]

5 (4 1) [no q]

··· Fallo ···6 (4 2) [no r]

7 (6 3) []

========== Prueba ===========

2 [p, no r]

3 [r]

4 [no p]

6 (4 2) [no r]

7 (6 3) []

===== Fin de la prueba ======

Page 28: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Ejercicios

• Consideremos el siguiente conjunto de clausulasS = {p ∨ q, q ∨ r , r ∨ w ,¬r ∨ ¬p,¬w ∨ ¬q,¬q ∨ ¬r}.Demostrar que es insatisfacible mediante

• Resolucion positiva• Resolucion por entradas

• Consideremos el siguiente conjunto de clausulasS = {¬p∨¬r∨¬s,¬p∨q∨s, p∨¬r ,¬q∨ r ,¬q∨¬r∨s, q∨ r}.Demostrar que es insatisfacible mediante

• Resolucion negativa• Resolucion con conjunto soporte (escoger libremente el

conjunto T)

Page 29: L´ogica y Programaci´on - Universidad de Sevilla · Resoluci´on unidad • Prueba por resoluci´on unidad • La sucesio´n (C1,...,Cn) es una prueba por resoluci´on unidad de

Bibliografıa

• Russell, S. y Norvig, P. Inteligencia artificial (un enfoquemoderno) (Prentice–Hall, 1996)

• Capıtulo 7. Apartados 4 y 5.

• Chang, C.L. y Lee, R.C.T. Symbolic Logic and MechanicalTheorem Proving. (Academic Press, 1973)

• Capıtulos 6 y 7

• Lucas, P. y Gaag, L.v.d. Principles of Expert Systems(Addison–Wesley, 1991).

• Cap. 2: “Logic and resolution”

• Genesereth, M.R. y Nilsson, N.J. Logical Foundations ofArtificial Intelligence (Morgan Kaufmann, 1987)

• Cap. 4: “Resolution”