La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "1/48 Mg. Samuel Oporto Díaz Inferencia en Lógica de Predicados INTELIGENCIA ARTIFICIAL."— Transcripción de la presentación:

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

2 2/48 Mapa Conceptual del Curso

3 3/48 Tabla de Contenido 1.Sustitución.Sustitución. 2.UnificaciónUnificación 3.Reglas de Inferencia con CuantificadoresReglas de Inferencia con Cuantificadores 4.ResoluciónResolución 5.EjerciciosEjercicios 6.BibliografíaBibliografía

4 4/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)

5 5/48 SUSTITUCION

6 6/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)

7 7/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.

8 8/48 Sustitución Dadas las variables x 1, x 2,..., x n y los términos t 1, t 2,.., t n (sin variables), la sustitución θ es un conjunto de pares ordenados: θ = {x 1 /t 1, x 2 /t 2,..,x n /t n } (x/t se lee sustituir x por t) La operación consiste en, dado un literal α que contiene x 1, x 2,.., x n, y una sustitución θ, reemplazar en todos los lugares de α donde aparezca x i por t i. 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 α

9 9/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.

10 10/48 Ejercicio 1 Diga 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}

11 11/48 Ejercicio 1 subst( {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))

12 12/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)

13 13/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)

14 14/48 UNIFICACION

15 15/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.

16 16/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)

17 17/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)

18 18/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}

19 19/48 Ejercicio 3 Unifique y resuelva. 1.femenino(ana) 2.padre (juan, ana) 3.femenino(X) Λ padre (Y, X) hija(X, Y)

20 20/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)

21 21/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))

22 22/48 Ejercicio 5 Intente 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)

23 23/48 REGLAS DE INFERENCIA CON CUANTIFICADORES

24 24/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 ponens Y-eliminación Y-introducción O-introducción Doble negación eliminación Resolución unitaria Resolución Modus Tollens

25 25/48 Eliminación Universal vPara toda oración, variable v y una variable v: x Por ejemplo, en x le_gusta(x, helado), podemos utilizar la sustitución {x/x} e inferir que: x le_gusta(x, helado). Permite eliminar el cuantificador v v S UST ({v/v}, )

26 26/48 Eliminación Existencial kPara toda oración, variable v y símbolo constante k que no aparezca en ninguna parte de la base de conocimientos: asesinoasesino Por ejemplo, en x matar(x, víctima), podemos inferir que matar(asesino, víctima) en tanto que asesino no aparezca en ninguna parte de la base de conocimientos. v S UST ({v/k}, ) k Es importante que la constante k usada para la sustituir la variable sea una variable nueva

27 27/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 S UST ({g/v}, )

28 28/48 RESOLUCION

29 29/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

30 30/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.

31 31/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.

32 32/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 Implicativa Modus Ponens P Q P Q Modus TollensP Q ¬Q ¬P EncadenamientoP Q Q R P R Forma Normal Conjuntiva Modus Ponens ¬P V Q P Q Modus Tollens¬ P V Q ¬Q ¬P Encadenamiento¬P V Q ¬Q V R ¬P V R

33 33/48 Aplicación de la regla de resolución Asumir 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.

34 34/48 Ejemplo Axiomas: 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 Rusia Turista(Sumac) Cada uno de los turistas en Rusia venden algunos huacos x,y Turista(x) Λ Huacos(y) Λ Vende(x,y) ¿Es Sumac un infractor? Infractor(Sumac)

35 35/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)

36 36/48 Ejemplo 2. 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

37 37/48 EJERCICIOS

38 38/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.

39 39/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)

40 40/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.

41 41/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)

42 42/48 Ejercicio 8 1. 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)

43 43/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)

44 44/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)

45 45/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)

46 46/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. x y man(x) ruler(y) tryassassinate(x, y) ¬loyalto(x, y) 8.tryassassinate(Marcus, Caesar) ¿Marcus era fiel a César?

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

48 48/48 PREGUNTAS


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

Presentaciones similares


Anuncios Google