760 likes | 1.08k Views
Universidad de Monterrey. Inteligencia Artificial. PARTE III CONOCIMIENTO Y RAZONAMIENTO. Inteligencia Artificial. 3.1 Agentes que razonan de manera lógica. Objetivo Particular.
E N D
Universidad de Monterrey Inteligencia Artificial PARTE III CONOCIMIENTO Y RAZONAMIENTO
Inteligencia Artificial 3.1 Agentes que razonan de manera lógica
Objetivo Particular • Diseñar agentes capaces de elaborar representaciones del mundo, aplicar un proceso de inferencia para obtener nuevas representaciones del mundo y utilizarlas para deducir qué hacer.
Introducción • Un agente basado en conocimiento es aquel que posee un conocimiento de su mundo, y que también es capaz de razonar sobre las posibles acciones que puede emprender. • Los elementos básicos para el diseño de un agente de este tipo son: • Un lenguaje formal para expresar el conocimiento • Formas de efectuar razonamientos usando ese mismo lenguaje.
Introducción • Ambos elementos constituyen la llamada lógica. • Se utilizará principalmente la lógica propositiva.
Agente basado en el conocimiento (ABC) • El componente principal de un ABC es su base de conocimiento (BC, en inglés KB). • Una BC es un conjunto de representaciones de ciertos hechos acerca del mundo. • Cada una de estas representaciones es llamada oración. • Las oraciones se expresan en un lenguaje para representación de conocimiento.
Agente basado en el conocimiento (ABC) • La BC debe actualizarse mediante un procedimiento de interrogación y adición de nuevas oraciones. • Otro elemento importante es el mecanismo de inferencia, que deduce consecuencias lógicas de la BC.
Agente basado en el conocimiento (ABC) función AGENTE-BC(percepción) responde con una acción estático: BC, una base de conocimiento t, un reloj, inicialmente en 0 para medir el tiempo DECIR(BC, HACER-PERCEPCIÓN-ORACIÓN(percepción, t)) acción PREGUNTAR(BC, HACER-ACCIÖN-CONSULTAR(t)) DECIR(BC, HACER-ACCIÓN-ORACIÓN(acción, t)) t t + 1 responde con acción.
Agente basado en el conocimiento (ABC) • En la BC puede existir un conocimiento previo formado por antecedentes. • Siempre que se ejecuta un programa de ABC, se realizan dos acciones: • El programa INFORMA a la BC lo que percibe • El programa le PREGUNTA a la BC cuál es la acción que debe emprender. Aquí se usa el razonamiento lógico para determinar la mejor acción, dadas las metas.
Agente basado en el conocimiento (ABC) • El ABC se caracteriza por tres niveles: • Nivel de conocimiento o epistemológico • El mas abstracto de los tres, es lo que el agente sabe por defecto: por ejemplo, el conocimiento de que el puente Golden Gate une a San Francisco con el condado de Marin • Nivel lógico • Es donde el conocimiento se codifica mediante oraciones: por ejemplo, la oración Une(Puente GG, SF, Marin) • Nivel de implantación • Es el que opera la arquitectura del agente y es donde se encuentran las representaciones físicas de las oraciones correspondientes al nivel lógico: Por ejemplo, la cadena “Une (Puente GG, SF, Marin)”.
Agente basado en el conocimiento (ABC) • Se puede construir un agente basado en el conocimiento INFORMÁNDOLE todo lo que necesita saber. • Si el lenguaje de representación facilita expresar este conocimiento mediante oraciones, el problema de la construcción se simplifica enormemente. • A esto se le llama enfoque declarativo de la construcción de un sistema
Agente basado en el conocimiento (ABC) • Prolog es un lenguaje declarativo que facilita la representación del conocimiento mediante oraciones. • Es posible diseñar también mecanismos de aprendizaje que, dado un conjunto de percepciones, producen un conocimiento general del ambiente.
El ambiente del mundo de wumpus • “El mundo de wumpus” es un problema conocido, con un ambiente sencillo, ideal para observar el desempeño de un agente basado en conocimiento. • El mundo de wumpus es un antiguo juego de computadora que consiste en un agente que entra a explorar una cueva en donde hay habitaciones conectadas entre sí por pasadizos. • En algún sitio de la cueva acecha el wumpus, que es una bestia que devora al que entre en su habitación.
El ambiente del mundo de wumpus • El problema se complica debido a que en algunas habitaciones hay precipicios, donde caerá el agente si entra en una de dichas habitaciones (para el wumpus no hay problema ya que es demasiado grande y no puede caer por un precipicio). • Para el agente, existe como motivación la posibilidad de encontrar una pila de oro.
El ambiente del mundo de wumpus • El mundo de wumpus fue inventado por Gregory Yob (1975). Irónicamente, Yob lo desarrolló porque estaba aburrido de los juegos sobre una cuadrícula: La topología de su mundo de wumpus original era un dodecaedro. Para fines prácticos, se volvió a poner sobre una cuadrícula. • Éste es un juego extremadamente sencillo, pero es un buen ejemplo para probar agentes inteligentes basados en conocimiento. Michael R. Genesereth fue el primero en sugerir que el mundo se usara como un sujeto de prueba para los agentes.
El ambiente del mundo de wumpus • Especificación del ambiente • El ambiente del wumpus consta de una cuadrícula circunscrita por muros. En cada cuadro puede estar el agente, el wumpus, u otros objetos. El agente comienza siempre por la esquina inferior izquierda, que será el cuadrado marcado como [1,1], mirando a la derecha.
El ambiente del mundo de wumpus • Especificación del ambiente • La tarea del agente consiste en encontrar el oro, regresar a [1,1] y salir de la cueva.
BRISA BRISA BRISA BRISA BRISA BRISA HEDOR HEDOR HEDOR El ambiente del mundo de wumpus • Ambiente PRECIPICIO 4 PRECIPICIO 3 ORO 2 PRECIPICIO 1 1 2 4 3
El ambiente del mundo de wumpus • Percepciones • En el cuadro donde está el wumpus y los cuadros directamente contiguos (en sentidos horizontal y vertical, no diagonal) el agente alcanza a percibir un olor desagradable (hedor). • En los cuadros directamente contiguos a un precipicio, el agente percibe una brisa. • En el cuadro donde está el oro, el agente percibe un resplandor. • Si al caminar, el agente topa con un muro, percibirá un golpe.
El ambiente del mundo de wumpus • Percepciones • Si el agente mata al wumpus, percibirá un fuerte gemido que se escuchará por toda la cueva. • El agente recibirá las percepciones a través de una lista de cinco símbolos, por ejemplo: si en un cuadro hay hedor, brisa y resplandor, pero no se dio ningún golpe y no escuchó ningún gemido(como en el [2,3]), el agente percibirá [hedor, brisa, resplandor, nada, nada].
El ambiente del mundo de wumpus • Acciones • desplazarse hacia delante • girar 90° a la derecha • girar 90° a la izquierda • recoger un objeto en el cuadro donde se encuentra • disparar una flecha en línea recta desde donde se encuentre (la flecha se detendrá si da con el wumpus y lo mata o si choca con la pared. Sólo se dispone de una flecha) • salir de la cueva (sólo si el agente está en el cuadro de partida).
El ambiente del mundo de wumpus • Metas • El agente muere si entra a un cuadro con un precipicio o con el wumpus vivo. No hay peligro si entra a un cuadro donde el wumpus está muerto. • La meta del agente es encontrar el oro, y llevarlo al punto de partida lo más rápido posible, sin morir en el intento. Se le concederán 1000 puntos si lo logra, y pagará un punto por cada acción emprendida. Si muere, se descontarán 1000 puntos.
El ambiente del mundo de wumpus • Se supone que las ubicaciones del wumpus y el oro se escogen al azar, con distribución uniforme. Pueden estar en cualquier cuadrado, menos en el inicio. • En cualquier cuadrado, menos en el de partida, puede haber un precipicio, con probabilidad del 20%.
El ambiente del mundo de wumpus • En el 21% de los ambientes (aquellos en donde el oro está en un precipicio o rodeado de éstos) no existe posibilidad de que el agente logre una calificación positiva. • En estos casos, el agente debe elegir entre regresar a casa con las manos vacías o correr el riesgo de perecer en el intento de obtener el oro. • Es posible luego atacar este problema usando dos agentes que se dedican a explorar conjuntamente y pueden comunicarse entre sí (multiagentes). También se pueden considerar mundos donde el wumpus se puede desplazar, o en donde hay varias pilas de oro, o varios wumpus.
El ambiente del mundo de wumpus • Cómo actuar y razonar en el mundo de wumpus. Se utilizarán las siguientes abreviaturas: • A = Agente • B = Brisa • G = Resplandor, Oro • OK = Cuadro seguro • P = Precipicio • H = Hedor • V = Cuadro visitado • W = Wumpus
El ambiente del mundo de wumpus Situación inicial, después de la percepción [Nada, Nada, Nada, Nada, Nada]
El ambiente del mundo de wumpus Después de emprender una acción, con la percepción [Nada, Brisa, Nada, Nada, Nada]
El ambiente del mundo de wumpus Luego de la tercera acción, con la percepción [Hedor, Nada, Nada, Nada, Nada]
El ambiente del mundo de wumpus Luego de la quinta acción, con la percepción [Hedor, Brisa, Resplandor, Nada, Nada]
Representación, Razonamiento y Lógica • El objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de manera que se le pueda utilizar como un auxiliar para el buen desempeño de los agentes.
Representación, Razonamiento y Lógica • Un lenguaje para la representación del conocimiento consta de dos aspectos: • Sintaxis: La sintaxis del lenguaje explica las posibles configuraciones mediante las cuales se forman las oraciones. • Semántica: La semántica determina los hechos del mundo a los que hacen alusión las oraciones. • Si la sintaxis y la semántica están definidas de manera precisa, se dice que el lenguaje es una lógica.
Representación, Razonamiento y Lógica • Ejemplo, en el lenguaje de la aritmética: • x + 2 y es una sentencia, x 2 + y no lo es. • x + 2 y es verdadera si y sólo si el número x + 2 no es menor que el número y. • x + 2 y es verdadera en un mundo donde x = 7, y = 1. • x + 2 y es falsa en un mundo donde x = 0, y = 6.
Representación, Razonamiento y Lógica implican Oraciones Oraciones Representación Semántica Semántica Mundo Hechos Hechos producen La conexión entre oraciones y hechos es algo que se establece mediante la semántica del lenguaje. La propiedad de que un hecho o sea consecuencia de otros, se refleja en la propiedad de que una oración es consecuencia de otras oraciones. La inferencia lógica genera nuevas oraciones que son consecuencia de oraciones ya existentes.
Representación, Razonamiento y Lógica • Puesto que las oraciones son configuraciones físicas de las partes de un agente, el razonamiento debe ser un proceso parra construir nuevas configuraciones físicas a partir de otras anteriores. Un adecuado razonamiento deberá garantizar que las nuevas configuraciones representen hechos derivados de aquellos representados por configuraciones previas.
Representación, Razonamiento y Lógica • Lo que se desea es generar nuevas oraciones que necesariamente sean verdaderas, suponiendo que las previas también lo sean. A este tipo de relación que guardan las oraciones se le denomina consecuencia o implicación. • En notación matemática, la relación de consecuencia entre una base de conocimiento BC y una oración se dice “BC implica ” y se escribe BC |= .
Representación, Razonamiento y Lógica • Mediante un procedimiento de inferencia se pueden obtener dos cosas: • Partiendo de una base de conocimientos BC, se generan nuevas oraciones , tales que BC |= . • Dados una base de conocimientos BC y una oración , se informa si BC |= o no. • A un procedimiento de inferencia que genere sólo oraciones implicadas se le denomina fidedigno o protector de la verdad.
Representación, Razonamiento y Lógica • A un procedimiento de inferencia i se le puede describir por las oraciones que pueden derivarse a partir de él. Si mediante i se puede obtener desde la BC, se expresa como BC |-i . • El testimonio de la manera de operar de un procedimiento de inferencia confiable se denomina demostración. • Se considera que un procedimiento de inferencia es completo si es capaz de encontrar la demostración respectiva de toda oración implicada.
Representación, Razonamiento y Lógica • La clave para lograr una inferencia segura consiste en que los pasos de inferencia respeten la semántica de las oraciones sobre las que se aplican tales pasos. Es decir, dada una base de conocimientos BC, mediante los pasos de inferencia se deberán obtener solamente nuevas oraciones que representen hechos derivados de los hechos representados por la BC. • Mediante una revisión de la semántica de los lenguajes lógicos se obtiene lo que se conoce como teoría de la demostración del lenguaje, en la que se especifican los pasos de razonamiento que son confiables • Ejemplo: E=mc2 ET = mc2T
Representación • Ejemplos de lenguajes que nos son familiares: • Lenguajes de programación (C, Pascal, Lisp, etc.) • Son idóneos para representar algoritmos y estructuras de datos concretas: Mundo[2,2] precipicio. • El problema es que están diseñados para describir cabalmente el estado de la computadora y de cómo cambia ésta conforme el programa se va ejecutando • ¿Qué pasa cuando la información es incompleta o hay incertidumbre? En estos casos estos lenguajes no son lo suficientemente expresivos. • Lenguajes naturales (español, inglés, francés, etc.) • Son expresivos • El significado de una oración depende tanto de la oración como del contexto en que se produce. • Son ambiguos : “pequeños perros y gatos” vs. “-d + c”.
Representación • Un buen lenguaje para representar el conocimiento debe combinar las ventajas de los lenguajes naturales y las de los lenguajes formales: • Debe ser lo suficiente expresivo y conciso para que nos permita expresar de manera sucinta todo lo que hay que decir. • Debe ser inequívoco (no ambiguo) e independiente del contexto para su interpretación. • Debe ser eficiente en el sentido de que debe existir un procedimiento de inferencia que permita obtener nuevas inferencias a partir de oraciones en nuestro idioma.
Representación • Semántica • En lógica, el significado de una oración es aquello que se afirma del mundo, que el mundo sea de esta forma y no de otra. • Para entender una oración, quien la escriba tiene que proporcionar su respectiva interpretación, aclarar a qué hecho corresponde.Ninguna oración tiene significado por sí misma. Ejemplo, mensajes en código enviados de un espía a otro.
Representación • Semántica • Los lenguajes que nos interesan son todos compositivos o de composición: el significado de una oración es función del significado de sus partes. Ejemplo, el significado de “x2+y2” esttá relacionado con los significados de x2 y y2. • Una vez que mediante la semántica se interpreta una oración, ésta puede ser cierta o falsa. • Una oración es cierta dentro de una interpretación determinada si el estado de asuntos que representa es el caso.
Inferencia • La inferencia lógica o deducción es un proceso mediante el que se implanta la relación de implicación que existe entre oraciones. • Hay diversas maneras de realizar el diseño de sistemas de inferencia lógica. Se empezará por la ida de la oración necesariamente verdadera.
Inferencia • Validez y satisfacción • Una oración es válida o necesariamente verdadera si y sólo si es verdadera en todas las posibles interpretaciones de todos los mundos posibles, ejemplo: • Hay un hedor en [1,1] o no hay un hedor en [1,1]. • Las oraciones válidas son también llamadas oraciones analíticas o tautologías.
Inferencia • Validez y satisfacción • Se considera que una oración es satisfactible si y sólo si existe una interpretación en algún mundo para la que es válida, ejemplo: • “Hay un wumpus en [1,2]”. • Las oraciones contradictorias son insatisfactibles, ejemplo: • “Hay un muro enfrente y no hay un muro enfrente”
Lógica • Resumiendo, una lógica consta de: • Sistema formal para describir la realidad, que consta de: • Sintaxis del lenguaje, que explica cómo construir oraciones, • Semántica del lenguaje, que especifica las restricciones sistemáticas sobre cómo se relacionan las oraciones con la realidad • La teoría de la demostración, un conjunto de reglas para deducir las implicaciones de un conjunto de oraciones.
Lógica • Lógica propositiva • En ella los símbolos representan proposiciones completas (hechos), los cuales se pueden combinar con conectivos booleanos, por ejemplo: • D = “el wumpus está muerto”, que puede ser V o F. • Lógica de primer orden • Se preocupa por la representación de los mundos en términos de objetos y predicados sobre objetos (propiedades de y relaciones entre objetos), así como del uso de conectivos y cuantificadores.
Lógica • Para facilitar su comprensión, cada lógica tiene sus preocupaciones ontológicas y epistemológicas. • Las preocupaciones ontológicas se refieren a la naturaleza de la realidad, ejemplo: • Lógica propositiva: en el mundo sólo hay hechos verdaderos y falsos. • Lógica de primer orden: el mundo está compuesto por objetos que guardan entre sí ciertas relaciones que se cumplen o no se cumplen. • Lógica temporal: el mundo se ordena mediante un conjunto de tiempos o intervalos, en esta lógica se han incorporado mecanismos para razonar acerca del tiempo.
Lógica • Las preocupaciones epistemológicas están relacionadas con los posibles estados de conocimiento que se puede allegar un agente al utilizar diversos tipos de lógica, ejemplo: • Lógica propositiva: verdadero/falso/desconocido. • Lógica de primer orden: verdadero/falso/desconocido. • Lógica difusa: grado de certeza 0…1, donde 0 es incertidumbre total, y 1 es certidumbre total.
Lógica Lenguajes formales y sus preocupaciones ontológicas y epistemológicas