Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 1 TEMA 2 (I) REPRESENTACIÓN DEL CONOCIMIENTO. REPRESENTACIÓN BASADA EN LA LÓGICA Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 2 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 3 INDICE 1. La Problemática de la Representación del Conocimiento. 2. Métodos de Representación del Conocimiento 3. Métodos de Representación basados en la Lógica 4. Lógica proposicional. 5. Lógica de predicados de primer orden. 6. Razonamiento en la lógica: sistemas de demostración. 7. La forma clausal de la lógica. 8. Demostración automática: Resolución. 9. La Lógica como formalismo de representación del conocimiento. Bibliografía Básica del Tema: • E. Rich, K. Knight "Inteligencia Artificial" McGraw Hill (1994).Capítulo 4 y 5 • Peter Lucas and Linda Van Der Gaag. "Principles of Expert Systems" . Addison Wesley. 1991.Capítulo 2. Bibliografía Complementaria: • N. Nilsson "Principios de Inteligencia Artificial" Diaz de Santos (1987) • E. Charniak, D. McDermott "Introduction to Artificial Intelligence" Addison-Wesley (1985). Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica 1. La Problemática de la Representación del Conocimiento Propiedades del conocimiento: - voluminoso - difícil de caracterizar con precisión. - incierto/impreciso - cambia constantemente La representación del conocimiento debe ser capaz de: - captar generalizaciones - ser comprensible - fácilmente modificable, incrementable - ser usado en diversas situaciones y propósitos - permitir diversos grados de detalle - captar la incertidumbre, imprecisión - representar distinciones importantes - focalizar el conocimiento relevante Mecanismos de manipulación del conocimiento: - capaces de obtener soluciones a problemas nuevos Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 4 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 5 La Problemática de la Representación del Conocimiento - 2 Una representación del conocimiento en IA es una combinación de estructuras de datos (que nos permiten representar mediante un formalismo determinado las "verdades" relevantes en algún dominio) asociadas con mecanismos interpretativos que nos permiten manipular el conocimiento representado a fin de crear soluciones a problemas nuevos. Manejamos dos tipos de entidades: • Hechos: verdades en un cierto mundo, lo que queremos representar • Representación de los hechos en un determinado formalismo ( las entidades que queremos manipular) Entidades que se pueden clasificar en: • El nivel del conocimiento, donde se describen los hechos (comportamiento y objetivos de cada agente) • El nivel simbólico, donde se describen los objetos del nivel del conocimiento en términos de símbolos manipulables por programas(Newell). Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 6 La Problemática de la Representación del Conocimiento - 3 Ontología (1) E D C A B – Conjunto de símbolos básicos con los que se compone el conocimiento, junto a las restricciones de consistencia que controlan la composición del mismo Ej.: Un bloque no puede estar sobre sí mismo – Vocabulario para representar un dominio (Lista informal de los conceptos de un dominio – Russell): • Serie de términos que representan los conceptos y relaciones que interesan del dominio. – Ej.: Conceptos: Bloque, Suelo Relaciones: Sobre Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 7 La Problemática de la Representación del Conocimiento - 4 Ontología (2) – Una ontología es algo análogo a un esquema de base de datos, no al contenido de la base de datos. – Existen diversos lenguajes para poder representar una ontología – La definición de una ontología como forma de representar los conceptos de interés de un determinado dominio, permite el entendimiento entre distintos programas. • Ejemplo: Compras electrónicas por la red Ontología Comprador Vendedor Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 8 La Problemática de la Representación del Conocimiento - 5 correspondencia hacia adelante Iniciales Representación Interna Razonamiento Real Finales correspondencia hacia atrás Comprensión Generación (1) lenguaje lenguaje (2) Hechos Representación mediante formalismo (Lenguaje Natural) • Hechos • Representación hechos • Relación entre hechos y representaciones Spot es un perro (1) perro(Spot) Programa que Razona ∀x: perro(x)→ tiene_rabo(x) tiene_rabo(Spot) (2) Spot tiene rabo Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 9 Ejemplo: El Problema del Tablero de Damas Recortado • Objetivo: Cubrir un tablero de ajedrez, sin las esquinas negras con fichas de dominó. • Representaciones alternativas: Número de cuadros negros = 30 Número de cuadros blancos =32 (a) (b) (c) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Propiedades del Sistema de Representación • Capacidad Expresiva • Capacidad Deductiva • Eficiencia Deductiva • Eficiencia en la Adquisición Tipos de Conocimiento • elementos básicos u objetos del mundo real. • aserciones y definiciones sobre los elementos básicos. • conceptos, agrupaciones o generalizaciones de elementos básicos. • relaciones, propiedades de los elementos y conceptos. • teoremas y reglas de reescritura. Reglas de producción. • algoritmos de resolución. • estrategias y heurísticas. • meta conocimiento. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 10 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 11 Conocimiento Relacional Simple • Similar al de BD. • Escasa capacidad deductiva. Jugador Edad Altura Peso Goles Pablo Aimar 22 1,75 75 7 Mendieta 27 1,70 65 5 Cañizares 29 1,85 80 0 John Carew 20 1,90 84 5 Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 12 Conocimiento Heredable Persona • redes semánticas • frames Derecha es-un Hombre adulto es-un la misma que la pierna hábil pierna-hábil altura 1,70 altura 1,80 Jugador futbol chuta goles/partido 0 Portero goles/partido instancia Cañizares Valencia equipo 0,2 Jugador campo 0,25 goles/partido instancia Pablo Aimar Valencia equipo Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 13 Un Nodo visto como una Frame • Mayor estructuración en los atributos y en el mecanismo de inferencia que con la red semántica. Jugador_de_futbol es_un : Hombre_Adulto chuta: (IGUAL pierna hábil) altura: 1,80 goles/partido: 0,2 Arterias subclase_de: vasos_sanguineos pared : muscular oxigeno: rica presión_mínima: 90 presión_máxima: 100 Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Conocimiento Deductivo ∀x: {CIUDAD(x) ^ ∃y: {ALGUACIL(x,y) ^ ∀z: {[PERRO(z) ^ VIVE-EN(x,z)] → MORDIDO(y,z)}}} ∀x: {CONJUNTO(x) → ∃y:∃ u: ∃ v: [CONJUNTO(y) ^ CARD(x,u) ^ CARD(y,v) ^ MAYOR(u,v)]} ∀x:∀y: {{BLOQUE(x) ^ BLOQUE(y) ^ [ENCIMA(x,y) v UNIDO(x,y)] ^ MOVIDO(y) → MOVIDO(x)] Reglas de Producción if el paciente sufre dolor abdominal, y un murmullo abdominal es percibido por auscultación, y una masa pulsante es palpada en el abdomen then el paciente padece una aneurisma aórtico Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 14 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 15 Conocimiento Procedural Arterias subclase_de: vasos_sanguíneos pared : muscular oxigeno: rica presión_mínima: 90 presión_máxima: 100 presión_media: (presión_mínima + presión_máxima)/2 Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 16 Problemas de la Representación del Conocimiento ¿Existen atributos tan genéricos que aparecen en casi todos los dominios de aplicación? Instancia, es_un ¿Existen relaciones relevantes entre los atributos de los objetos? Inversos Jerarquía es_un Técnicas para el razonamiento sobre los valores Atributos univaluados ¿A qué nivel de detalle se debe representar el conocimiento?. ¿Existe algún conjunto de primitivas que permita descomponer adecuadamente el conocimiento?. ¿Sería útil el uso de tales primitivas?. ¿Cómo se deben representar los conjuntos de objetos? Dada una base de conocimiento extensa, ¿cómo acceder al conocimiento relevante en cada momento? Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 17 El Problema Marco (The Frame Problem) Representación eficiente de las secuencias de estados que se generan en un proceso de búsqueda. El Problema Marco: es el problema de la representación de los hechos que cambian, así como de aquellos que no lo hacen (McCarthy y Hayes, 1969). Representación del estado: Registrar todos los hechos en cada nodo Inconveniente: muchos hechos serian representados muchas veces, y se emplearía mucho tiempo representándolos. debajo (suelo, techo) No modificar el estado inicial y registrar en cada nodo una representación de los cambios Modificar la descripción del estado pero registrar en cada nodo la información necesaria para deshacer la modificación. Axiomas Marco (cálculo del nuevo estado): color (x, y, s1) ^ mueve(x, s1, s2) → color (x, y, s2) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica 2.- Métodos de Representación del Conocimiento Declarativos: Separación entre conocimiento y estructura de control lógica: expresiones declarativas (fbf) sistemas de producción: (bh, rp, ec) prolog Procedurales: Unión entre el conocimiento y la estructura de control. orden dependiente procedimientos y funciones. Estructurales: Estructuración del conocimiento. propiedades inferenciales: herencia, transitividad, asociatividad. redes semánticas, frames. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 18 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 19 Métodos Declarativos vs Procedurales Procedurales (+) mayor capacidad creativa o computacional, menor capacidad expresiva - autómata finito - programa - scripts - redes semánticas - frames - grafos mayor capacidad expresiva, menor capacidad creativa o computacional. Declarativos (+) - especificaciones formales - cálculo de predicados - teoremas y reglas de reescritura - reglas de producción. - lenguaje natural Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 20 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 21 3.- Métodos de Representación Basados en la Lógica Estructuras de representación: Representación de los hechos del mundo real mediante declaraciones escritas como fórmulas bien formadas (fbf), o estructuras sintácticamente correctas del lenguaje. Mecanismos de interpretación: Obtención de nuevo conocimiento a partir del antiguo (reglas que permitan obtener nuevas fbf a partir de las existentes). LÓGICA := SINTAXIS + SEMÁNTICA Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 22 Métodos de Representación Basados en la Lógica - 2 La lógica en sí no es más que sintaxis, semántica y teoría de la demostración. No nos dice en lo más mínimo qué es aquello que deberá expresarse ni tampoco qué vocabulario emplear para ello. Ontología: Definiciones: efiniciones asocian los nombres de las entidades en el universo de discurso con texto legible que describe lo que significan los nombres + Axiomas Formales: ormales restringen la interpretación y el uso de esos términos. Entidades – Conceptos: predicados unarios en la Lógica de Primer Orden. – Relaciones: predicados de aridad mayor en la Lógica de Primer Orden. Ej.: Mundo de Bloques: » Bloque: Bloque( x ) » Suelo: Suelo( x ) » Sobre: Sobre( x, y ) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 23 Métodos de Representación Basados en la Lógica - 3 SINTAXIS: Lenguaje: (reglas de formación de los objetos básicos) Cálculo de proposiciones. Cálculo de predicados. Estructura Deductiva: (reglas para la obtención de nuevos objetos a partir de los existentes) Sistemas Axiomáticos: (teoría de la demostración, deducción natural) Teoría interpretativa o de Modelos SEMÁNTICA (Significado (valor de verdad) de los objetos básicos) • Interpretación • Validez • Propiedades: consistencia, completitud, decidibilidad, corrección. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 24 2.- Lógica Proposicional Lenguaje de representación que nos permite expresar y razonar con sentencias que sor verdaderas o falsas . "La aorta es una arteria grande" "10 mmHg > 90 mmHg" LENGUAJE: Proposiciones Atómicas o ÁTOMOS: representan sentencias del lenguaje. usualmente denotadas por letras mayúsculas (P,Q). unidad mínima del lenguaje con un contenido de información: • Acciones (con sujeto no determinado) LLUEVE, HACE FRÍO, ES INVIERNO • Propiedades (a sujetos determinados) JUAN ES ALTO (SUJETO) (PROPIEDAD) • Relación entre sujetos. JUAN ES HERMANO DE PEDRO VALENCIA ESTA EN EUROPA Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 25 Lógica Proposicional - 2 Conectivas Lógicas: Permite construir nuevas proposiciones (PROPOSICIONES COMPUESTAS) a partir de otras. Solo afectan a las proposiciones inmediatas. negación: ¬ disyunción: v ^ (y) implicación: → (si entonces) (no) conjunción: (o) bi-implicación: ↔ (si y solo si) Ejemplo: G = "La aorta es una arteria grande" D = "La aorta tiene un diámetro de 2.5 cm" G^D "La aorta es una arteria grande y la aorta tiene un diámetro de 2.5 cm" Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 26 Expresividad de la Lógica Proposicional Está lloviendo Luce el sol Hace Viento Llueve y por lo tanto no luce el sol P ^ Q A LA VEZ LLUEVE Y ME MOJO LLUEVE SOLEADO VENTOSO LLUEVE → ¬SOLEADO P -> Q LLUEVE Y ME MOJO LLUEVE, PERO ME MOJO LLUEVE, SIN EMBARGO ME MOJO LLUEVE, NO OBSTANTE ME MOJO ¬P NO P ES FALSO QUE P NO ES CIERTO P PvQ ó P, ó Q, ó AMBAS COSAS A LA VEZ AL MENOS P ó Q SI P ENTONCES Q P SOLO SI Q Q SI P Q NECESARIO PARA P NO P A MENOS QUE Q P <-> Q P NECESARIO Y SUFICIENTE PARA Q P SI Y SOLO SI Q (P -> Q) ^ (Q -> P) denota lo mismo que P <-> Q COMO MÍNIMO P ó Q Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 27 5. - Lógica de Predicados Limitaciones de la lógica proposicional: Juan es alumno JUANALUMNO Alumno (JUAN) Maria es alumna MARIAALUMNO Alumno (MARIA) Todos los hombres son mortales HOMBREMORTAL ∀x: Hombre(x) → Mortal(x) Lenguaje: Símbolos de predicado (P,Q,...), representan una relación en un dominio P(t1, ....., tn) , n ≥ 0 (ti: términos) (Proposiciones atómicas: símbolos de predicado 0-arios.) Variables ( x, y, z ). Símbolos de función (f, g, h ): f(t1, ....., tn) , n∈ (f:Dn → D). Símbolos de función 0-arios =constantes. Conectivas lógicas: ¬ ^ v → ↔ Cuantificador universal ∀, Cuantificador existencial ∃. ∀ x: "para todo x" ∃ x: "existe un x" Un conjunto de símbolos auxiliares: ( { , etc. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 28 Lógica de Predicados - 2 Ejemplo: ∀x: Relación (Padre(x), Madre(x)) Una fórmula atómica, o átomo, es una expresión de la forma P(t1, ... , tn) donde P es un símbolo de predicado n-ario, n ≥ 0, y t1, ... , tn son términos. Sintaxis de la lógica de predicados.Una fbf se define: (1) Un átomo es una fórmula bien formada. (2) Sea F una fórmula bien formada con un conjunto asociado de variables libres. Entonces (F) y F son fórmulas bien formadas. (3) Sean F y G fórmulas bien formadas. Entonces ¬ F, ¬ G, FvG, F^G, F→G y F↔G son fórmulas bien formadas. (4) Si F es una fórmula bien formada y x es una variable de F, entonces (∀x: F) y (∃x: F) son fórmulas bien formadas. (5) Nada más es una fórmula bien formada. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 29 Expresividad de la Lógica de Predicados CADA CIUDAD TIENE UN ALGUACIL QUE HA SIDO MORDIDO POR TODOS LOS PERROS DE LA CIUDAD ∀x: {CIUDAD(x) ^ ∃y: {ALGUACIL(x,y) ^∀:z {[PERRO(z) ^ VIVE-EN(x,z)] → MORDIDO(y,z)}}} PARA CADA CONJUNTO x, HAY UN CONJUNTO y, TAL QUE EL CARDINAL DE y ES MAYOR QUE EL CARDINAL DE x. ∀x: ∃y: ∃ u: ∃ v: CONJUNTO(x) ^ CONJUNTO(y) ^ CARD(x,u) ^ CARD(y,v) ^ MAYOR(u,v) TODOS LOS BLOQUES QUE ESTÁN ENCIMA DE BLOQUES QUE HAN SIDO MOVIDOS O ESTÁN UNIDOS A BLOQUES QUE HAN SIDO MOVIDOS, TAMBIÉN HAN SIDO MOVIDOS. ∀x:∀y: {{BLOQUE(x) ^ BLOQUE(y) ^ [ENCIMA(x,y) v UNIDO(x,y)] ^ MOVIDO(y) → MOVIDO(x)] Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 30 Semántica de la Lógica de Predicados Una fbf, como 'cadena de caracteres', no tiene significado real (semántica). Una estructura establece la 'semántica real' de los elementos de la lógica: - Dominio de aplicación. - Semántica de las constantes, predicados, funciones: - ¿Qué significado tienen?: (Juan es 'ese' individuo) - ¿Qué se cumple en el mundo real? Un conjunto de fbf (sin significado) puede representar la "realidad" mediante una estructura asociada. Para la asignación de un valor de verdad a una fbf, debe 'interpretarse' en una estructura dada, que representa el significado (semántica) de los elementos de la fbf. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 31 Semántica de la Lógica de Predicados - 2 REALIDAD SEMANTICA DOMINIO {f i: Dn → D,n >= 1} {P i:Dm → {T,F},m>=0} Modelo de la Realidad ESTRUCTURA {fbf} Interpretación: Asocia significado a un conjunto de fbf sin significado {A(J, m(M))} es cierta si: • Se establece la interpretación: • A se asocia a "ama" • J se asocia a Juan y M a María • m se asocia a la función unaria "madre de" • En la estructura S: • Dominio: {Juan, María, Ana} • {Madre-de(María) = Ana} • "Juan ama a la madre de María" es verdadera. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 32 Representación de Hechos Simples 1) Marco era un hombre hombre(Marco) 2) Marco era un pompeyano pompeyano(Marco) 3) Todos los pompeyanos eran romanos ∀x: Pompeyano(x) → Romano(x) 4) César fue un gobernante gobernante(César) 5) Todos los romanos o eran leales a César o le odiaban ∀x: romano(x) → leal(x,César) v odia(x,César) ∀x: romano(x) → [(leal(x,César) v odia(x,César)) ^ ¬ (leal(x, César) ^ odia(x, César))] 6) Todo el mundo es leal a alguien ∀x: ∃y: leal(x,y) 7) La gente sólo intenta asesinar a los gobenantes a los que no es leal ∀x: ∀y:persona(x)^gobernante(x)^intentaasesinar(x,y) → ¬ leal(x,y) 8) Marco intento asesinar a César intentaasesinar(Marco, César) ¿Era Marco Leal a César? leal(Marco, César) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 33 Representación de Hechos Simples - 2 ¬ leal(Marco, César) ↓ (7, sustitución) persona(Marco) ^ gobernante(César) ^ intentaasesinar(Marco, César) ↓ (4) persona(marco) ^intentaasesinar(Marco, César) ↓ (8) persona(Marco) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 34 Representación de Hechos Simples 1) Marco era un hombre hombre(Marco) 2) Marco era un pompeyano pompeyano(Marco) 3) Todos los pompeyanos eran romanos ∀x: Pompeyano(x) → Romano(x) 4) César fue un gobernante gobernante(César) 5) Todos los romanos o eran leales a César o le odiaban ∀x: romano(x) → leal(x,César) v odia(x,César) ∀x: romano(x) → [(leal(x,César) v odia(x,César)) ^ ¬ (leal(x, César) ^ odia(x, César))] 6) Todo el mundo es leal a alguien ∀x: ∃y: leal(x,y) 7) La gente sólo intenta asesinar a los gobenantes a los que no es leal ∀x: ∀y:persona(x)^gobernante(x)^intentaasesinar(x,y) → ¬ leal(x,y) 8) Marco intento asesinar a César intentaasesinar(Marco, César) ¿Era Marco Leal a César? leal(Marco, César) 9) ∀x:hombre(x) → persona(x) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 35 Representación de Hechos Simples - 2 ¬ leal(Marco, César) ↓ (7, sustitución) persona(Marco) ^ gobernante(César) ^ intentaasesinar(Marco, César) ↓ (4) persona(marco) ^intentaasesinar(Marco, César) ↓ (8) persona(Marco) ↓ (9) hombre(Marco) ↓ (1) vacío Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Representación de Relaciones Instancia y es_un 1. hombre(Marco) 2. pompeyano(Marco) 3. ∀x: Pompeyano(x) → Romano(x) 4. gobernante(César) 5. ∀x: romano(x) → leal(x,César) v odia(x,César) 1. instancia(Marco, hombre) 2. instancia(Marco, pompeyano) 3. ∀x: instancia(x, pompeyano) → instancia(x, romano) 4. instancia(César, gobernante) 5. ∀x: instancia(x, romano) → leal(x,César) v odia(x,César) 3. es_un(pompeyano, romano) 6. ∀x: ∀y: ∀z: instancia(x, y) ^ es_un(y,z) → instancia(x,z) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 36 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 37 Excepciones Paulus es una excepción a la regla sobre los sentimientos de los romanos a cerca de César. pompeyano(Paulus) ¬ [ leal(Paulus, César) v odia(Paulus, César) ] Existe un problema con 5 ∀x: romano(x) → leal(x,César) v odia(x,César) Hay que cambiar la fbf para que contemple la excepción ∀x: romano(x) ^ ¬ igual(x, Paulus) → leal(x,César) v odia(x,César) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Excepciones - 2 (1) Todas las arterias tienen pared muscular (2) La aorta es una arteria grande (3) Las arterias grandes son arterias (4) La aorta no es una excepción (5) Las arterias que no son excepciones son ricas en oxigeno (6) La arteria pulmonar es una arteria grande (7) La arteria pulmonar no es rica en oxigeno (8) La arteria pulmonar es una excepción Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 38 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 39 ∀x: arteria(x) → pared_muscular(x) arteria_grande(aorta) ∀x:(arteria_grande(x) → arteria(x)) ¬ excepción(aorta) ∀x: arteria(x) ^ ¬ excepción(x) → rica_oxigeno(x) arteria_grande(arteria_pulmonar) ¬ rica_oxigeno(arteria_pulmonar) excepción(arteria_pulmonar) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 40 Funciones Calculables y Predicados Hechos simples que denotan relaciones de orden o igualdad: mayor(1,0) menor(0,1) mayor(2,1) menor(1,2) • • • • sería muy ineficiente representar todos estos hechos Predicados Computables Funciones Computables mayor(2+3,1) 1) evaluar la función. 2) evaluar predicado. 3) concepto de igualdad, permite sustituir un objeto por otro que sea igual a él. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 41 Funciones Calculables y Predicados - 2 1. hombre(Marco) 2. pompeyano(Marco) 3. nace(Marco, 40) 4. ∀x :hombre(x) → mortal(x) 5. ∀x: pompeyano(x) → murió(x,79) 6. erupción(volcán,79) 7. ∀x: ∀t1: ∀t2: mortal(x) ^ nace(x, t1) ^mayor(t2-t1, 150) → muerto(x, t2) 8. ahora = 2001 9. ∀x: ∀t:[vivo(x,t) → ¬ muerto(x,t)] 10. ∀x: ∀t: [¬ muerto(x,t) → vivo(x,t)] 11. ∀x: ∀t1: ∀t2: murió(x, t1 ) ^ mayor(t2 , t1 ) → muerto(x , t2) ¿Está Marco vivo? Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 42 Funciones Calculables y Predicados - 3 ¬ vivo(Marco, ahora) ¬ vivo(Marco, ahora) ↓ (10, sustitución) muerto(Marco, ahora) ↓ (11, sustitución) murió(Marco, t1) ^mayor(ahora, t1) ↓ (5, sustitución) pompeyano(Marco) ^mayor(ahora, 79) ↓ (2) mayor(ahora, 79) ↓ (8, sustitución igualdad) mayor(2001, 79) ↓ (calcular mayor) vacío ↓ (10, sustitución) muerto(Marco, ahora) ↓ (7, sustitución) mortal(Marco) ^nace(Marco, t 1) ^ mayor(ahora - t1, 150) ↓ (4, sustitución) hombre(Marco)^nace(Marco, t 1) ^ mayor(ahora - t1, 150) ↓ (1) nace(Marco, t 1) ^ mayor(ahora - t1, 150) ↓ (3, 8) mayor(2001 - 40, 150) ↓ (calcular resta) mayor(1961, 150) ↓ (calcular mayor) vacío Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 43 6.- RAZONAMIENTO EN LA LÓGICA: SISTEMAS DE DEMOSTRACIÓN. ¿Se sigue lógicamente un teorema G de un conjunto de axiomas F? ? CONJUNTO FBF tablas de verdad FBF operaciones sintácticas (reglas de inferencia) Semántica declarativa: Permite determinar si una fórmula dada es o no una consecuencia lógica de un conjunto de fórmulas aplicando las tablas de verdad. {P, P→R}|=R: SI ∀w / w(P, P→R )=True entonces w(R) = True Semántica procedural: Es posible determinar si una fórmula dada es o no una consecuencia lógica de un conjunto de fórmulas sin examinar los contenidos semánticos de las fórmulas implicadas, aplicando reglas de inferencia. (P, P →R) |- R (se infiere) 'modus-ponens' Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 44 Reglas de Inferencia Son operaciones sintácticas: solo pueden modificar la forma de los elementos de un conjunto dado de fórmulas, añadiendo (reemplazando o eliminando) fórmulas de un conjunto dado. Ejemplo (modus ponens): A, A→B B De {A, A→B} 'se infiere' B: {A, A→B} |— B Aplicaciones repetidas de reglas de inferencia producen una derivación o deducción. Conjunción A,B ó A^B A^B A Modus Tollens (MT) ¬ B, A→B ¬A Cuantificación existencial P(A) ∃ x: P(x) Instanciación universal ∀x: P(x) P(A) Modus Ponens (MP) A, A→ B B Abducción B, A→B A Instanciación existencial ∃ x: P(x) P(A) Resolución A v B, ¬ B A Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 45 Corrección Un conjunto de reglas de inferencia es correcto si y solo si toda fórmula F derivada aplicando estas reglas de inferencia es una consecuencia lógica de S. Si S |— F entonces S |= F "todo lo que se deriva mediante el conjunto de reglas de inferencia es verdadero" Solo aplicando reglas de inferencia correctas es posible asignar un significado al resultado de una derivación. Ejemplo: El modus ponens es una regla de inferencia correcta. {F,F→G} |— G. {F,F→G} |= G. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 46 Completitud Si toda consecuencia lógica F de un conjunto de fórmulas dado puede ser derivada se dice que el conjunto de reglas de inferencia es completo. Si S |=F entonces S |— F "todo lo que es verdadero puede ser derivado mediante el conjunto de reglas de inferencia" Ejemplo: El MP no es completo: Aunque {¬ Q , PvQ} |= P el MP no puede derivar P. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 47 Decidibilidad Un procedimiento de demostración automático, que emplea un conjunto determinado de reglas de inferencia correcto y completo, es decidible si es capaz de determinar (en un número finito de pasos) si una fórmula F dada puede o no ser derivada a partir de un conjunto dado de fórmulas S. CONJUNTO FBF (AXIOMAS) REGLAS DE INFERENCIA PROCEDIMIENTO DEMOSTRACION ? F La lógica proposicional es decidible. La lógica de predicados es semi-decidible: Existen métodos capaces de probar S|—F solo si F es una consecuencia lógica de S (es decir, S|=F). Pero si F no es una consecuencia lógica de S, no se garantiza que el procedimiento de demostración termine (salvo que el dominio sea finito y conocido 'Universo de Horn'). Existe una regla de inferencia (resolución) que es correcta y completa para la forma clausal de la lógica de predicados de primer orden. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 48 7.- Forma Clausal de la Lógica Forma restringida sintácticamente de la lógica de predicados (forma clausal de la lógica.). Igual de expresiva que la lógica de primer orden . Permite métodos demostración de teoremas eficientes. Literal: Un literal es un átomo (literal positivo), o una negación de un átomo (literal negativo). Cláusula: Una cláusula es una fórmula cerrada de la forma ∀x 1: .... ∀xs: (L1 v .....v Lm) donde: • Cada Li, i=1, ..., m, m>=0 es un literal / Li ≠ Lj (i ≠ j) • x1, ...., xs , s >= 0, variables que ocurren en L1 v....v Lm. • Si m=0, cláusula vacía (∅) -insatisfacible-. • Toda var. que aparece está cuantificada universalm. Se pueden obviar los ∀ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 49 Forma Clausal de la Lógica - 2 ∀x1: ... ∀ xs: (A1 v ...v Ak v ¬ B1 v ... v¬ Bn) ≡ ∀ x1: ... ∀ xs: (B1 ^... ^ Bn → A1 v ...v Ak) A1, ....., Ak ← B1, ..... , Bn A1 , ....., Ak denota una disyunción (conclusiones) B1 , ..... , Bn denota una conjunción (condiciones) Cláusulas de Horn: es un tipo de cláusula que tiene una de las formas siguientes: A ← (cláusula unidad ) ← B1 , ....., Bn , n >=1 (cláusula objetivo ) A ← B1 , ....., Bn , n >=1 A = cabeza de la cláusula B1 , ....., Bn = cuerpo. Prolog Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 50 8.- Demostración automática: Resolución De un conjunto de fbf (S), se demuestra, por reducción al absurdo (o por refutación), un teorema F. S CONJUNTO FBF ? si y solo si F CONJUNTO FBF S ∪ {¬F} W es inconsistente a) Siendo S consistente, si S |— F, entonces: ∀I: / I(S) =true → I(F) = true ¬ (∃I: / I(S ∪ ¬ F) = true) es decir, (S ∪ ¬ F) es incompatible (existe una contradicción: cláusula vacía). b) Si (S ∪ ¬ F) es incompatible, entonces S |— F. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 51 Proceso de Demostración por Refutación 1) El conjunto de fbf se convierte en un conjunto de cláusulas S. 2) El teorema F se niega (¬ F) y se transforma en un conjunto de cláusulas. Se añaden a S, obteniendo el conjunto de cláusulas W. 3) Se comprueba si ∅∈W (cláusula-vacia ≡ contradicción). 4) Si ∅ ∉ W, se aplica la resolución sobre un par apropiado de cláusulas de W, produciendo una nueva cláusula que es añadida a W. 5) Se repite el procedimiento hasta que ∅ ∈ W, o hasta que todas las posibles nuevas cláusulas hayan sido derivadas. ¡ El conjunto inicial S debe ser consistente ! Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 52 Ejemplo de demostración por resolución S={¬ PvQ , ¬ Q , P} C1=¬ PvQ , C2=¬ Q , C4 = P • De C1 y C2 se resuelve (deriva) C3=¬ P. {C1,C2} |— C3 • De C3 y C4=P se resuelve (deriva) C5=∅ (S es insatisfacible). {C1,C2, C3,C4} |— C5 Grafo de derivación: ¬P v Q ¬Q P ¬P ∅ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 53 Algoritmo de Refutación basado en Resolución Demostración por refutación aplicando resolución Procedimiento Refutación(S) cláusulas := S mientras ∅ ∉ cláusulas hacer {ci,cj} := SeleccionarPadres(cláusulas); Resolvente := Resolver(ci,cj); cláusulas := cláusulas {resolvente} finmientras FinProcedimiento Algoritmo no determinista. Selección de las cláusulas padre: estrategias de control o estrategias de resolución. eficiencia procedimiento de refutación. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica Estrategias de Resolución Amplitud Entrada lineal Filtrado de antepasados Resolución semántica (J.R. Slagle en 1967) conjunto soporte preferencia de unidades Resolución lineal: Resolución de entrada lineal otros métodos: resolución SLD, (Kowalski) Hiperresolución ( L.A. Robinson en 1965) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV pp. 54 Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 55 Ejemplo (1) CUALQUIERA QUE PUEDA LEER ES LETRADO (∀x: ) [R(x) → L(x)] (2) LOS DELFINES NO SON LETRADOS (∀x: ) [D(x) → ¬ L(x)] (3) ALGÚN DELFIN ES INTELIGENTE (∃ x: ) [D(x) ^ I(x)] (4) ¿ALGUIEN QUE ES INTELIGENTE NO PUEDE LEER? (∃x: ) [I(x) ^ ¬ R(x)] (OBJETIVO) CONVERSIÓN A CLÁUSULAS: (1) ¬ R(x) v L(x) (2) ¬ D(y) v ¬ L(y) (3a) D(A) (3b) I(A) (4') TEOREMA NEGADO: ¬ I(z) v R(z) DEMOSTRACIÓN: (5) R(A) por resolución (3b) y (4') (6) L(A) " (5) y (1) (7) ¬ D(A) " (6) y (2) (8) nil " (7) (3a) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 56 Estrategias de Resolución (1) ¬ P (2) P v ¬ Q (3) P v Q v ¬ R (4)R Si aplicamos el principio de resolución generando sistemáticamente todas las resolventes tendremos: (5) ¬ Q (de 1 y 2) (13) P v ¬ R (de 3 y 5) (6) Q v ¬ R (de 1 y 3) (14) Q (de 4 y 6) (7) P v ¬ R (de 2 y 3) (15) P (de 4 y 7) (8) P v Q (de 3 y 4) (16) ¬ R (de 5 y 6) (9) ¬ R (de 1 y 7) (17) P (de 5 y 8) (10) Q (de 1 y 8) (18) ¬ R (de 1 y 11) (11) P v ¬ R (de 2 y 6) (19) ∅ (de 1 y 12) (12) P (de 2 y 8) mientras que si seleccionamos como pasos de resolución: (5') P v ¬ R (de 2 y 3) (6') ¬ R (de 1 y 5') obtendríamos directamente la derivación de la cláusula vacía: (7') ∅ (de 4 y 6') Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 57 Estrategias de Resolución - 2 Objetivo de la estrategia de resolución: disminuir el número de resolventes. mayor eficiencia en el proceso de demostración Completitud: Una estrategia de resolución es completa si encuentra siempre una contradicción, siempre que ésta exista. Distinta a la completitud de un sistema inferencial. En IA usualmente interesa más la eficiencia que la completitud. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 58 Estrategia en Amplitud Obtener todas las resolventes de primer nivel (cláusulas padre están en el conjunto origen) Después las de segundo, y así sucesivamente (resolvente de nivel i-ésimo es una cuyo padre de nivel más profundo es de nivel (i-1)). Es completa Muy ineficiente. I(a) ¬R(x) v L(x) ¬I(z) v R(z) D(a) ¬D(y) v ¬L(y) Cláusulas origen R(a) ¬I(z) v L(z) ¬R(y) v ¬D(y) ¬L(a) Resolventes de primer nivel L(a) ¬D(a) L(a) ¬I(z) v ¬D(z) ¬I(z) v ¬D(z) ¬R(a) Resolventes de segundo nivel Resolventes de tercer nivel ∅ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV ¬I(a) Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 59 Estrategia de Entrada Lineal Cada resolvente tiene al menos uno de sus padres en el conjunto original. No es completa, hay casos en que existe una refutación pero no puede ser obtenida con esta estrategia. A pesar de no ser completa, la estrategia de entrada lineal se utiliza con frecuencia debido a su simplicidad y eficacia. D(a) ¬D(y) v ¬L(y) ¬R(x) v L(x) ¬I(z) v R(z) I(a) Cláusulas origen R(a) ¬I(z) v L(z) ¬R(y) v ¬D(y) ¬L(a) Resolventes de primer nivel L(a) ¬I(z) v ¬D(z) L(a) ¬I(y) v ¬D(y) ¬R(a) Resolventes de segundo nivel Resolventes de tercer nivel ¬I(a) ∅ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 60 Estrategia de Entrada Lineal - 2 Ejemplo de no completitud: Q(y) v ¬P(y) ¬Q(x) v ¬P(x) ¬P(x) ¬Q(w) v P(w) ¬Q(w) Q(u) v P(a) P(a) ∅ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 61 Estrategia de Filtrado de Antepasados Cada resolvente obtenida tiene un padre que pertenece al conjunto origen o es un antepasado del otro padre. Si se garantiza que se obtienen todas las resolventes que cumplen estas condiciones, la estrategia es completa. Q(y) v ¬P(y) ¬Q(x) v ¬P(x) ¬P(x) ¬Q(w) v P(w) ¬Q(w) Q(u) v P(a) P(a) ∅ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 62 Resolución Semántica Estrategias controladas por las semánticas declarativas de las cláusulas que deben ser procesadas Teniendo un conjunto de cláusulas S1 que son ciertas, y un conjunto de cláusulas S2 que son falsas, solo se puede encontrar una contradicción resolviendo entre cláusulas: una de S1 y otra de S2. Para encontrar la contradicción, no hace falta utilizar resolventes obtenidos solo a partir de S1 o de S2. S1 (ciertas) S2 (falsas) NIL Si un conjunto clausal inicial S1 es consistente, y al añadir una nueva cláusula (¬T) se vuelve inconsistente, entonces, la contradicción se obtendrá resolviendo entre dos conjuntos: Resolviendo solo entre cláusulas de S1, no se obtendrá la contradicción. Para obtener la contradicción se deberá resolver con (¬T) o sus sucesores (conjunto S2). Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 63 Proceso General de Resolución Semántica Dividir el conjunto de cláusulas, W, en dos conjuntos distintos (para una interpretación específica I): S1 ⊂ W: Cláusulas falsas en la interpretación I, S2 ⊂ W: Cláusulas verdaderas en la interpretación I. Estrategia de control: se elige un cláusula padre de S1 y la otra de S2. La resolvente resultante es añadida a S1 o S2, dependiendo de la interpretación I. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 64 Estrategia de Conjunto Soporte El conjunto clausal inicial (S) es consistente: Conjunto S1 Conjunto soporte (S2): Teorema negado Cláusulas que tengan un padre en el conjunto S2 Es completa, si se garantiza que se intenta resolver cada elemento del conjunto soporte con cada elemento del conjunto inicial. Ejemplo: S= {P, ¬ P v Q, ¬ P v ¬ Q v R} T= R Resulta: W= {P,¬ P v Q, ¬ P v ¬ Q v R, ¬ R} S1={P, ¬ P v Q, ¬ P v ¬ Q v R} S2: {¬ R} Cláusulas iniciales (W): (1) P (2) ¬ P v¬ Q v R (3) ¬ P v Q (4) ¬ R Proceso de resolución: (5) ¬ P v ¬ Q (de 2 y 4) (al conjunto S2) (6) ¬ Q (de 1 y 5) (al conjunto S2) (7) ¬ P de 3 y 5) (al conjunto S2) (8) ∅ (de 1 y 7) (al conjunto S2) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 65 Ejemplo Estrategia de Conjunto Soporte ¬D(y) v ¬L(y) ¬R(x) v L(x) I(a) ¬I(z) v R(z) D(a) Cláusulas origen R(a) ¬I(z) v L(z) Resolventes de primer nivel ¬I(y) v D(y) L(a) L(a) Resolventes de segundo nivel Resolventes de tercer nivel ¬I(a) ¬D(a) ¬D(a) ¬D(a) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 66 Estrategia de Preferencia de Unidades Similar a la estrategia de conjunto soporte, pero en vez de completar cada nivel en amplitud, se intenta seleccionar una cláusula con un único literal (llamada unidad) como padre de la resolución: La contradicción aparecerá cuando se resuelvan dos cláusulas con un único literal Dirige la exploración hacía la obtención de la cláusula vacía, y normalmente aumenta la eficiencia. ¬I(z) v R(z) I(a) Completa. ¬R(x) v L(x) R(a) ¬D(y) v ¬L(y) L(a) D(a) ¬D(a) ∅ Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 67 Combinación de Estrategias Conjunto soporte con entrada lineal: 1º padre: Teorema negado o sus descendientes 2º padre: Cláusulas del conjunto inicial Conjunto soporte con filtrado de antepasados: 1º padre: Teorema negado o sus descendientes 2º padre: Cláusulas del conjunto inicial o predecesoras del otro padre. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 68 Simplificación de Cláusulas A mayor simplificación del conjunto de cláusulas inicial, menor crecimiento del conjunto de cláusulas generadas Eliminación de tautologías: (P(x) v B(y) v ¬ B(y)) ≡ (P(x) v True) puede ser eliminada Subsunción: Si una cláusula es subsumida por otra, puede ser eliminada. Si un literal de una cláusula es unificable con otro literal del la misma uno de ellos debe ser eliminado para la completitud de la resolución. Una cláusula {Li} subsume a otra {Mi} si existe una sustitución s, tal que [{Li}]s⊂{Mi}. {Mi} puede ser eliminada. P(x) subsume a P(y) v Q(z) P(x) subsume a P(A) P(x) subsume a P(A) v Q(z) Una estrategia ineficiente 'retrasa' pero 'no impide' encontrar la solución: Problemas Ignorables Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 69 Obtención de Respuestas Las demostraciones que hemos visto hasta ahora nos permiten responder a preguntas como: murió (Marco, 79) Pero, ¿cómo contestar a preguntas tales cómo:? ¿cuando murió Marco? ∃t: murió(Marco,t) tendremos que demostrar que ¬ ∃t: murió(Marco,t) produce una contradicción, pero no basta con demostrar que se produce una contradicción, sino que tendremos que determinar para que valor/valores de ‘t’ se produce la contradicción. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 70 Obtención de Respuestas - 2 ¬ pompeyano(x) v murió(x,79) ¬ murió(Marco, t) {79/t, Marco/x} pompeyano(Marco) ¬ pompeyano(Marco) Ø Se demuestra el teorema, luego se puede responder afirmativamente a la pregunta. La respuesta instanciada, ¿cuando murió Marco?, la obtendremos realizando la composición de sustituciones de la cadena de unificaciones que nos lleva a la cláusula de partida (al normalizar variables la composición siempre será consistente). murió(Marco, 79) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 71 Obtención de Respuestas - 3 Una forma más sencilla de obtener la respuesta instanciada, sin necesidad de a posteriori realizar la composición de sustituciones, es añadir al objetivo negado el objetivo sin negar. Entonces añadimos una tautologia, y cuando encontremos la contradicción nos quedará la cláusula Ø v objetivo(instanciado) ≡ objetivo(instanciado) ¬ pompeyano(x) v murió(x,79) ¬ murió(Marco, t) v murió(Marco, t) {79/t, Marco/x} pompeyano(Marco) ¬ pompeyano(Marco) v murió(Marco, 79) murió(Marco, 79) Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV Tema 2 (I): Representación del Conocimiento. Representación Basada en la Lógica pp. 72 9.- La Lógica como Formalismo de Representación del Conocimiento Sintaxis y semántica claras. La lógica ofrece un punto de partida para estudiar los fundamentos de la representación y manipulación del conocimiento. Dificultad de expresar conocimiento de dominios con fórmulas lógicas. La lógica estándar, no es adecuada para representar todos los tipos de conocimiento: Conocimiento temporal Creencias Estrategias de razonamiento (meta-razonamiento) Información incompleta o con incertidumbre Casos excepcionales de reglas generales. Lógicas no estándar (órdenes mayores, modales) para expresar tales conceptos formalmente, aunque con mayor dificultad en los procesos de demostración. Inteligencia Artificial /Departamento de Sistemas Informáticos y Computación/Facultad de Informática/ UPV