1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

48
1 /48 /48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL

Transcript of 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

Page 1: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

11/48/48

Mg. Samuel Oporto Díaz

Inferencia en Lógica de Predicados

INTELIGENCIA ARTIFICIAL

Page 2: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

22/48/48

Mapa Conceptual del Curso

Page 3: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

33/48/48

Tabla de Contenido1. Sustitución.

2. Unificación

3. Reglas de Inferencia con Cuantificadores

4. Resolución

5. Ejercicios

6. Bibliografía

Page 4: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

44/48/48

Objetivos• Exponer los mecanismos de inferencia en lógica de

Predicados.• Presentar los conceptos de Sustitución y Unificación.• Ampliar la técnica de Resolución a la Lógica de Predicados• Exponer las reglas de inferencia con cuantificadores.• Exponer las formas canónicas de la resolución.• Exponer los conceptos del probador de teoremas

(refutación)

Page 5: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

55/48/48

SUSTITUCION

Page 6: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

66/48/48

Término Base (Ground term)• El término base es:

– Una constante• Taki• Al-Sadar• Mallcu• Al-Kadem

– El resultado de una función donde todas sus entradas son términos base.

• loriana(Lunes)• policia(Asiri)

Page 7: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

77/48/48

Sustitución• Se utilizará la notación SUST(, ) para representar el

resultado de aplicar la sustitución (o lista de enlace) a la oración , por ejemplo:

= {x/Juan, y/CursoIA}

= ConcurreA(x, y) GustaDe(x, y)

subst( {x/Juan, y/CursoIA} , ConcurreA(x, y) GustaDe(x, y) ) ≡ ConcurreA(Juan, CursoIA) GustaDe(Juan, CursoIA)

• Juan concurre a curso de IA y Juan gusta de curso de IA.

Page 8: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

88/48/48

Sustitución• Dadas las variables x1, x2, ..., xn y los términos t1, t2, .., tn (sin

variables), la sustitución θ es un conjunto de pares ordenados:

• θ = {x1/t1, x2/t2,..,xn/tn} (x/t se lee sustituir x por t)

• La operación consiste en, dado un literal α que contiene x1, x2, .., xn, y una sustitución θ, reemplazar en todos los lugares de α donde aparezca xi por ti.

Ejemplo:

subst({X/george, Y/tony} , likes(X,Y)) = likes(george, tony)

Los términos de θ no pueden contener símbolos de constantes ni de función que ya estén en α

Page 9: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

99/48/48

Sustitución• Sustitución vacía {}, cuando no modifica la expresión.

• Composición de la sustitución. Es una sustitución tal que αθ1 θ2=(αθ1) θ2.– La composición de sustituciones es asociativa

(θ1 θ2)θ3 = θ1(θ2 θ3)– Pero no conmutativa

θ1θ2≠θ2θ1

• No se puede calcular la composición resultante uniendo simplemente los conjuntos θ1 y θ2, hemos de aplicar primero θ2 a los términos de θ1 y después añadir los pares de θ2 cuyas variables no están entre los de θ1.

Page 10: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1010/48/48

Ejercicio 1Diga que se obtiene al aplicar SUST(, ) en los siguientes casos:

= monopolio(M) penalizado(M) = {M/LosGarcia}

= realiza(M,W) feo(W) odiado(M) = {M/Hormel, W/Spam}

= presidente(X)inteligente(X) = {X/Bush}

Page 11: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1111/48/48

Ejercicio 1subst( {M/LosGarcia}, monopolio(M) penalizado(M) )

subst( {M/Hormel,W/Spam},realiza(M,W)feo(W)odiado(M))

subst( {X/Bush}, presidente(X)inteligente(X))

Page 12: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1212/48/48

Ejercicio 2

Sean:

α = F1(x,y), F2(y,w), F3(x,y,z,r)

θ1 = (x/a, y/b, z/w), θ2 = (w/c), θ3 = (r/b)

Calcular: αθ1θ2θ3

αθ1 = F1(a, b), F2(b,w), F3(a, b, w, r)

αθ1θ2 = F1(a, b), F2(b,c), F3(a, b, c, r)

αθ1θ2θ3 = F1(a, b), F2(b,c), F3(a, b, c, c)

Page 13: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1313/48/48

Ejercicio 2• Calcular: θ4 = (θ1θ2)θ3 y luego αθ4

θ1 = (x/a, y/b, z/w), θ2 = (w/c), θ3 = (r/b)• θ12= (x/a, y/b, z/c)• θ4 = (x/a, y/b, z/c, r/b)• αθ4 = F1(a,b), F2(b,w), F3(a,b,c,b)

