Inferencia en Lógica de Primer Orden Anexo Tema 6 c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 1 Anexo Tema 6 2 Esquema ♦ Un ejemplo ♦ Generalización del Modus Ponens ♦ Encadenamiento hacia adelante y hacia atrás c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Un ejemplo Dado el enunciado: “La ley americana dice que es un crimen que un americano venda armas a naciones hostiles. El pais Nono, enemigo de América, tiene algunos misiles, todos ellos vendidos por el coronel West, que es americano.” c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 3 Su representación en LPO: American(x) ∧ . . . es un crimen que un americano 1. ∀x, y, z W eapon(y)∧Country(z)∧Hostile(z)∧ venda armas a naciones hostiles Nono . . . tiene algunos misiles . . . . . . todos ellos vendidos por el coronel West Los misiles son armas Los enemigos de América son hostiles . . . West, que es americano. El pais Nono, enemigo de América, . . . 2. 3. 4. 5. 6. 7. Sells(x, z, y) ⇒ Criminal(x) ∃x Owns(N ono, x) ∧ M issile(x) ∀x Owns(N ono, x) ∧ M issile(x) ⇒ Sells(W est, N ono, x) ∀x M issile(x) ⇒ W eapon(x) ∀x Enemy(x, America) ⇒ Hostile(x) American(W est) Country(N ono) Enemy(N ono, America) Country(America) c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 4 Generalización del Modus Ponens P.e. a partir de M issile(M 1) Owns(N ono, M 1) ∀x Owns(N ono, x) ∧ M issile(x) ⇒ Sells(W est, N ono, x) se desea inferir Sells(W est, N ono, M 1) Se trata de buscar una sustitución que haga el antecedente de una implicación idéntico a sentencias existentes en la KB, para poder ası́ afirmar la conclusión de la implicación: p , p , . . . , pn, (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q) • Generalización del Modus Ponens: 1 2 Subst(θ, q) donde pi, pi y q son un conjunto de sentencias atómicas, y θ una sustitución tal que, para todo i, Subst(θ, pi)=Subst(θ, pi) c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 5 Para hallar la sustitución θ, el procedimiento de unificación deberá aceptar dos sentencias y dar una sustitución que las haga similares, o f ail si no existe: Unify(p, q) = θ donde Subst(θ, p) = Subst(θ, q) Algunos ejemplos de unificación: p Knows(John, x) Knows(John, x) Knows(John, x) q Knows(John, Jane) Knows(y, Leonid) Knows(y, M other(y)) Unify(p, q) {x/Jane} {x/Leonid, y/John} {y/John, x/M other(John)} La idea es unificar el antecedente de cada implicación con sentencias existentes en la KB, p.e. dadas las q anteriores y la sentencia: Knows(John, x) ⇒ Hates(John, x) concluiremos: Hates(John, Jane) Hates(John, Leonid) Hates(John, M other(John)) c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 6 Encadenamiento hacia adelante y hacia atrás La GMP se puede utilizar de dos formas: desde las sentencias de la KB, generando nuevas conclusiones a partir de las que se puedan realizar nuevas inferencias (encad. hacia adelante) desde algo que se desea demostrar, buscando en los consecuentes de las implicaciones que permitan llegar a esa conclusión, y tratando de demostrar sus antecedentes (encad. hacia atrás) El encadenamiento hacia adelante se activa cuando se incorpora un nuevo hecho en la KB y se desean inferir sus consecuencias ; formarı́a parte de Tell Al introducir un hecho p en la KB: para cada implicación que tenga en su antecedente una sentencia que se unifique con p: si el resto de sentencias del antecedente son ciertas, entonces añadir el consecuente de la implicación en la KB, y continuar encadenando hacia adelante c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 7 Ejemplo de encadenamiento hacia adelante: el resultado de introducir los siguientes hechos 1. American(x)∧W eapon(y)∧Country(z)∧Hostile(z)∧Sells(x, z, y) ⇒ Criminal(x) 2. Owns(N ono, x) ∧ M issile(x) ⇒ Sells(W est, N ono, x) 3. M issile(x) ⇒ W eapon(x) 4. Enemy(x, America) ⇒ Hostile(x) 5. American(W est) [1a,×] 6. Country(N ono) [1c,×] 7. Enemy(N ono, America) [4a,] → 8. Hostile(N ono) [1d,×] 9. Owns(N ono, M 1) [2a,×] 10. M issile(M 1) [2b,] → 11. Sells(W est, N ono, M 1) [1e,×] [3a,] → 12. W eapon(M 1) [1b,] → 13. Criminal(W est) donde, entre los [], el número indica la sentencia unificada y la inferencia c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 8 El encadenamiento hacia atrás está ideado para dar respuestas a las consultas formuladas a la KB ; corresponderı́a a la funcionalidad de Ask Al plantear una consulta q a la KB: si existe un hecho q con el que se unifique, devolver el unificador para cada implicación cuyo consecuente q se unifique con q: intentar probar todas las sentencias del antecedente encadenando hacia atrás c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 9 Ejemplo de encadenamiento hacia atrás: la prueba de Criminal(W est) puede verse en forma de árbol de demostración Criminal(West) American(West) Weapon(y) Yes, {} Country(z) Hostile(Nono) Sells(West,Nono,M1) Yes, {z/Nono} Missile(y) Enemy(Nono,America) Yes, {y/M1} Yes,{} Owns(Nono,M1) Yes,{} Missile(M1) Yes,{} notar que debajo de cada hoja figura la sustitución necesaria para su demostración y que cada sustitución se aplica a las ramas siguientes c S.Russell & P.Norvig, 1998) Transparencias IA (F29) – M.Marcos, 2002 (a partir de AIMA Slides Anexo Tema 6 10