Inteligencia Artificial Clase #7 Lógica de predicados Dr. Wladimir Rodríguez Postgrado en Computación [email protected] Lógica General Las lógicas se caracterizan por lo que ellas consideran como "primitivas". W Lógica Que existe en el Mundo Proposicional hechos Estados de Conocimiento hechos, objetos, relaciones hechos, objetos, relaciones, tiempo verdadero/falso/ desconocido verdadero/falso/ desconocido verdadero/falso/ desconocido Probabilidad hechos grado de creencia 0..1 Difusa grados de verdad grado de creencia 0..1 Predicados Temporal Dr. Wladimir Rodríguez 2 Inteligencia Artificial Sintaxis Básica de la Lógica de Predicados W Un término es utilizado para denotar un objeto en el mundo. W W W constante: LuisPerez, 2, Coro,Verde, ... variable: x, y, a, b, c, … función(term1, …, termn): W W W W W e.g. Sqrt(9), Distancia(Coro,Caracas) mapea uno o mas objetos con otro objeto se puede referir a un objecto sin nombre: e.g. PiernaIzquieradDe(Juan) representa una relación funcional definida por el usuario Un término base es un término sin variables. Dr. Wladimir Rodríguez 3 Inteligencia Artificial Sintaxis Básica de la Lógica de Predicados W Un átomo es la expresión mas pequeña a la que se le puede asignar un valor de verdad. W predicado(term1, …, termn): W W W W Maestro(Luis, Ana), <=(Sqrt(2),Sqrt(7)) mapea uno o mas objetos a un valor de verdad representa una relación definida por el usuario term1 = term2: W W Dr. Wladimir Rodríguez Ingreso(Juan) = 200K, 1 = 2 representa la relación de igualdad cuando dos términos se refieren al mismo objeto 4 Inteligencia Artificial Sintaxis Básica de la Lógica de Predicados X Una sentencia representa un hecho en el mundo al cual le es asignado un valor de verdad. X X átomo sentencias complejas usando los conectores: ¬ X X X Amigo(Luis,Ana) Amigo(Ana,Luis) >(11,22) <(22,33) sentencias complejas utilizando variables cuantificadas: Dr. Wladimir Rodríguez 5 Inteligencia Artificial Sintaxis Básica de la Lógica de Predicados A las sentencias se les asigna un valor de verdad con respecto a un modelo y a una interpretación. X X El modelo contiene los objetos y las relaciones entre ellos. La interpretación específica que símbolos se refieren a: X X X los símbolos constantes se refieren a objetos los símbolos de predicados se refieren a relaciones. los símbolos de funciones se refieren a relaciones funcionales. Dr. Wladimir Rodríguez 6 Inteligencia Artificial Semántica de la LPO: Asignación de Verdad X El átomo predicado(term1, …, termn) es verdadero iff los objetos referidos por term1, …, termn están en la relación indicada por el predicado. ¿Cual es el valor de verdad para F(A,L)? X modelo: objetos: Ana, Juan, Maria, Luis X relación: Amigo {<Ana,Maria>,<Maria,Ana>} interpretación: X A significa Ana, J significa Juan, M significa Maria, L significa Luis X F(term1,term2) significa term1 es amigo de term2 X X Dr. Wladimir Rodríguez 7 Inteligencia Artificial Sintaxis de LPO: Cuantificadores Cuantificador Universal: <variables> <sentencia> La sentencia se mantiene verdadera para todos los valores de x en el dominio de la variable x. W El conector principal es normalmente formando reglas si-entonces W Todos los humanos son mamíferos. x Humano(x) Mamifero(x) W W significa si x es un humano entonces x es un mamífero Dr. Wladimir Rodríguez 8 Inteligencia Artificial Sintaxis de LPO: Cuantificadores l x Humano(x) Mamifero(x) l X Equivalente a la conjunción de las instanciaciones de x: X (Humano(Juan) Mamifero(Juan)) (Humano(Ana) Mamifero(Ana)) (Humano(22) Manifero(22)) … Dr. Wladimir Rodríguez 9 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X Es un error común el usar como conector principal. X resultando en una sentencia general acerca de todo. X Por ejemplo: x Humano(x) Mamifero(x) X (Humano(Juan) Mamifero(Juan)) (Humano(Ana) Mamifero(Ana)) (Humano(22) Mamifero(22) ) … X significa que todo es humano y mamifero Dr. Wladimir Rodríguez 10 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X X Cuantificador existencial: <variables> <sentencia> La sentencia será verdadera para algún valor de x en el dominio de la variable x. X X Conector principal típico X X Algunos humanos son viejos. x Humano(x) Viejo(x) X Dr. Wladimir Rodríguez significa que x es un humano y que x es viejo 11 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X x Humano(x) Viejo(x) X Equivalente a la disyunción de instanciaciones de x: X (Humano(Juan) Viejo(Juan)) (Humano(Ana) Viejo(Ana)) (Humano(22) Viejo(22) ) … Dr. Wladimir Rodríguez 12 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X Un error común es el usar principal. X X como conector resultando en una sentencia débil Por ejemplo: x Humano(x) Viejo(x) X (Humano(Juan) Viejo(Juan)) (Humano(Ana) Viejo(Ana)) (Humano(22) Viejo(22) ) … X Dr. Wladimir Rodríguez verdadero si existe cualquier cosa que no es humano 13 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X Propiedades de los cuantificadores: X x y es lo mismo que y x X x y es lo mismo que y x X X ¿Por qué? x y Querer(x,y) es voz activa: X Todo el mundo quiere a todo el mundo y x Querer(x,y) es voz pasiva: X X Dr. Wladimir Rodríguez Todo el mundo es querido por todo el mundo 14 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X Propiedades de los cuantificadores: X x y no es lo mismo que y x X x y no es lo mismo que y x X ¿Por qué? x y Querer(x,y) es voz activa: X X Todos quieren a alguien. y x Querer(x,y) es voz pasiva: X X Dr. Wladimir Rodríguez Alguien es querido por todos. 15 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X Propiedades de los cuantificadores: X x P(x) es lo mismo que ¬ x ¬P(x) X x P(x) es lo mismo que ¬ x ¬P(x) X X ¿Por qué? x Gustar(x,Helado) X X A todos les gusta el helado. ¬ x ¬Gustar(x,Helado) es una doble negación X Dr. Wladimir Rodríguez No hay nadie que no le guste el helado. 16 Inteligencia Artificial Sintaxis de LPO: Cuantificadores X Propiedades de los cuantificadores: X x P(x) si se niega es x ¬P(x) X x P(x) si se niega es x ¬P(x) X X ¿Por qué? x Gustar(x,Helado) X A todos les gusta el helado. x ¬Gustar(x,Helado) X X X Dr. Wladimir Rodríguez A alguien no le gusta el helado. se debe aplicar la Ley de Morgan para instanciar completamente la sentencia 17 Inteligencia Artificial Sintaxis de LPO: Bases X Una variable libre es una variable que no esta atada a un cuantificador. y Gustar(x,y) X X x es libre, y esta atada X X Una formula bien formada es una sentencia donde todas las variables están cuantificadas. Dr. Wladimir Rodríguez 18 Inteligencia Artificial Resumen X Constantes: Luis, 2, Coro, … X Funciones: Ingreso, Dirección, Sqrt, … X Predicados: Hermana, Maestro, <=, … X Variables: x, y, a, b, c, … X Conectores: X Igualdad: = X Cuantificadores: Dr. Wladimir Rodríguez ¬ 19 Inteligencia Artificial Resumen X X Termino: Constante, variable, or Función(term1, …, termn) X denota un objeto en el mundo X término base no tiene variables atadas Atomo: Predicado(term1, …, termn), term1 = term2 X X Sentencia: átomo, sentencia cuantificada con variables o sentencias complejas usando conectores X X es la expresión mas pequeña a la que se le puede asignar un valor de verdad se le asigna un valor de verdad Formula Bien Formada (fbf): sentencia con todas las variables cuantificada Dr. Wladimir Rodríguez 20 Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO. X Luis es un pescado X ¿Cuales son las constantes? X Luis X ¿Cuales son las relaciones? X es un pescado X Respuesta: Pescado(Luis) X Ana y María son mujeres X Ana y María son amigas X Ana o María no son plantas Dr. Wladimir Rodríguez 21 Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO: X América le compro Alaska a Rusia X ¿Cuales son las constantes? X América, Alaska, Rusia X ¿Cuales son las relaciones? X comprar X Respuesta: Comprar(America, Alaska, Rusia) X Tibio es entre frío y caliente X Ana, Luisa, Juan y José fueron juntos al baile Dr. Wladimir Rodríguez 22 Inteligencia Artificial Ejemplos • Convertir las siguientes sentencias a LPO: • Juan colecciona de todo • ¿Cuales son las variables? • de todo • ¿Cuales son los cuantificadores? • todo, universal • Respuesta: x Colecciona (Juan, x) • Colecciona (Juan, Lápiz) • Juan colecciona algo • Alguien colecciona a Juan Dr. Wladimir Rodríguez 23 Colecciona(Juan,Ana) Inteligencia Artificial Ejemplos X Todos X X cosas: cualquier cosa, todas las cosas, cualquiera personas: cualquiera, todo el mundo, cada uno, quienquiera X Alguno (al menos uno) X X X cosas: algo personas: alguien, alguno Ninguno X X cosas: nada personas: nadie, ninguno Dr. Wladimir Rodríguez 24 Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO: X Algo colecciona a algo X X X X X ¿Cuales son las variables? algo y algo ¿Cuales son los cuantificadores? al menos uno, existencia Respuesta: x,y Colecciona (x, y) X Todo colecciona algo X Todo colecciona a todo X Algo colecciona a todo Dr. Wladimir Rodríguez 25 Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO: X Todos los zapatos cerrados están permitidos X ¿Como están conectadas las ideas? X ser cerrado y ser zapato implica que es permitido X Respuesta: x Zapato(x) Cerrado(x) Permitido(x) X Ningún zapato cerrado es permitido X Respuesta: ¬ x Zapato(x) Permitido(x) Cerrado(x) X Los zapatos cerrados no están permitidos X Respuesta: x Zapato(x) ¬Permitido(x) Dr. Wladimir Rodríguez 26 Cerrado(x) Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO: X Nada colecciona cualquier cosa X ¿Cuales son las variables y cuantificadores? X nadie y cualquier cosa X ninguno (no existencial) y todos (universal) X Respuesta: ¬ x y Colecciona(x, y) X Cualquier cosa no coleccionan algo X Respuesta: x, y ¬Colecciona(x, y) X Cualquier cosa colecciona nada Dr. Wladimir Rodríguez 27 Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO: X Cualquier buen amateur puede vencer a algún profesional X X x [(x es un buen amateur) algún profesional)] (x puede vencer a x [ (Amateur(x) Bueno(x)) y(Profesional(y) Vencer(x, y))] X Algunos profesionales pueden vencer a todos los amateur Dr. Wladimir Rodríguez 28 Inteligencia Artificial Ejemplos X Convertir las siguientes sentencias a LPO: X Todos los coleccionistas coleccionan todas las cosa X ¿Como están conectadas las ideas? X ser un implica coleccionar todas las cosas X Respuesta: x, y Coleccionista(x) Colecciona(x, y) X Coleccionistas coleccionan cosas de valor X Todos los coleccionistas coleccionan todas las cosas de valor X Todos los coleccionistas coleccionan algunas cosas de valor X Algún coleccionista colecciona todas las cosas de valor X Algún coleccionista colecciona algunas cosas de valor Dr. Wladimir Rodríguez 29 Inteligencia Artificial Ejemplo Marcos era un hombre Marcos era un Pompeyano Todos los Pompeyanos eran Romanos Cesar era un líder. Todos los Romanos eran o leales a Cesar o lo odiaban. Todo el mundo es leal a alguien. Hombre solo tratan de asesinar lideres a los cuales no son leales. Marcus trato de asesinar a Cesar. Dr. Wladimir Rodríguez 30 Inteligencia Artificial Ejemplo Hombre(Marcos) Pompeyano(Marcos) x Pompeyano(x) Romano(x) Líder(Cesar) x Romanos(x) Leal(x,Cesar) x x y Leal(x,y) y Hombre(x) Líder(y) ¬Leal(x,y) Trata_asesinar(Marcos,Cesar) Dr. Wladimir Rodríguez 31 Odiar(x,Cesar) Trata_asesinar(x,y) Inteligencia Artificial Ejemplo • ¿Era Marcos un Romano? • ¿Era Marcos leal a Cesar? • ¿A quien era Marcos leal? • ¿Era Marcos un líder? • ¿Será el examen fácil? Dr. Wladimir Rodríguez 32 Inteligencia Artificial Ejercicio los predicados: Padre(x,y) • Usando Madre(x,y) Hermano(x,y) Hermana(x,y) hechos en lógica de predicados • Construir que establezcan las siguientes relaciones: Abuelos Abuelo Abuela Tío Primo Dr. Wladimir Rodríguez 33 Inteligencia Artificial Procedimiento de Prueba • La misma idea, pero con algunas complejidades: • conversión a FNC es más compleja. • Apareamiento de literales requiere proveer un apareamiento de variables, constantes y/o funciones. ¬Patina(x) GustaHockey(x) ¬GustaHockey(y) • Podemos resolver esto solo si asumimos que x y y se refieren al mismo objeto. Dr. Wladimir Rodríguez 34 Inteligencia Artificial Lógica de Predicados y FNC • Convertir a FNC es más difícil - nos tenemos que preocupar por las variables y los cuantificadores. 1. Eliminar todas las implicaciones 2. Reducir el alcance de todas las ¬ a un solo término. 3. Hacer todos los nombres de las variable únicos * 4. Mover los Cuantificadores a la Izquierda * 5. Eliminar Cuantificadores Existenciales * 6. Eliminar Cuantificadores Universales * 7. Convertir a conjunción de disyunciones 8. Crea cláusula separadas para cada conjunción. Dr. Wladimir Rodríguez 35 Inteligencia Artificial Eliminar Cuantificadores Existenciales variable que esta cuantificada • Cualquier existencialmente significa que estamos diciendo que existe algún valor para esa variable que hará cierta la expresión. eliminar el cuantificador, podemos • Par remplazar la variable con una función. sabemos cual es la función, solo • No sabemos de que existe. Dr. Wladimir Rodríguez 36 Inteligencia Artificial Funciones Skolem • y Presidente(y) y con una nueva función • Reemplazamos func: • Presidente(func()) func es llamada una función skolem. general la función debe tener el mismo • En número de argumentos que el número de cuantificadores universales en el alcance actual. Dr. Wladimir Rodríguez 37 Inteligencia Artificial Ejemplo de Función de Skolem • x y Padre(y,x) crear una nueva función llamada fun1 y reemplazar y con la función. x Padre(fun1(x),x) Dr. Wladimir Rodríguez 38 Inteligencia Artificial Resolución en Lógica de Predicados que preocuparnos acerca de los • Tenemos argumentos de los predicados, de manera que es más difícil saber cuando 2 literales se aparean y pueden ser usados por la resolución. ejemplo, ¿Se aparean Padre(Luis, Ana) • Por y Padre(x,y) ? respuesta depende de como substituimos • La valores por variables. Dr. Wladimir Rodríguez 39 Inteligencia Artificial Unificación proceso de encontrar una substitución • El para los parámetros de los predicados es llamado unificación. • Necesitamos saber: • que 2 literales pueden ser apareados. • la substitución es lo que hace a los literales idénticos. un algoritmo sencillo llamado el • Existe algoritmo de unificación que lo hace. Dr. Wladimir Rodríguez 40 Inteligencia Artificial El Algoritmo Unificación 1. Símbolos de predicados iniciales deben coincidir. 2. Para cada par de argumentos de predicados: • • • • constantes diferentes no pueden coincidir. una variable puede ser reemplazada por una constante. una variable puede ser reemplazada por otra variable. una variable puede ser reemplazada por una función siempre y cuando la función no contenga una instancia de la variable. Dr. Wladimir Rodríguez 41 Inteligencia Artificial El Algoritmo de Unificación se intente aparear 2 literales, todas • Cuando las substituciones deben ser hechas al literal entero. haber muchas substituciones que • Puede unifican 2 literales, siempre se desea el unificador más general. Dr. Wladimir Rodríguez 42 Inteligencia Artificial Ejemplo de Unificación • P(x) y P(y): substitución = (x/y) • P(x,x) y P(y,z): (z/y)(y/x) • P(x,f(y)) y P(Luis,z): (Luis/x, f(y)/z) no se puede hacer! • P(f(x)) y P(x): Q(Juana) y P(Luis) Q(y): • P(x)(Luis/x, Juana/y) Dr. Wladimir Rodríguez 43 Inteligencia Artificial Ejemplos de Unificación & Resolución • • • Padre(Luis, Ana) ¬Padre(Luis,x) Hombre(Marcos) ¬Hombre(x) Ama(padre(a),a) Dr. Wladimir Rodríguez ¬Ama(x,y) 44 Madre(María,x) Mortal(x) Ama(y,x) Inteligencia Artificial Algoritmo de Resolución de la Lógica de Predicados no exista una cláusula vacía y • Mientras haya cláusulas que puedan resolverse: • seleccione 2 cláusulas que puedan resolverse. • resuelva las cláusulas (después de la unificación), aplique la substitución de unificación al resultado y almacenelo en la base de conocimiento. Dr. Wladimir Rodríguez 45 Inteligencia Artificial Ejemplo ¬Inteligente(x) • RPI(x) GustarHockey(x) • ¬Canadiense(y) GustarHockey(y) • ¬Patinar(z) GustarHockey(z) • Inteligente(Juan) • Patinar(Juan) Meta es encontrar si RPI(Juan) es cierto. Dr. Wladimir Rodríguez 46 Inteligencia Artificial Ejemplo • Hombre(Marcos) • Pompeyano(Marcos) • ¬Pompeyano(x1) Romano(x1) • Líder(Cesar) • ¬Romanos(x2) Leal(x2,Cesar) Odiar(x2,Cesar) • Leal(x3 , f(x3)) • ¬Hombre(x4) ¬Líder(y1) ¬TrataAsesinar(x4,y1) Leal(x4,y1) • PROBAR: TrataAsesinar(Marcos,Cesar) Dr. Wladimir Rodríguez 47 Inteligencia Artificial Ejercicios • Los miembros de un club de bridge son Juan, Luisa, Luis y Elena. • Juan esta casado con Luisa. • Luis es el hermano de Elena. • La pareja de cada persona casada en el club también esta en el club. • La última reunión del club fue en la casa de Juan. • ¿Fue la última reunión en la casa de Luisa? • ¿Esta casada Elena? Dr. Wladimir Rodríguez 48 Inteligencia Artificial