Source: http://slideplayer.es/slide/92187/
Timestamp: 2017-12-11 19:11:19+00:00

Document:
Publicada porMagdalena Castellano Modificado hace 3 años
1 Inferencia en Lógica de Predicados
INTELIGENCIA ARTIFICIAL Inferencia en Lógica de Predicados Mg. Samuel Oporto Díaz Lima, 16 de Julio 2005
2 Tabla de Contenido Sustitución. Unificación
Reglas de Inferencia con Cuantificadores Formas Canónicas para Resolución Bibliografía
3 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)
4 SUSTITUCION
5 Término Base (Ground term)
El término base es: Una constante Taki Piedra Pedro El resultado de una función donde todas sus entradas son términos base. loriana(Lunes) policia(Asiri)
6 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:  = ConcurreA(x, y)  GustaDe(x, y)  = {x/Juan, y/CursoIA} 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.
7 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 α
8 Sustitución Sustitución vacía {}, cuando no modifica la expresión.
9 Ejercicios Sean: α = F1(x,y), F2(y,w), F3(x,y,z,r)
10 Ejercicios Calcular: θ4 = (θ1θ2)θ3 y luego αθ4
11 Ejercicios  = monopolio(M) penalizado(M)  = {M/LosGarcia}
subst( {M/LosGarcia}, monopolio(M)  penalizado(M) ) monopolio(LosGarcia)  penalizados(LosGarcia)  = realiza(M,W)  feo(W)  odiado(M)  = {M/Hormel, W/Spam} subst( {M/Hormel,W/Spam} realiza(M,W)feo(W)odiado(M)) realiza(Hormel, Spam) feo(Spam)  odiado(Hormel)
12 UNIFICACION
13 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.
14 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)
15 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)
16 UNIFICAR(conoce(juan,x1),conoce(x2,isabel))={x1/isabel, x2/juan}
17 Ejercicio: Unificar y Resolver.
femenino(ana) femenino(X) Λ padre (Y, X)  hija(X, Y) padre (juan, ana)
18 Ejercicio: Unificar y Resolver.
femenino(ana) femenino(X) Λ padre (Y, X)  hija(X, Y) padre (juan, ana) femenino(ana) femenino(X) Λ padre (Y, X)  hija(X, Y) θ1 = (X/ana) padre (juan, ana) padre(Y,ana)  hija(ana,Y) θ2 = (Y/juan) hija(ana, juan)
19 Tarea 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))
20 Reglas de Inferencia con cuantificadores
21 Reglas de Inferencia con cuantificadores
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 ponens Y-eliminación Y-introducción O-introducción Doble negación eliminación Resolución unitaria Resolución
22 Eliminación Universal
Para toda oración , variable v y término de base g : Por ejemplo, en x le_gusta(x, helado), podemos utilizar la sustitución {x/ben} e inferir que: le_gusta(ben, helado). v  SUST({v/g},) Término de Base: Es aquél término en el que no hay variables; es decir, un símbolo constante o un símbolo de función aplicados a algunos términos de base.
23 Eliminación Existencial
24 Introducción Existencial
25 Ejemplo Axiomas: Es ilegal que un turista venda huacos en Rusia
x,y Turista(x) Λ huacos(y) Λ Vender(x,y)=>Infractor(x) Diego es un turista en Rusia Turista(Diego) Cada uno de los turistas en Rusia venden algunos huacos x,y Turista(x) Λ Huacos(y) Λ Vende(x,y) ¿Es Diego un infractor? Infractor(Diego)
26 Ejemplo Eliminación Universal: SUST({x/Diego}, )
x,y Turista(x) Λ Huacos(y) Λ Vender(x,y)=>Infractor(x) Turista(Diego) Λ Huacos(y) Λ Vender(Diego,y)=>Infractor(Diego) Eliminación Universal: SUST({x/Diego}, ) x,y Turista(x) Λ Huacos(y) Λ Vende(x,y) Turista(Diego) Λ Huacos(y) Λ Vende(Diego,y)
27 Ejemplo Eliminación Universal: SUST({x/Diego}, )
x,y Turista(x) Λ Huacos(y) Λ Vender(x,y)=>Infractor(x) Turista(Diego) Λ Huacos(y) Λ Vender(Diego,y)=>Infractor(Diego) Eliminación Universal: SUST({x/Diego}, ) x,y Turista(x) Λ Huacos(y) Λ Vende(x,y) Turista(Diego) Λ Huacos(y) Λ Vende(Diego,y) Turista(Diego) Λ Huacos(y) Λ Vende(Diego,y) Turista(Diego) Λ Huacos(y) Λ Vender(Diego,y)=>Infractor(Diego) Infractor(Diego)
28 Formas Canónicas para Resolución
29 Formas Canónicas: Regla de Resolución
Forma normal conjuntiva (CNF). Disyunción de literales. Forma normal implicativa (INF). Conjunciones en la izquierda que implica las disyunciones en el derecho. La CNF es más común, pero la INF es más "natural" para el análisis humano. Original KB CNF INF " x P(x) Þ Q(x) ØP(w)Ú Q(w) P(w) Þ Q(w) " x ØP(x) Þ R(x) P(x) Ú R(x) True Þ P(x) Ú R(x) " x Q(x) Þ S(x) ØQ(y)Ú S(y) Q(y) Þ S(y) " x R(x) Þ S(x) ØR(z)Ú S(z) R(z) Þ S(z) A, A Þ B Û True Þ A, A Þ B B True Þ B
30 Ejercicio: Unificar y resolver por Resolución.
P(w) Q(w) Q(y)  S(y) True  P(x) V R(x) R(z)  s(z)
31 Ejercicio: Unificar y resolver por Resolución.
32 Probador de Teoremas [BD Λ ¬P(x)  Falso]  [BD  P(x)] Conocido como:
33 Probador de Teoremas Probar R: (5). T T
Prueba por refutación:	(1). P	P (2). (P  Q)  R	P  Q  R (3). (S  T)  Q	S  Q (4). T  Q Probar R:	(5). T	T
34 Probador de Teoremas Probar R: (5). T T P  Q  R R P  Q P
Prueba por refutación:	(1). P	P (2). (P  Q)  R	P  Q  R (3). (S  T)  Q	S  Q (4). T  Q Probar R:	(5). T	T P  Q  R R P  Q P T  Q Q  T T nil
35 Ejercicio: Unificar y resolver por Resolución.
-PhD(x) V HQ(x) -HQ(x) V Rich(x) PhD(x) V ES(x) -ES(x) V Rich(x) Probar Rich(Me)
36 Ejercicio: Unificar y resolver por Resolución.
37 Ejemplo x [y animal (y)  ama(x,y)]  [y ama(y,x)]
x [y animal (y) Λ mata(x,y)]  [z ¬ama(z,x)] x animal (x)  ama(Bush,y) mata(Bush,Fido) V mata(Wolfowitz,Fido) perro(Fido) x perro(x)  animal (x) Probar: mata(Wolfowitz, gato) 7.	¬mata(Wolfowitz, Fido)
38 Ejemplo Convirtiendo a lógica de predicados:
[animal (y)  ama(x,y)]  ama(G, x) [animal (H) Λ mata(x, H)]  ¬ama(z,x) animal (x)  ama(Bush,y) mata(Bush,Fido) V mata(Wolfowitz,Fido) perro(Fido) perro(x)  animal (x) 7.	¬mata(Wolfowitz, Fido)
39 Ejemplo Convirtiendo a CNF: animal (y) V ama(G, x)
40 Ejemplo perro(Fido) - perro(x) V animal (x) - ama(x, y) V ama(G, x)
-animal (x) V ama(Bush, y) animal (y) V ama(G, x) ¬mata(Wolfowitz, Fido) mata(Bush, Fido) V mata(Wolfowitz, Fido) -animal (H) V -mata(x, H) V ¬ama(z, x)
41 Tarea ¿Marcus era fiel a César? (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) x y person(x)  ruler(y)  tryassassinate(x, y)  loyalto(x, y) (8) tryassassinate(Marcus, Caesar) ¿Marcus era fiel a César?
42 Bibliografía AIMA. Capítulo 8, primera edición.

References: Resolución 
 Resolución 
 Resolución 
 Resolución

 Resolución

 Resolución