• Calcular: θ4 = θ1(θ2θ3) y luego αθ4

θ1 = (x/a, y/b, z/w), θ2 = (w/c), θ3 = (r/b)• θ23= (w/c, r/b)• θ4 = (x/a, y/b, z/c, r/b)• αθ4 = F1(a,b), F2(b,w), F3(a,b,c,b)

Page 14: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1414/48/48

UNIFICACION

Page 15: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1515/48/48

Unificación• Lo que hace la rutina de unificación UNIFICAR es convertir

dos oraciones α y β en una sustitución mediante la cual α y β resultan idénticas. De no existir tal unificación, UNIFICAR produce una falla.

• Formalmente:– UNIFICAR(α, β) = , donde SUST(, α) = SUST(, β)

se conoce como el unificador de las dos oraciones.

Page 16: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1616/48/48

Unificación• Supongamos que tenemos la regla

conoce(juan,X) odia(juan,X) “Juan odia a todos los que conoce”

• Y la queremos utilizar como regla de inferencia de Modus Ponens y poder saber a quién odia Juan. Es decir, tenemos que saber a qué oraciones de la base de conocimiento se unifican a conoce(juan,X).

• Supongamos que nuestra base de conocimiento contiene: conoce(juan,jane) ▪ conoce(Y,leónidas) conoce(Y,madre(Y)) ▪ conoce(X, isabel)

Page 17: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1717/48/48

Unificación

Al unificar el antecedente de la regla con cada una de las oraciones de la BC obtenemos:

conoce(juan,X) odia(juan,X)

UNIFICAR(conoce(juan, X),conoce(juan, jane)) = {X/jane}

UNIFICAR(conoce(juan, X),conoce(Y, leónidas)) = {X/leónidas, Y/Juan}

UNIFICAR(conoce(juan, X),conoce(Y, madre(Y))) = {Y/juan, X/madre(juan)}

UNIFICAR(conoce(juan, X),conoce(X, isabel))= falla

– conoce(juan,jane)– conoce(Y,leónidas)– conoce(Y,madre(Y))– conoce(X, isabel)

Page 18: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1818/48/48

Unificación• La última unificación falla, porque X no puede tomar el valor

de juan e isabel al mismo tiempo.• De manera intuitiva, sabemos que Juan odia a todos los

que conoce, y que todos conocen a Isabel, por lo que podríamos inferir que Juan odia a Isabel.

• Para resolver este problema, se pueden normalizar por separado las dos oraciones que se van a unificar, lo que significa renombrar las variables de una de ellas (o de ambas) para evitar que haya repetición de nombres:

UNIFICAR(conoce(juan,x1),conoce(x2,isabel))={x1/isabel, x2/juan}

Page 19: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

1919/48/48

Ejercicio 3Unifique y resuelva.

1. femenino(ana)

2. padre (juan, ana)

3. femenino(X) Λ padre (Y, X) hija(X, Y)

Page 20: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2020/48/48

Ejercicio 3

femenino(ana) femenino(X) Λ padre (Y, X) hija(X, Y)

padre(Y,ana) hija(ana,Y)

hija(ana, juan)

padre (juan, ana)

θ1 = {X/ana}

θ2 = {Y/juan}

1. femenino(ana)2. padre (juan, ana)3. femenino(X) Λ padre (Y, X) hija(X, Y)

Page 21: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2121/48/48

Ejercicio 4• Para cada uno de los siguientes pares de oraciones,

indique el unificador más general, o diga que no existe y explique por qué.

• El unificador más general es el que permite que pocas variables o funciones no sean cambiadas a constantes como sea posible.

P(x, y, y) y P(A, f(B), f(z)) 

P(x, F(x), A) y P(y, y, z) 

P(x, y, z) y Q(A, B, B) 

Q(x, F(y, A), z) y Q(A, F(A, A), x) 

Q(x, G(y, y), w, F(z, z)) y Q(H(u, v), v, A, F(x, y))

Page 22: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2222/48/48

Ejercicio 5Intente unificar los siguientes pares de expresiones, use el unificador más general y explique en los casos que no se pueda, ¿por qué no se pueden unificar?

p(X, Y, Z) p(X, a, b)

p(X, Y, Z, c) p(X, a, b, W)

P(X, Y, Z, W) p(Y, Y, W, Z)

q(X, Y, c) q(Y, Y, X)

p(X, Y) ¬ p(X, Z)

p(X, Y, Z, W, a) p(b, X, d, a, Y)

r(X, G(X), Y, P(Y)) r(Y, G(X), Z, W)

Page 23: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2323/48/48

REGLAS DE INFERENCIA CON CUANTIFICADORES

