390 likes | 791 Views
INTELIGENCIA ARTIFICIAL. Agentes Lógicos. Mg. Samuel Oporto Díaz. Lima, 25 de Junio 2005. Tabla de Contenido. Agentes Basados en Conocimiento . Representación del Conocimiento . Sintaxis y Semántica de un Lenguaje Inferencia Resumen Bibliografía. Objetivo.
E N D
INTELIGENCIA ARTIFICIAL Agentes Lógicos Mg. Samuel Oporto Díaz Lima, 25 de Junio 2005
Tabla de Contenido • Agentes Basados en Conocimiento. • Representación del Conocimiento. • Sintaxis y Semántica de un Lenguaje • Inferencia • Resumen • Bibliografía
Objetivo • Presentar a los agentes basados en conocimiento. • Exponer los conceptos acerca de la representación del conocimiento y el proceso de razonamiento. • Exponer las técnicas para el diseño de agentes capaces de elaborar representaciones del mundo.
Agentes Basado en Conocimiento • Un agente basado en conocimiento (ABC) es aquel sistema que posee conocimiento de su mundo y que es capaz de razonar sobre las posibles acciones que puede tomar para cambiar el estado de su mundo. • El agente es un conjunto de sentencias, representado mediante un lenguaje de representación de conocimiento.
Agentes Basado en Conocimiento Efectores Sensores Base de Conocimiento Percepciones Acciones Motor de Inferencia mundo
Elementos • Lenguaje de representación de conocimiento. • Lenguaje formal de representación, se usará la lógica proposicional y más adelante la lógica de predicados. • El conocimiento se representa mediante sentencias. • Inferencia. • Es la derivación de nuevas sentencias a partir de las sentencias almacenadas y nuevas percepciones. • Adición de nuevo conocimiento (TELL) • Consultas a la BC (ASK)
Base de Conocimiento (KB) • Es la representación de un conjunto de hechos acerca del mundo. • Cada hecho está representado por una sentencia u oración. • LA BC tiene conocimiento previo, que corresponde al conocimiento no aprendido. • Siempre que se ejecuta el programa del ABC, sucede dos cosas: • El programa informa a la BC lo que percibe. • El programa pregunta a la BC qué hacer, luego graba la respuesta.
Agente BC genérico función AGENTE-BC(percepción) responde con una acción estático: BC, una base de conocimiento t, un contador, al inicio=0, mide el tiempo TELL(BC, HACER-PERCEPCIÓN-SENTENCIA(percepción, t)) acción ASK(BC, HACER-ACCIÖN-CONSULTA(t)) TELL(BC, HACER-ACCIÓN-SENTENCIA(acción, t)) t t + 1 responde con acción.
Niveles de un ABC • Nivel de conocimiento o epistemológico. • Es el nivel abstracto, describe qué es lo que el agente sabe. Corresponde al dominio del conocimiento (objeto de conocimiento). • Nivel lógico. • Es donde el conocimiento se codifica mediante oraciones o sentencias. • Nivel de implementación. • Es el que opera la arquitectura del sistema. • Es donde se encuentra las representaciones físicas de las oraciones correspondientes al nivel lógico
Representación del Conocimiento • Expresar el conocimiento de forma que sea manejable por el computador, de modo que pueda ser utilizado como auxiliar para el desempeño de los agentes. Tarea. • Identifique al menos 6 formas de representar el conocimiento, exponga el dominio de conocimiento, aplicaciones, ejemplifique con un caso.
Representación Declarativa (∀X)(persona(X)) mortal(X) (∀X)(perro(X)) mortal(X) persona(Sócrates) persona(Eva) perro(Lassie) • Cálculo de Predicados, Reglas de Producción, y Redes Semánticas • Fragmentos de conocimiento interdependientes unos de otros • Facilidad de modificación. • Los conocimientos se combinan, mediante un mecanismo general de razonamiento y deducción. • Flexible y modular.
Representación Procedural function persona(X) IF (X=Sócrates) or (X=Eva) THEN return true ELSE return false function erro(X) IF (X=Lassie) THEN return true ELSE return false function mortal(X) IF persona(X) or perro(X) THEN return true ELSE return false • Algoritmos. • Autómatas Finitos. • Difícilmente modificable (Reglas y Estructuras de control). • Facilitan el uso del meta-conocimiento. • Se puede descomponer explícitamente el problema. • Operación Eficiente.
Representación del Conocimiento El lenguaje consta de dos aspectos: • Sintaxis. • Explica las posibles configuraciones mediante las cuales se forma las oraciones o sentencias (lenguaje). • La semántica. • Determina los hechos del mundo a los que se hace alusión en las oraciones o sentencias. • Si la semántica y la sintaxis están definidas de manera precisa, se dice que el lenguaje es una lógica.
Representación del Conocimiento • La conexión entre oraciones y hechos es algo que se establece mediante la semántica del lenguaje. • La propiedad de que un hecho es decir la consecuencia de otros hechos, 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. implican Oraciones Oraciones Representación Semántica Semántica Mundo Hechos Hechos producen
Sintaxis • Un buen lenguaje de representación de conocimiento debe de combinar las ventajas de los lenguajes naturales y 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.
Ejemplos de Lenguajes • 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 cambiar é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, quechua….) • 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”.
Semántica • En lógica, el significado de una oración es aquello que se afirma del mundo, que el mundo sea de una forma. • Para entender una oración, quien la escriba tiene que proporcionar su respectiva interpretación.Ninguna oración tiene significado por sí misma. • mensajes en código enviados de un espía a otro. • 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. • El significado de “x2+y2” está 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 deter-minada si el estado de asuntos que representa es cierta.
Ejercicio Mundo de Bloques. Considere un Mundo de Bloques consistente de bloques y una mesa. Los bloques pueden estar apoyados sobre la mesa o sobre otro bloque y se dice que un bloque está “libre“ si no tiene ningún otro bloque apoyado sobre él. Las relaciones que se definen entre los objetos pertenecientes a este mundo son: libre(B): es verdadera si el bloque B está “libre". sobre(A;B): es verdadera si el bloque A está sobre el bloque B. enMesa(A): es verdadera si el bloque A está apoyado sobre la mesa. Las acciones permitidas son: apilar(A;B): apila un bloque A sobre un bloque B. Esta acción puede llevarse a cabo solo si ambos bloques están “libres”. desapilar(A;B): desapila sobre la mesa el bloque A que está sobre el bloque B. Esta acción solo puede realizarse si el bloque A está libre.
Ejercicio El estado inicial del mundo que se considera es el siguiente: Preguntas: • Identifique las clases de este mundo y enumere los objetos. • Enumere los hechos que representan el estado inicial del Mundo de Bloques. • Defina las acciones apilar y desapilar • Describa el mundo resultante luego de llevar a cabo la siguiente secuencia de acciones a partir del estado inicial. desapilar(A,L); apilar(L,O); apilar(A,L) • Por cada acción realizada, indique claramente cuales son los estados intermedios que se van obteniendo.
A A L L L O H L O H A O H A O H A L desapilar(A,L) apilar(L,O) apilar(A,L) O H Solución 1. bloque: A, L, O, H mesa: M 2. libre(A), sobre(A, L), libre(O), libre(H), enMesa(L) , enMesa(O) , enMesa(H) 3. apilar(x, y) condición: enMesa(x), libre(x), libre(y) efecto: ¬enMesa(x), sobre(x,y), ¬libre(y) desapilar(x,y) condición: sobre(x, y), libre(x) efecto: ¬sobre(x,y), libre(y), enMesa(x) 4. libre(A), sobre(A, L), sobre(L,O), enMesa(O) , enMesa(H) 5.
Inferencia • Inferencia lógica. • Es un proceso mediante el cual se implementa la relación que existe entre las oraciones o sentencias. • Deducción. • Equivalente a inferencia lógica. • Equivalencia. • Dos sentencias α y β son equivalentes lógicamente si es que son verdaderas con el mismo conjunto de hechos. • P Λ Q y Q Λ P • Se expresan como α ↔ β
Inferencia • Validez. • Una oración es valida si está verdadera. • La oración es validada si y solo si es verdadera en todas las posibles interpretaciones del mundo. • Se denominan oraciones analíticas o tautologías. • Juan está estudiando o Juan no está estudiando. • Contradicción. • Es una oración que es falsa en todas las interpretaciones del mundo. • Juan es mortal y Juan no es mortal.
Inferencia • Satisfabilidad. • Se considera que una oración es satisfactible si y solo si existe una interpretación en algún mundo para el cual es validad. • Un alumno no rindió su práctica el día lunes. • (A V B) Λ C, para A = FALSE , B = TRUE, C = TRUE. • Las oraciones contradictorias son insatisfactibles • Juan salió a caminar y Juan no salió a caminar. • A Λ –A, para todo A.
Resumen • La lógica es un 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ógicas Clásicas • 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. • F = “Toledo es el presidente del Perú” • Lógica de primer orden • Se preocupa por la representación de los mundos en términos de objetos y predicadossobre objetos (propiedades de y relaciones entre objetos), así como del uso de conectivos y cuantificadores.
Lógicas no clásicas • Lógica temporal • Tiene en cuenta la conducta cambiante en el tiempo de las entidades en un dominio determinado. • Una misma proposición puede tener diferentes valores de verdad según distintos intervalos temporales. • Se incluyen conectores ("antes", "después", "durante", "hasta", "desde") a fin de desarrollar un modelo capaz de simular mejor el lenguaje natural. • Lógica difusa • Expande la teoría de conjuntos. • Los objetos pueden pertenecer simultáneamente a más de una categoría, presentando un cierto "grado de pertenencia“ • El aire parece cálido en un 40% • El aire parece no cálido en un 60%. • Trabaja con expresiones lingüísticas como "muy", "grande", "poco", "más o menos", "aproximadamente igual a", etc.
Lógicas Clásicas y No Clasicas Lenguajes formales y sus preocupaciones ontológicas y epistemológicas de las lógicas clásicas y 2 no clásicas.
Tarea • Investigar los siguientes tipos de lógicas no clásicas. • La lógica multivaluada. • La lógica temporal. • La lógica modal. • La lógica no monotónica. • La lógica difusa. • La lógica multidimensional.
Bibliografía • AIMA. Capítulo 6, primera edición. • AIMA. Chapter 7, second edition.