Download IA - Tema 4B - Sistemas Expertos v1.1
Document related concepts
Transcript
Datos de la Asignatura Temarío 2º Cuatrimestre Sistemas basados en el conocimiento (Cap. 8-12) Inteligencia Artificial e Ingenieria del Conocimiento – Mediante lógica de predicados. – Mediante Sistemas de producción. Tratamiento de la incertidumbre (Cap. 13-15) – Redes Bayesianas. – Razonamiento aproximado (lógica difusa). Septiembre de 2007 1 de 110 Universidad de Castilla-La Mancha Inteligencia Artificial e Ingeniería del Conocimiento Tema4: Sistemas basados en el conocimiento (Agentes Lógicos) Profesores: Luis Jiménez Linares. Luis Enrique Sánchez Crespo. Inteligencia Artificial e Ingenieria del Conocimiento Índice 6.1 Un agente conocimiento-intensivo. 6.2 El ambiente del mundo de wumpus 6.3 Representación, Razonamiento y Lógica 6.4 Lógica propositiva 6.5 Un agente para el mundo de wumpus 6.6 Resumen Septiembre de 2007 3 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Búsqueda informada Agente conocimiento-intensivo Septiembre de 2007 4 de 110 Agentes basados en conocimiento Inteligencia Artificial e Ingenieria del Conocimiento Introducción Se introduce el diseño de un agente basado en el conocimiento Se presenta un lenguaje lógico sencillo pero insuficiente, el de la lógica propositiva, Se ejemplifica con un agente capaz de desempeñarse bien en el mundo de Wumpus, siendo Wumpus un juego que provoca adicción. En este capítulo se aprende a diseñar agentes que – construyen representaciones del mundo, – derivan nuevas representaciones del mundo por inferencia y – usan esas nuevas representaciones para saber qué hacer Septiembre de 2007 5 de 110 Agentes basados en conocimiento Representación del conocimiento Inteligencia Artificial e Ingenieria del Conocimiento El papel pretendido de la representación del conocimiento en IA es reducir problemas de acción inteligente en meros problemas de BÚSQUEDA Grinsberg Analogía entre Programación y Problemas de IA Programación 11.Crear .Crearun unalgoritmo algoritmopara pararesolver resolver elel problema problema 2.2.Seleccionar Seleccionarun unlenguaje lenguajede de programación para codificar programación para codificarlalatarea tarea 3.3.Capturar Capturarelelalgoritmo algoritmocomo como programa programa 4.4.Ejecutar Ejecutarelelprograma programa Inteligencia Artificial 1.1.Identificar Identificarelelconocimiento conocimientonecesario necesariopara para resolver el problema resolver el problema 2.2.Seleccionar Seleccionarelellenguaje lenguajecon conelelcual cualdicho dicho conocimiento pueda ser representado conocimiento pueda ser representado 3.3.Escribir Escribirelelconocimiento conocimientodentro dentrode deese ese lenguaje lenguaje 4.4.Usar Usarlas lasconsecuencias consecuenciasdel delconocimiento conocimiento para resolver el problema para resolver el problema La BÚSQUEDA aparece en el punto 4 Foundations of Artificial Intelligence Septiembre de 2007 20 6 de 110 Agentes basados en conocimiento La meta consiste en que … – el conocimiento aparezca explícitamente en una base – se logren conclusiones del conocimiento declarado en la base Inteligencia Artificial e Ingenieria del Conocimiento Para ello es indispensable la LÓGICA – Una dada lógica es una notación ( o un lenguaje) matemático para gestionar el conocimiento – La principal alternativa que hay para la lógica es el lenguaje natural (español, inglés,...). – Tanto en el lenguaje natural como en la lógica la unidad es la oración ( “sentence”) – Sintaxis y Semántica – Inferencia Lógica – Lógica sana y completa Septiembre de 2007 7 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Agentes basados en conocimiento Septiembre de 2007 8 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes basados en conocimiento Función [Fig 6.1] a aclarar en temas siguientes base de conocimiento – declarada (dicha) – aprendida - motor de inferencias Septiembre de 2007 9 de 110 Agentes basados en conocimiento Inteligencia Artificial e Ingenieria del Conocimiento Función – Un agente conocimiento-intensivo tiene como componente seminal una base de conocimientos. – Una base de conocimientos es un conjunto de representaciones de hechos del mundo. – Cada una de esas representaciones se llama una “oración”. – Las oraciones se expresan en un lenguaje representacional del conocimiento. Septiembre de 2007 10 de 110 Agentes basados en conocimiento El agente opera como sigue (TELL and ASK) 1. Le dice a la base su PERCEPCIÓN – (añade oraciones a la base) Inteligencia Artificial e Ingenieria del Conocimiento 2. Le pregunta a la base qué ACCIÓN encarar – (contesta preguntas de la base) – (mientras, opera un MOTOR DE INFERENCIAS) 3. Ejecuta la ACCIÓN Septiembre de 2007 11 de 110 Agentes basados en conocimiento Arquitectura de dos agentes Inteligencia Artificial e Ingenieria del Conocimiento las dos primeras menciones se refieren a un agente reflejo simple y las otras dos a un agente conocimiento-intensivo . ESTE ESTEAGENTE AGENTEsigue siguelala pista pistadel delestado estadodel del mundo mundoexterno externo mediante mediantesu sufunción función “actualizar”.(Update) “actualizar”.(Update) loop loopforever forever Input Inputpercepts percepts KB KB tell(KB, tell(KB,make-sentence(percept)) make-sentence(percept)) action ask(KB, action ask(KB,action-query) action-query) Output Outputaction action KB KB tell(KB, tell(KB,make-sentence(action)) make-sentence(action)) end end Foundations of Artificial Intelligence Septiembre de 2007 loop loopforever forever Input Inputpercepts percepts state state Update-State(state, Update-State(state,percept) percept) rule Rule-Match(state, rule Rule-Match(state,rules) rules) action action Rule-Action[rule] Rule-Action[rule] Output action Output action state state Update-State(state, Update-State(state,action) action) end end ESTE ESTEOTRO OTROAGENTE, AGENTE,aa cada cadainstante, instante, cualesquiera cualesquierasean seansus sus percepciones, percepciones,lolohace haceen en forma formade deoración. oración.P.ej. P.ej. “estoy “estoyhambriento” hambriento” 22 12 de 110 Agentes basados en conocimiento Inteligencia Artificial e Ingenieria del Conocimiento Arq. de un agente con base de conocimiento Septiembre de 2007 Nivel de conocimiento – es el nivel más abstracto - describimos al agente indicando qué conoce – ejemplo - un taximetrero automático podría saber que desde la playa Bristol a la playa La Perla hay una ruta costanera rápida Nivel lógico – es el nivel en el cual el conocimiento queda codificado en oraciones – p.ej.: enlaces (Bristol, La Perla, ruta costanera rápida) Nivel de implementación – es el nivel en el cual hay una representación física de las oraciones en el nivel lógico – p.ej.:”enlaces (Bristol, La Perla, ruta costanera rápida)” – conexión{B,P,rcr} = 1 – (un 1 en una tabla tridimensional) 13 de 110 – (un conjunto de apuntadores dirigidos a los símbolos) Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos El mundo de Wumpus Septiembre de 2007 14 de 110 El mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento El ambiente del mundo de Wumpus Percepción = [Hedor, Brisa, Resplandor, Golpe, Grito] El agente no puede percibir su propia ubicación Acciones = [avanzar, girarizquierda, girarderecha, capturar, dispararflecha, trepar] Agente muere al entrar a un habitáculo con pozo o con wumpus vivo. Meta del agente es encontrar oro, volver al habitáculo [1,1] y trepar muro. Razonamiento – ejemplos de inferencias: ubicación de • • • • Septiembre de 2007 pozos, wumpus habitáculos sin riesgo habitáculo 1-1 al volver 15 de 110 El mundo de Wumpus El ambiente del mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento Detalles del ambiente – – – – mundos de wumpus elegidos al azar agentes múltiples, en comunicación wumpi móviles múltiples piezas de oro Detalles de disponibilidades – – – – Septiembre de 2007 lenguaje natural aprendizaje visión habla 16 de 110 El mundo de Wumpus Ayudas en el mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento [Hedor, Brisa, Resplandor, Golpe, Grito] [Hedor, Brisa, Resplandor, Golpe, Grito] [Hedor, Brisa, Resplandor, Golpe, Grito] Septiembre de 2007 17 de 110 El mundo de Wumpus El mundo de Wumpus El agente arranca de (1,1) Inteligencia Artificial e Ingenieria del Conocimiento La meta es encontrar oro, volver a (1,1) y trepar la pared No viene mal matar al wumpus con la única flecha, son más bonificaciones y hay un nuevo camino por transitar Septiembre de 2007 18 de 110 El mundo de Wumpus Percepciones Las percepciones forman una vector fila de 1x5 del tipo Inteligencia Artificial e Ingenieria del Conocimiento (Hedor,Brisa,Nada,Nada,Nada) El primer Nada es resplandor El segundo es Golpe (contra la pared) El tercero es Grito Septiembre de 2007 19 de 110 El mundo de Wumpus PaMA Percepciones Inteligencia Artificial e Ingenieria del Conocimiento acciones ..avanzar,girarizq, etc. Meta - Capturar el oro y volver Ambiente – mundo de wumpus Septiembre de 2007 20 de 110 El mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento Primer Paso Septiembre de 2007 21 de 110 El mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento Segundo Paso Septiembre de 2007 22 de 110 El mundo de Wumpus ¿Por qué (x,y) está bien? Inteligencia Artificial e Ingenieria del Conocimiento (1,1)` Porque el agente está vivo (1,2) `”No hedor en (1,1)” + “No brisa en (1,1)” + “(1,1) y (1,2) son vecinos”” (2,1) `”no hedor en (1,1)”, + “no brisa en (1,1)” + “(1,1) y (2,1) son vecinos” Septiembre de 2007 23 de 110 El mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento Tercer Paso Septiembre de 2007 24 de 110 El mundo de Wumpus Inteligencia Artificial e Ingenieria del Conocimiento Cuarto Paso Septiembre de 2007 25 de 110 El mundo de Wumpus ¿Por qué (1,3) = wumpus? Inteligencia Artificial e Ingenieria del Conocimiento Hedor en (1,2) implica que el wumpus está ya sea en (1,1), ya sea en (2,2), ya sea en (1,3) (1,1) fue visitado, lo visitado está bien el wumpus no está en (1,1) (2,1) sin hedor fue visitado el wumpus no está en (2,1) El wumpus está en (1,3) Septiembre de 2007 26 de 110 El mundo de Wumpus ¿Por qué (3,1) = pozo? Inteligencia Artificial e Ingenieria del Conocimiento Brisa en (2,1) implica que hay un pozo ya sea en (1,1), ya sea en (2,2), o ya sea en (3,1) (1,1) fue visitado, el agente está vivo el pozo no está en (1,1) (2,1) sin brisa al ser visitado el pozo no está en (2,2) El pozo está en (3,1) Septiembre de 2007 27 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Representación, razonamiento y lógica Septiembre de 2007 28 de 110 Representación, razonamiento y Lógica Inteligencia Artificial e Ingenieria del Conocimiento Representar: lograr que lo representado sea entendible para una computadora; y que así el agente pueda operar y merecer el nombre de agente – Sintaxis, forma usada para representar oraciones- cómo están representadas las oraciones – Semántica, mapeo desde oraciones hacia hechos del mundo, determina los hechos del mundo a los que hacen alusión las oraciones. – Razonamiento: Simulador del mundo de wumpus • Hechos ”son consecuencia" de hechos • Oraciones ”son consecuencia” de oraciones • Conjuntos de oraciones “son consecuencia” de conjuntos de oraciones. Septiembre de 2007 29 de 110 Representación, razonamiento y Lógica Inteligencia Artificial e Ingenieria del Conocimiento Razonamiento, – Es el proceso de construir nuevas representaciones, bajo la forma de oraciones, a partir de representaciones anteriores. – La existencia de una base de conocimientos - seminal para el agente - le permite la creación de razonamientos, con la ayuda del motor de inferencia. Requisitos de la Lógica: opera bien si la sintaxis y la semántica están definidas de manera precisa (sin ambigüedades). – Aquí una lógica es una buena notación o un lenguaje matemático útil para el logro de demostraciones acomodadas a las posibilidades de la computadora. Septiembre de 2007 30 de 110 Representación Inteligencia Artificial e Ingenieria del Conocimiento Los lenguajes de programación como el C o el Pascal son idóneos para representar algoritmos y estructuras de datos concretas. Los lenguajes de programación están diseñados para describir cabalmente el estado de la computadora y de cómo cambia ésta conforme al programa que se está ejecutando. Sin embargo, sería deseable poder contar con otro lenguaje para representar el conocimiento que sirva para el caso cuando no se cuenta con información completa: cuando no hay total certeza de cómo son las cosas, y lo único que se sabe son algunas posibilidades de cómo son. Un lenguaje que no satisface lo anterior tiene el defecto de no ser suficientemente expresivo. Septiembre de 2007 El objetivo de un lenguaje para la representación del conocimiento es el de expresar los conocimientos en una base manejable por el agente, permitiéndole a éste un buen desempeño, p.ej. en el mundo de wumpus. El lenguaje representando conocimiento interno de un agente es distinto del lenguaje externo empleado para comunicarse con otros agentes (JiVE, etc.). En el ej. se usa sólo interno. 31 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Representación Los lenguajes naturales como el inglés o el español indudablemente son expresivos. Sin embargo, han experimentado una evolución que tiende más a satisfacer las necesidades de la comunicación que las de la representación. En un buen lenguaje para representar el conocimiento se combinan las ventajas de los lenguajes naturales y las de los lenguajes formales. Entonces, tratemos de combinar las ventajas de los lenguajes naturales y las de los lenguajes formales: » a) lo suficientemente expresivo como para representar el conocimiento aún cuando no se cuenta con información completa y no hay total certeza de cómo son las cosas. » b) lo suficientemente conciso como para evitar ambigüedades, siendo independiente del contexto para su interpretación. » c) apto para un procedimiento de inferencia con el cual obtener nuevas representaciones a partir de las existentes en la base. Septiembre de 2007 32 de 110 Representación Cualquier lenguaje representacional del conocimiento tiene: Inteligencia Artificial e Ingenieria del Conocimiento – Su sintaxis - define todas las posibles configuraciones (secuencias) de símbolos que constituyen oraciones del lenguaje. • Ejemplos: – oraciones del texto – bits de la memoria de la computadora – Su semántica - determina los hechos del mundo a los cuales se están refieiendo las oraciones. Cada oración argumenta algo del mundo. • Un agente CREE en las oraciones referidas al mundo. Septiembre de 2007 33 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Semántica - Lenguajes composicionales Se llama lenguaje composicional a aquél en que el significado de una oración es la suma de los significados de cada parte. Casi todos los lenguajes tienen una relación sistemática entre las oraciones y los hechos. Ejemplo de la matemática: – a^2 + b^2 – Su significado es la suma del significado de a^2 más la de b^2 Septiembre de 2007 34 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Inferencia RAZONAMIENTO e INFERENCIA: Son los nombres del proceso por el cual se obtienen conclusiones. INFERENCIA LÓGICA y DEDUCCIÓN: Son los nombres de todo razonamiento o inferencia válidos y confiables. Implantan las relaciones de implicación que existe entre oraciones. – Inferencia: • Verificar la validez de oraciones que se toman como verdaderas pese a desconocerse su real interpretación. – Verdad : • Depende del estado del mundo y de la interpretación. – Validez : • Una oración es válida si es verdadera independientemente del mundo o de la interpretación. Septiembre de 2007 35 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Razonamiento Consecuencias o implicaciones generan nuevas oraciones a partir de otras previas, todas fidedignas. Teoría de la demostración - conjunto de reglas para deducir las implicaciones de un conjunto de oraciones - dentro de un lenguaje - ella estudia los pasos confiables de un razonamiento – motor de inferencia Semántica - en lógica el SIGNIFICADO de una oración es aquello que ella afirma del mundo. Restringe a que el mundo sea de la forma expresada y no de otra forma alternativa. Para poder entender lo que SIGNIFICA una oración, quien la compuso debería proporcionar su respectiva INTERPRETACIÓN. Ninguna oración tiene significado por sí misma ni es autoevidente. Hay inferencias inválidas – ¿Caso de “Hay una brisa en (3,2) o no hay una brisa en (3,2)”? – ¿Caso de A = A? Hay inferencias insatisfactibles si no existe un mundo donde puedan suceder. – ¿Caso de “hay varios wumpi”? – ¿Caso de “hay un wumpus en (1,1)”? – ¿Caso de “hay un wumpus en (1,1) y no hay un wumpus en (1,1)”? Septiembre de 2007 36 de 110 Lógica Compromiso ontológico Inteligencia Artificial e Ingenieria del Conocimiento • para el agente, qué existe en el mundo – en el caso de la lógica propositiva, para el agente existen hechos que serán verdaderos o falsos. Compromiso epistemológico • para el agente, cuál es la actitud con respecto a los hechos – en el caso de la lógica propositiva, el agente cree que una oración es verdadera o falsa, o no ha llegado a conclusión alguna Septiembre de 2007 37 de 110 Tipos de lógicas y sus preocupaciones Lenguaje Ontología (lo que existe) Epistemología (qué cree de los hechos) Inteligencia Artificial e Ingenieria del Conocimiento ----------------------------------------------------------------------------------Lógica Propositiva hechos Lógica de primer hechos, objetos, enlaces orden Lógica temporal verdadero/falso/no sabe verdadero/falso/no sabe hechos, objetos, enlaces, tiempos verdadero/falso/no sabe Teoría de la probabilidad hechos Lógica difusa Septiembre de 2007 grado de certidumbre grado de verdad grado de certidumbre 38 de 110 Lógica La meta del agente racional consiste en que: Inteligencia Artificial e Ingenieria del Conocimiento – – – – El conocimiento aparezca explícitamente Se logren conclusiones del conocimiento incorporado Para ello es indispensable la LÓGICA Una dada lógica es una notación matemática (un lenguaje matemático) para declarar el conocimiento – La principal alternativa que hay para la lógica es el lenguaje natural (español, inglés,...). – Tanto en el lenguaje natural como en la lógica la principal unidad es la oración • Sintaxis y Semántica • Inferencia Lógica • Lógica sana y completa Septiembre de 2007 39 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Lógica propositiva Septiembre de 2007 40 de 110 Lógica proposita Lógicas y símbolos Inteligencia Artificial e Ingenieria del Conocimiento Breve detalle de lógica propositiva Conceptos asociados Profundización en la Lógica Propositiva Septiembre de 2007 41 de 110 Lógica proposita Inteligencia Artificial e Ingenieria del Conocimiento Proposición es una afirmación que puede ser verdadera o falsa Conceptos relacionados – Oración atómica – Literal – Oración molecular Una proposición es verdadera – si está de acuerdo con los hechos del mundo real – si está de acuerdo con otro mundo supuesto con algún motivo, siendo falsa en el otro caso Septiembre de 2007 42 de 110 Lógica y símbolos LPC =LCP Lógica basada en el cálculo propositivo LI Þ Lógica de primer orden Inteligencia Artificial e Ingenieria del Conocimiento – con dos signos adicionales = cuantificadores LI I ÞLógica de segundo orden LIPML Þ Lógica propositiva modal – con dos signos más Lógica temporal o lógica tiempo lineal temporal – con cuatro signos más Septiembre de 2007 43 de 110 Breve concepto de Lógica prepositiva El ALFABETO consiste de Inteligencia Artificial e Ingenieria del Conocimiento – VARIABLES PROPOSITIVAS P, Q – CONECTIVOS FUNCIONALES GRAMÁTICA -sin cuantificadores - con oraciones atómicas y moleculares SEMANTICA basada en tablas de verdad exhaustivas TEORIA DE LA DEMOSTRACIÓN con modus ponens y otras reglas familiares Septiembre de 2007 44 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Sintaxis en lógica propositiva Septiembre de 2007 La sintaxis de la lógica propositiva es sencilla. Los símbolos utilizados en la lógica propositiva son las constantes lógicas Verdadero y Falso, símbolos de proposiciones tales como P y Q, los conectivos lógicos /\, \/, , => y ¬ y paréntesis ( ). Todas las oraciones se forman combinando los signos anteriores mediante las siguientes reglas: Las constantes lógicas Verdadero y Falso constituyen oraciones en sí mismas. Un símbolo propositivo tal como P y Q es una oración en sí mismo. Encerrar entre paréntesis una oración produce también una oración, por ejemplo (P /\ Q). Una oración molecular se forma combinando oraciones más sencillas o atómicas con uno de los cinco conectores lógicos antes mencionados. 45 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Gramática BNF Septiembre de 2007 46 de 110 Ejemplos de oraciones moleculares P (Q R) Inteligencia Artificial e Ingenieria del Conocimiento P (Q Q) (R P) ( P Q) (Q P) ( P Q) ( P Q) Septiembre de 2007 47 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Sintaxis y semántica: Oraciones atómicas Las oraciones atómicas afirman hechos. Una oración atómica está formada por un símbolo de predicado seguido de una lista entre paréntesis de términos. Ejemplo: Hermano(Ricardo,Juan) Afirma que para alguna interpretación Ricardo Corazón de León es hermano del Rey Juan. Es válido que una oración atómica tenga términos complejos como argumentos: Casado(PadreDe(Ricardo), MadreDe(Juan)) Afirma que el padre de Ricardo Corazón de León está casado con la madre del Rey Juan (dentro de una adecuada interpretación). Una oración atómica es verdad si la relación expresada por el símbolo de predicado Casado es verdad para los objetos anotados en los argumentos. La verdad de una oración atómica depende tanto del MUNDO como de la INTERPRETACIÓN. Septiembre de 2007 48 de 110 Oraciones Oración Atómica - Es una proposición – sin cuantificadores • • – universal---para todo, existencial--existe ni conectivos booleanos • • \/ unión o suma de dos conjuntos /\ intersección o parte común de dos conjuntos Inteligencia Artificial e Ingenieria del Conocimiento Una Literal: – – Es una oración atómica P o su negación ¬P Oración Molecular - representada por símbolos propositivos (e.g., P, Q, R, S, etc.) – – constantes lógicas: Verdadero,Falso Conectivos , , , , • Se usan mucho – Mediante los conectores lógicos se pueden construir oraciones más complicadas. Ejemplos: – – – – Septiembre de 2007 , , Hermano(Ricardo,Juan) /\ Hermano(Juan,Ricardo) Mayor(Juan,30) \/ Menor(Juan, 30) Mayor(Juan,30) Þ ¬Menor(Juan, 30) ¬Hermano(Robin, Juan) 49 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Modelo Disponemos de una oración bajo una cierta interpretación. Entonces cualquier mundo desde esa misma interpretación, será un modelo para dicha oración. Modelos: mundos en los cuales una oración dada es verdad – En lógica propositiva es un renglón en la tabla de verdad Septiembre de 2007 50 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Modelos analizados con un diagrama de Venn EJEMPLO: P Septiembre de 2007 Q PQ (todo excepto ) 51 de 110 Definición semántica Inteligencia Artificial e Ingenieria del Conocimiento Sean F y G dos fórmulas propositivas y sea M una interpretación cualquiera. – F G será verdad en M si tanto F como G son verdaderas en M – F G será verdad en M si por lo menos uno de F o G es verdad en M F será verdad en M si tanto F como G son falsos en M. – F G será verdad en M si ya sea F es falso en M o G es verdad en M – F G será verdad en M si ambos, F y G, son verdad en M o ambos, F y G son falsos en M Septiembre de 2007 52 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Verdad Depende del estado del mundo y de la interpretación de quien construyó las oraciones Una oración es válida independientemente del mundo o de la semántica Una oración es insatisfactible si el mundo nunca es igual a lo que ella describe Septiembre de 2007 53 de 110 Lógica Propositiva: Semántica Inteligencia Artificial e Ingenieria del Conocimiento En lógica propositiva, la semántica de los conectivos se especifica mediante tablas de verdad: P Q P P Q P Q F F T T F T F T T T F F F F F T F T T T P Q P Q T T F T T F F T Las tablas de verdad también se pueden usar para determinar la validez de las oraciones: Septiembre de 2007 P Q F F T T F T F T P P Q P Q (P Q) ( P Q) 54 de 110 Inferencia propositiva Método de la enumeración Sea A B KB ( A C) ( B C) ¿La base de conocimiento garante a a? – Verificar todos los modelos posibles – en todos ellos a debe ser verdadera y Inteligencia Artificial e Ingenieria del Conocimiento siempre que la BC sea verdadera. – Se puede argumentar que para cualquier modelo M de la BC, M también es modelo de a Septiembre de 2007 55 de 110 Reglas de Inferencia Modus Ponens Y--Eliminación a1 & a2 & a3 & a4 an (n = 1..4) Y--introducción Inteligencia Artificial e Ingenieria del Conocimiento a1, a2, a3, a4 a1 & a2 & a3 & a4 O--Introducción a1 a1 V an Doble-negación eliminación - (- Resolución Unitaria V Resolución (difícil) VVV - Septiembre de 2007 56 de 110 Reglas de Inferencia (lógica propositiva) (MP) Modus Ponens (Implicación-eliminación) , Inteligencia Artificial e Ingenieria del Conocimiento (AI) =(YI) Y-introducción 1 , 2 ,, n 1 2 n (AE)=(YE) Y-eliminación (OI) O-introducción i 1 2 n 1 2 n i (NE) Negación-eliminación Septiembre de 2007 57 de 110 Reglas de Inferencia (lógica propositiva) (UR)Resolución Unitaria , (R) Resolución General , Inteligencia Artificial e Ingenieria del Conocimiento Notas: – Resolución es completa en lógica propositiva – Modus Ponens (en su forma general) 1 , 2 ,, n , 1 2 n – es completa para bases de conocimiento de Horn y puede ser usada en encadenamientos hacia atrás y hacia adelante. Septiembre de 2007 58 de 110 Ejemplo: Base de Conocimiento Ejemplo: construir una base de conocimiento para el mundo Wumpus. Inteligencia Artificial e Ingenieria del Conocimiento – Vocabulario de símbolos proposicionales: • Hi,j es verdadero si hay un hoyo en la casilla [i,j]. • Bi,j es verdadero si hay brisa en la casilla [i,j]. – Contenido inicial de la BC: • No hay ningún hoyo en la casilla [1,1]: – R1: H1,1 • En una casilla se siente brisa si y solo si hay un hoyo en una casilla vecina: – R2: B1,1 (H1,2 H2,1 ) – R3: B2,1 (H1,1 H2,2 H3,1) , , , , Septiembre de 2007 59 de 110 Ejemplo: Base de Conocimiento – Nuevas reglas al recorrer las 2 primeras casillas: • Percepciones de brisas – R4: B1,1 – R5: B2,1 Inteligencia Artificial e Ingenieria del Conocimiento • La BC actual estará formada por R1 R2 R3 R4 R5 RAZONAMIENTO e INFERENCIA: Son los nombres del proceso por el cual se obtienen conclusiones. INFERENCIA LÓGICA y DEDUCCIÓN: Son los nombres de todo razonamiento o inferencia válidos y confiables. Implantan las relaciones de implicación que existe entre oraciones. – Inferencia: Verificar la validez de oraciones que se toman como verdaderas pese a desconocerse su real interpretación. – Verdad : Depende del estado del mundo y de la interpretación. – Validez : Una oración es válida si es verdadera independientemente del mundo o de la interpretación. Septiembre de 2007 60 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Reglas de Inferencia Reglas explícitas para producir un teorema cuando se proveen dos o más teoremas. Funciones para secuencias de teoremas hacia teoremas En sistemas formales tienen que operar independientemente del significado semántico de las cadenas manipuladas Sinónimo: Reglas de producción Septiembre de 2007 61 de 110 Equivalencia, validez, satisfacibilidad Inteligencia Artificial e Ingenieria del Conocimiento Equivalencia: dos sentencias son equivalente lógicamente cuando si tienen los mismos valores de verdad en el mismo conjunto de modelos. Septiembre de 2007 62 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Equivalencia, validez, satisfacibilidad Validez: una sentencia es válida si es verdadera en todos los modelos. Las sentencias validas se conocen como tautologías. Satisfacibilidad: Una sentencia es satisfactoria si es verdadera para algún modelo. Septiembre de 2007 63 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Patrones de razonamiento en lógica proposicional Septiembre de 2007 64 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Patrones de razonamiento Resolución: nos lleva a un algoritmo de inferencia completo cuando se empareja a un algoritmo de búsqueda completo. Forma normal conjuntiva (FNC): es una sentencia representada mediante una conjunción de disyunciones de literales. Algoritmos de resolución: Los procedimientos de inferencia basados en la resolución trabajan mediante el principio de pruebas mediante contradicción. Para demostrar BC |= demostraremos que (BC es insatisfacible. Completitud de la resolución: A partir del teorema fundamental de la resolución, determinamos que si un conjunto de cláusulas es insatisfacible, entonces el cierre de la resolución de esas cláusulas contiene la cláusula vacía. Septiembre de 2007 65 de 110 Patrones de razonamiento Encadenamiento hacia delante y hacia atrás: Inteligencia Artificial e Ingenieria del Conocimiento – Cláusulas de Horn: disyunción de literales de los cuales, como mucho uno es positivo. • • • • Cabeza: literal positivo. Cuerpo: disyunción de literales negativos. Hecho: cláusula sin literales negativos. Restricción de integridad: una cláusula de Horn con solo literales negativos. • La inferencia de este tipo de cláusulas se realiza mediante algoritmos de encadenamiento hacia delante y hacia atrás. • Averiguar si hay o no implicación con las cláusulas de Horn se puede realizar en un tiempo que es lineal respecto al tamaño de la base de conocimiento. Septiembre de 2007 66 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Inferencia proposicional efectiva Septiembre de 2007 67 de 110 Patrones de razonamiento DPLL - Algoritmo de David y Putnam (basado en Backtracking): Determina si una sentencia de entrada con lógica proposicional es satisfacible. Inteligencia Artificial e Ingenieria del Conocimiento – Terminación anticipada: Una cláusula es verdadera si cualquier literal es verdadero. Una cláusula es falsa si algún literal es falso. – Heurística de símbolo puro: Un símbolo es puro si aparece siempre con el mismo signo en todas las cláusulas. Ej., En las 3 cláusulas (A B), (B C), (C A), A y B son puros, C es impuro. – Heurística de cláusula unitaria: Son aquellas que tienen un solo literal. Si solo hay un literal en una cláusula unitaria, tiene que ser verdadero. Septiembre de 2007 68 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Patrones de razonamiento Septiembre de 2007 69 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Patrones de razonamiento WalkSAT - Algoritmo de búsqueda: Determina si una sentencia de entrada con lógica proposicional es satisfacible. Nuestro objetivo es encontrar una asignación que satisfaga todas las cláusulas. – – – Septiembre de 2007 Algoritmo de búsqueda local incompleto. Función de evaluación: Que cuente el número de cláusulas insatisfacibles. Debemos encontrar un equilibrio entre el gradiente y la aleatoriedad. 70 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Patrones de razonamiento Septiembre de 2007 71 de 110 Patrones de razonamiento Problemas duros de satisfacibilidad: Inteligencia Artificial e Ingenieria del Conocimiento – Considerando 3-CNF sentencias. Ej: (D B C) (B A C) (C B E) (E D B) (B E C) m = número de cláusulas. n = número de símbolos. – Los problemas duros tienen una relación m/n = 4.3 (punto crítico). Septiembre de 2007 72 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Patrones de razonamiento a) Gráfico que muestra la probabilidad de que una sentencia en FNC-3 con n = 50 símbolos sea satisfacible, en función del ratio cláusula/símbolo m/n. b) Gráfico del tiempo de ejecución promedio del DPLL y del SAT sobre 100 sentencias en FNC-3 aleatorias con n=50 para un rango reducido de valores de m/n alrededor del punto crítico. Septiembre de 2007 73 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Agentes basados en lógica proposicional Septiembre de 2007 74 de 110 Conclusiones Inteligencia Artificial e Ingenieria del Conocimiento Un agente del mundo de Wumpus usando lógica proposicional: – – – – – – – – – P1,1 W1,1 Bx,y (Px,y+1 Px,y-1 Px+1,y Px-1,y) Sx,y (Wx,y+1 Wx,y-1 Wx+1,y Wx-1,y) W1,1 W1,2 … W4,4 W1,1 W1,2 W1,1 W1,3 … 64 distintos simbolos proposicionales, 155 sentencias. Septiembre de 2007 75 de 110 Conclusiones Inteligencia Artificial e Ingenieria del Conocimiento Encontrar hoyos y wumpus utilizando la inferencia lógica. Septiembre de 2007 76 de 110 Guardar la pista acerca de la localización y orientación del agente. Conclusiones Agente basado en circuitos: Inteligencia Artificial e Ingenieria del Conocimiento – – – Circuito secuencial. Puertas. Registros. Comparación: Los agentes basados en inferencia y los basados en circuitos representan los extremos declarativo y procesal en el diseño de agentes. Se pueden comparar según diversas dimensiones: – – – – Septiembre de 2007 Precisión. Eficiencia computacional. Completitud. Facilidad de construcción. 77 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Agentes Lógicos Conclusiones Septiembre de 2007 78 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Conclusiones Los agentes inteligentes necesitan el conocimiento acerca del mundo para tomar las decisiones acertadas. Los agentes contienen el conocimiento en forma de sentencias mediante un lenguaje de representación del conocimiento, las cuales quedan almacenadas en una base de conocimiento. Un agente basado en conocimiento se compone de una base de conocimiento y un mecanismo de inferencia. El agente opera almacenando las sentencias acerca del mundo en su base de conocimiento, utilizando el mecanismo de inferencia para inferir sentencias nuevas, y utilizando estas sentencias nuevas para decidir qué acción debe tomar. Un lenguaje de representación del conocimiento se define por su sintaxis, que especifica la estructura de las sentencias, y su semántica, que define el valor de verdad de cada sentencia en cada mundo posible, o modelo. Septiembre de 2007 79 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Conclusiones La relación de implicación entre las sentencias es crucial para nuestro entendimiento acerca del razonamiento. Una sentencia implica otra sentencia si es verdadera en todos los mundos donde lo es. Las definiciones familiares a este concepto son: la validez de la sentencia , y la insatisfacibilidad de la sentencia La inferencia es el proceso que consiste en derivar nuevas sentencias a partir de las ya existentes. Los algoritmos de inferencia sólidos sólo derivan aquellas sentencias que son implicadas; los algoritmos completos derivan todas las sentencias implicadas. La lógica proposicional es un lenguaje muy sencillo compuesto por los símbolos proposicionales y las conectivas lógicas. De esta manera se pueden manejar proposiciones que se sabe que son ciertas, falsas, o completamente desconocidas. Septiembre de 2007 80 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Conclusiones El conjunto de modelos posibles, dado un vocabulario proposicional fijado, es finito, y así se puede comprobar la implicación tan sólo enumerando los modelos. Los algoritmos de inferencia basados en la comprobación de modelos más eficientes para la lógica proposicional, entre los que se encuentran los métodos de búsqueda local y backtracking, a menudo pueden resolver problemas complejos muy rápidamente. Las reglas de inferencia son patrones de inferencia sólidos que se pueden utilizar para encontrar demostraciones. De la regla de resolución obtenemos un algoritmo de inferencia completo para bases de conocimiento que están expresadas en forma normal conjuntiva. El encadenamiento hacia delante y el encadenamiento hacia atrás son algoritmos de razonamiento muy adecuados para bases de conocimiento expresadas en cláusulas de Horn. Septiembre de 2007 81 de 110 Inteligencia Artificial e Ingenieria del Conocimiento Conclusiones Se pueden diseñar dos tipos de agentes que utilizan la lógica proposicional: los agentes basados en inferencia utilizan algoritmos de inferencia para guardar la pista del mundo y deducir propiedades ocultas, mientras que los agentes basados en circuitos representas proposiciones mediante bits en registros, y los actualizan utilizando la propagación de señal de los circuitos lógicos. La lógica proposicional es razonablemente efectiva para ciertas tareas de un agente, pero no se puede escalar para entornos de tamaño ilimitado, a causa de su falta de poder expresivo para manejar el tiempo de forma precisa, el espacio, o patrones genéricos de relaciones entre objetos. Septiembre de 2007 82 de 110 Ejercicios Ejercicio1: Dado el juego del buscaminas con una matriz de 4x4 y 3 minas situadas de forma aleatoria, establecer: Inteligencia Artificial e Ingenieria del Conocimiento – – – El modelo REAS del buscaminas. Las reglas que componen la BC inicialmente. Y una simulación del juego que acabe en éxito, mostrando las reglas que componen la BC final. Ejercicio2: Dado el párrafo “Si el unicornio es un animal mitológico, entonces es inmortal, pero si no es mitológico, entonces es un mamífero mortal. Si el unicornio es inmortal o mamífero, entonces tiene cuernos. El unicornio es mágico si tiene cuernos”. Demostrar: – – – Septiembre de 2007 El unicornio es un animal mitológico. El unicornio es un animal mágico. El unicornio tiene cuernos. 83 de 110 Universidad de Castilla-La Mancha Luis Jiménez Linares Luis.jimenez@uclm.es Luis Enrique Sánchez Crespo LuisEnrique.sanchez@uclm.es