Page 24: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2424/48/48

Reglas de Inferencia en LP1• Reglas de inferencia utilizadas en lógica proposicional:

• También son válidas en la lógica de primer orden, pero se requieren reglas de inferencias adicionales para manejar las oraciones de lógica de primer orden con cuantificadores:– Eliminación Universal– Eliminación Existencial– Introducción Existencial.

Modus ponensY-eliminaciónY-introducciónO-introducción

Doble negación eliminaciónResolución unitariaResoluciónModus Tollens

Page 25: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2525/48/48

Eliminación Universal• Para toda oración , variable v y una variable vv:

Por ejemplo, en x le_gusta(x, helado), podemos utilizar la sustitución {x/xx} e inferir que:

le_gusta(xx, helado).

• Permite eliminar el cuantificador

v SUST({v/vv},)

Page 26: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2626/48/48

Eliminación Existencial• Para toda oración , variable v y símbolo constante kk que

no aparezca en ninguna parte de la base de conocimientos:

Por ejemplo, en x matar(x, víctima), podemos inferir que matar(asesinoasesino, víctima) en tanto que asesinoasesino no aparezca en ninguna parte de la base de conocimientos.

v SUST({v/k},)

Es importante que la constante kk usada para la sustituir la variable sea una variable nueva

Page 27: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2727/48/48

Introducción Existencial• Para toda oración , variable v que no esté en y término

de base g que no esté presente en :

Por ejemplo, en le_gusta(jerry,helado) podemos inferir que X le_gusta(X, helado).

v SUST({g/v},)

Page 28: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2828/48/48

RESOLUCION

Page 29: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

2929/48/48

Resolución

• Es un mecanismo de prueba que opera sobre estatutos que

han sido convertidos a forma clausal y produce pruebas por

refutación, es decir que para probar si un estatuto es

verdadero (demostrar que es válido ) intenta mostrar que la

negación de ese estatuto produce una contradicción.

forma clausal = forma clausulada

CNF : conjuntive normal form

Page 30: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3030/48/48

Resolución• La resolución fue introducida como una regla de inferencia• Resume muchos esquemas de inferencia clásicos.• Es un procedimiento completo de inferencia, por que solo

con ella pueden diseñarse sistemas deductivos consistentes y completos.

• Se aplica a sentencias que tienen que estar escritas forma clausulada.

• Para toda sentencia se puede encontrar una sentencia equivalente en forma clausulada.

Page 31: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3131/48/48

Aplicación de la regla de resolución• Si recordamos la regla de inferencia de resolución: a V b, ~b V c

a V c• Se puede aplicar a dos cláusulas cualesquiera que

compartan un literal con distinto signo.• Estas cláusulas le llaman generatrices (padre), y la

conclusión, cláusula resultante de la disyunción del resto de literales, resolvente.

• Todas las sentencias deben estar en forma clausulada.

Si hay n premisas inicialmente en Δ0, al ponerlas en forma clausulada resultarán m cláusulas (m > n), y la estrategia de control se reduce al problema de decidir, en cada Δi, a qué pareja de cláusulas aplicar una regla de resolución única, la regla de resolución.

Page 32: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3232/48/48

Aplicación de la regla de resolución• La propiedad extraordinaria de la regla de resolución es

que casi todas las reglas de inferencia se reducen a ella si previamente se escriben las premisas en forma clausulada.

Forma Normal ImplicativaModus Ponens P Q

PQ

Modus Tollens P Q¬Q¬P

Encadenamiento P QQ RP R

Forma Normal ConjuntivaModus Ponens ¬P V Q

PQ

Modus Tollens ¬ P V Q¬Q¬P

Encadenamiento ¬P V Q¬Q V R¬P V R

Page 33: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3333/48/48

Aplicación de la regla de resoluciónAsumir que se tienen un conjunto de cláusulas F y el estatuto a probar P

• Convertir todos los estatutos de F a la Forma clausal

• Negar P y convertirla a forma clausal. Agregar al conjunto de cláusulas obtenidas en el paso anterior

• Repetir hasta que una contradicción sea alcanzada:

– Seleccionar dos cláusulas y llamarlas cláusulas padre

– Resolverlas. Para obtener la cláusula llamada resolvente. Buscar en las cláusulas padre un par de literales T1 y T1 de tal forma que T1 pertenece a una y T1 a la otra, eliminar ambas literales y crear el resolvente.

– Si el resolvente es la cláusula vacía (FALSE), la contradicción ha sido encontrada. De otra manera el resolvente se agrega al conjunto de cláusulas.

Page 34: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3434/48/48

EjemploAxiomas:Es ilegal que un turista venda huacos en Rusia x,y Turista(x) Λ huacos(y) Λ Vender(x,y)=>Infractor(x)

Sumac es un turista en RusiaTurista(Sumac)

Cada uno de los turistas en Rusia venden algunos huacosx,y Turista(x) Λ Huacos(y) Λ Vende(x,y)

¿Es Sumac un infractor?Infractor(Sumac)

Page 35: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3535/48/48

Ejemplo

1. Eliminación Universal

x,y Turista(x) Λ Huacos(y) Λ Vender(x,y)=>Infractor(x)

Turista(x) Λ Huacos(y) Λ Vender(x,y)=>Infractor(x)

x,y Turista(x) Λ Huacos(y) Λ Vende(x,y)

Turista(x) Λ Huacos(y) Λ Vende(x,y)

Page 36: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3636/48/48

Ejemplo2. Aplicando resolución

Turista(x) Λ Huacos(y) Λ Vender(x,y)=>Infractor(x) Turista(x) Λ Huacos(y) Λ Vende(x,y)

Infractor(x)Turista(Sumac) ¬Infractor(Sumac)

FALSE

Page 37: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3737/48/48

EJERCICIOS

Page 38: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3838/48/48

Ejercicio 6

1. P(w) Q(w)2. Q(y) S(y)3. True P(x) V R(x)4. R(z) S(z)

Unificar y resolver por Resolución.

Page 39: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

3939/48/48

Ejercicio 6

1. P(w) Q(w)2. Q(y) S(y)3. True P(x) V R(x)4. R(z) S(z)

Page 40: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4040/48/48

Ejercicio 7

1. -PhD(x) V HQ(x)2. -HQ(x) V Rich(x)3. PhD(x) V ES(x)4. -ES(x) V Rich(x)

Probar Rich(Me)

Unificar y resolver por Resolución.

Page 41: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4141/48/48

Ejercicio 7

1. -PhD(x) V HQ(x)2. -HQ(x) V Rich(x)3. PhD(x) V ES(x)4. -ES(x) V Rich(x)5. Probar Rich(Me)

Page 42: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4242/48/48

Ejercicio 81. x [y animal (y) ama(x,y)] [y ama(y,x)]

2. x [y animal (y) Λ mata(x,y)] [z ¬ama(z,x)]

3. x animal (x) ama(Bush,x)

4. mata(Bush,Fido) V mata(Wolfowitz,Fido)

5. perro(Fido)

6. x perro(x) animal (x)

Probar: mata(Wolfowitz, Fido)

7. ¬mata(Wolfowitz, Fido)

Page 43: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4343/48/48

Ejercicio 8

Convirtiendo a lógica de predicados:

1. [animal (y) ama(x,y)] ama(G, x)

2. [animal (H) Λ mata(x, H)] ¬ama(z,x)

3. animal (x) ama(Bush,x)

4. mata(Bush,Fido) V mata(Wolfowitz,Fido)

5. perro(Fido)

6. perro(x) animal (x)

7. ¬mata(Wolfowitz, Fido)

Page 44: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4444/48/48

Ejercicio 8

Convirtiendo a CNF:

1. animal (y) V ama(G, x)

2. - ama(x, y) V ama(G, x)

3. -animal (H) V -mata(x, H) V ¬ama(z, x)

4. -animal (x) V ama(Bush, y)

5. mata(Bush, Fido) V mata(Wolfowitz, Fido)

6. perro(Fido)

7. - perro(x) V animal (x)

8. ¬mata(Wolfowitz, Fido)

Page 45: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4545/48/48

Ejercicio 8

animal (y) V ama(G, x)

- ama(x, y) V ama(G, x)

-animal (H) V -mata(x, H) V ¬ama(z, x)

-animal (x) V ama(Bush, x)

mata(Bush, Fido) V mata(Wolfowitz, Fido)

perro(Fido) - perro(x) V animal (x)

¬mata(Wolfowitz, Fido)

Page 46: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4646/48/48

Ejercicio 9

1. man(Marcus)

2. Pompeian(Marcus)

3. x Pompeian(x) Roman(x)

4. ruler(Caesar)

5. x Roman(x) loyalto(x, Caesar) hate(x, Caesar)

6. x y loyalto(x, y)

7. xy man(x) ruler(y) tryassassinate(x, y)¬loyalto(x, y)

8. tryassassinate(Marcus, Caesar)

¿Marcus era fiel a César?

Page 47: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4747/48/48

Bibliografía• AIMA. Capítulo 8, primera edición.• AIMA. Chapter 9, second edition.

Page 48: 1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL.

4848/48/48

PREGUNTAS