Agentes ¿De dónde vienen los Agentes? Tecnología de Objetos (software) Inteligencia Artificial Sistemas Distribuidos (computación) Sociedades, Psicología Sistemas Intencionales & dificultades ‘top-down’ 1 Tecnología de Objetos Mensajes entre objetos Encapsulamiento, independencia Clases, herencia Inteligencia Artificial Conocimiento (representación del mundo) Razonamiento Aprendizaje Enfoque de agente: Sensores Proceso inteligente Efectores 2 Sistemas Distribuidos Distribución de datos y procesos Conectividad, Redes, Protocolos Interoperabilidad Internet Sociedades, Psicología Historias de hormigas y abejas Interacciones entre humanos, roles Conductismo, Gestalt, Cognitivismo 3 Sistemas Intencionales & dificultades ‘top-down’ Sistemas Complejos fácilmente diseñables como Sistemas Intencionales Diseño de grandes aplicaciones informáticas mediante métodos top down es caro y difícil de mantener y actualizar Autonomía 9 Componentes Informáticos se entienden y diseñan como entidades autónomas independientes unas de otras. 9 El diálogo entre entidades materializa la ejecución de un sistema, no las llamadas a procedimientos o funciones, o la ejecución de un método como consecuencia la recepción de un mensaje 9 Los agentes deciden de forma autónoma de que manera actuar y en que momento intervenir en la solución colectiva a un problema Pero ¿qué es un agente? Proceso de larga vida (permanente) Independencia, autonomía “Inteligencia” 4 Teoría de Agentes Un agente es un sistema informático, situado en algún entorno, que percibe el entorno (entradas sensibles de su entorno) y a partir de tales percepciones determina (mediante técnicas de resolución de problemas) y ejecuta acciones (de forma autónoma y flexible) que le permiten alcanzar sus objetivos y que pueden cambiar el entorno. Agente: Definición No existe una definición comunmente aceptada. Entorno Wooldridge: Wooldridge: • Cualquier proceso computacional dirigido por el objetivo capaz de interaccionar con su entorno de forma flexible y robusta Flexibilidad: Reactivo Proactivo Social 5 Agente: Definición No existe una definición comunmente aceptada. Wooldridge: Cualquier proceso computacional dirigido por el objetivo capaz de interaccionar con su entorno de forma flexible y robusta Flexible: Reactivo, Proactivo y Social Parunak: Teoría de Agentes Autonomía: capacidad de actuar sin intervención humana directa o de otros agentes. Sociabilidad: capacidad de interaccionar con otros agentes, utilizando como medio algún lenguaje de comunicación entre agentes. Reactividad: un agente está inmerso en un determinado entorno (habitat), del que percibe estímulos y ante los que debe reaccionar en un tiempo preestablecido. Iniciativa: un agente no sólo debe reaccionar a los cambios que se produzcan en su entorno, sino que tiene que tener un carácter emprendedor y tomar la iniciativa para actuar guiado por los objetivos que debe de satisfacer. Movilidad: habilidad de trasladarse en una red de comunicación informática. Veracidad: no comunica información falsa intencionadamente. Benevolencia: no tiene objetivos contradictorios y siempre intenta realizar la tarea que se le solicita. Racionalidad: tiene unos objetivos específ. y siempre intenta llevarlos a cabo. 6 Teoría de Agentes Los sistemas compuestos de múltiples agentes, comenzaron a utilizarse en la Inteligencia Artificial Distribuida (O'hare et al.., 1996), que tradicionalmente se ha dividido en dos campos: La Resolución de Problemas distribuidos: un problema particular puede resolverse por un número de nodos que cooperan en dividir y compartir conocimiento sobre el problema y su solución. Las tareas que cada agente realiza están prefijadas de antemano, cada agente tiene una conducta fija, y el sistema se centra en el comportamiento global. Los Sistemas Multiagente: agentes autónomos trabajan juntos para resolver problemas, caracterizado porque cada agente tiene una información o capacidad incompleta para solucionar el problema, no hay un sistema global de control, los datos están descentralizados y la computación es asíncrona. Los agentes pueden decidir dinámicamente que tareas deben realizar y quien realiza cada tarea. Teoría de Agentes Sistema Basado en Agentes Utiliza como mecanismo de abstracción los agentes, pero aún siendo modelizado en términos de agentes, podría ser implementado sin ninguna estructura software correspondiente a éstos. Sistemas Multi-agente Es diseñado e implementado como varios agentes interactuando entre sí, para así lograr la funcionalidad deseada. 7 Alguna puntualización sobre la racionalidad El carácter de racionalidad de un agente (Russell, et al. 1995) depende de cuatro factores: 9 De la medida con la que se evalúe el grado de éxito logrado. 9 De la secuencia de percepciones, entendiendo por tal todo aquello que hasta ese momento haya percibido el agente. 9 Del conocimiento que el agente posea del medio. 9 De las acciones que el agente pueda llevar a cabo. Un agente racional debe emprender todas aquellas acciones que favorezcan obtener el máximo de su medida de rendimiento, basándose en las evidencias aportadas por la secuencia de percepciones y en todo el conocimiento incorporado. Teoría de Agentes ¿Cómo formular, describir, descomponer problemas y sintetizar resultados entre un grupo de agentes inteligentes? ¿Cómo permitir a los agentes comunicarse e interactuar? ¿Qué lenguajes de comunicación y protocolos se pueden usar? ¿Qué arquitectura es la mas adecuada para construir Sistemas multi-agente prácticos? ¿Qué lenguajes y herramientas de desarrollo se pueden utilizar? ¿Cómo construir herramientas para soportar las metodologías de desarrollo?, etc. 8 Multi-Agente Interacción de varios agentes similares o heterogéneos Sin control global Datos descentralizados Alcance y punto de vista individuales y limitados Agente vs. Objeto (I) Agente como sucesor del paradigma de objetos (Jennings) Objeto: No tiene control sobre su estado interno. Objeto1.m1() m1 m2 mi : métodos Objeto2 Estado m3 Objeto1 9 Agente vs. Objeto (II) Parunak [PAAM’99]: Un agente es: Un Un Un Un objeto objeto objeto objeto con iniciativa. con actitud u orientación. que puede decir “No” (o “Adelante”). pro-activo. Wooldridge [Weiss 1999] “Los objetos lo hacen gratis, los agentes lo hacen por dinero” (objects do it for free, agents do it for money). Arquitecturas de Agente (I) Metodologías particulares para construir agentes. 1ª clasificación: Acceso a los sensores y actuadores de las capas de control: Ventaja: Paralelismo Inconv.: Inconv.: Alto conocim. conocim. de Control para coordinar 10 Arquitecturas de Agente (I) Metodologías particulares para construir agentes. 1ª clasificación: Acceso a los sensores y actuadores de las capas de control: Ventaja: Menor conocim. conocim. de Control Inconv.: Inconv.: Mayor complejidad en la capa que interactúa con los sensores Arquitecturas de Agente (II) 2ª Clasificación: Tipo de procesamiento Arqitecturas Basadas en la Lógica Arquitecturas Deliberativas Arquitecturas Reactivas Arquitecturas Híbridas 11 Arq. basada en lógica 9 9 Representación de el estado interno según un conjunto de sentencias lógicas de primero orden Reglas de deducción lógica para tomar decisiones Ventajas: • Representación clara y elegante Desventajas: • • Complejidad temporal elevada Difícil encontrar una representación simbólica para entidades y procesos del mundo real Arq. basada en lógica Sea L, un conjunto de sentencias lógica de primero orden. D, un conjunto de bases de datos de L. (D=P (L)). d, elementos de D. A, las posibles acciones de que el agente es capaz. a, elementos de A. Entonces las funciones que forman un agente son: Ver : S P Próximo : D x P D Acción : D A 12 Arq. basada en lógica Función Acción (d : D) : A 1. 2. 3. 4. 5. 6. 7. comienzo para cada a que pertenece a A hacer si d |--p Hacer(a) entonces devolver a para cada a que pertenece a A hacer si d |--p no Hacer(a) entonces devolver a devolver nulo fin Arq. basada en lógica Ciclo de funcionamiento: Ver(s) Ver(s), genera una percepción Próximo(ik , Ver(s)) Ver(s)), actualiza el estado interior del agente Acción(Próximo(ik , Ver(s))) Ver(s))), acción de actuar agente estado accion próximo ver entorno 13 Arquitecturas de Agente (III): Arquitecturas Deliberativas (I) Hipótesis de Símbolos Físicos [Newell y Simmons] + Planificador IA Estado inicial, operadores/planes, objetivo Arquitectura horizontal IRMA [Bratman 1987], GRATE* [Jennings 1993] Arquitecturas de Agente (III): Arquitecturas Deliberativas (II) Tipos: – Agentes Intencionales • Capaces de razonar sobre sus creencias e intenciones • Planificadores que incluyen creencias e intenciones en sus planes • Teoría de Agentes BDI: IRMA, PRS – Agentes Sociales 14 Arquitecturas de Agente (III): Arquitecturas Deliberativas (II) Tipos: – Agentes Intencionales – Agentes Sociales Dos grandes grupos: • Agentes intencionales + modelo explí explícito de otros agentes COSY, GRATE*, DADA-Soc • Aspectos cooperativos (cuá (cuándo, có cómo y con quié quién cooperar), sin modelar necesariamente las intenciones de los agentes Archon, Archon, Imagine, Coopera y MAST Arquitecturas de Agente (III): Arquitecturas Deliberativas(III) Son aquellas arquitectura que utilizan modelos de representación simbólica del conocimiento. Suelen estar basadas en la teoría clásica de planificación, donde existe un estado inicial de partida, un conjunto de planes y un estado objetivo a satisfacer. En estos sistemas parece aceptada la idea de que un agente contenga algún sistema de planificación que sea el encargado de determinar que paso debe de llevar a cabo para conseguir su objetivo. Por tanto un agente deliberativo (o con una arquitectura deliberativa) es aquel que contiene un modelo simbólico del mundo, explícitamente representado, en donde las decisiones se toman utilizando mecanismos de razonamiento lógico basados en la concordancia de patrones y la manipulación simbólica. 15 Arquitecturas de Agente (III): Arquitecturas Deliberativas(IV) Arquitectura B.D.I. : Creencias – B (Believes) Conocimiento del agente sobre el entorno Deseos – D (Desires) Metas del agente Intenciones – I (Intentions) ¾ ¾ ¾ Manejan y conducen a acciones dirigidas hacia las metas Persisten Influyen las creencias Arquitecturas de Agente (III): Arquitecturas Deliberativas(IV) Arquitectura B.D.I. : 9 Agentes audaces: - 9 No se paran para reconsiderar las intenciones Coste temporal y computacional bajo Adaptos para entornos que no cambian rápidamente Agentes cautos: - - Constantemente se paran para reconsiderar las intenciones Explotan nuevas posibilidades Adaptos para entornos que cambian rápidamente 16 Arquitecturas de Agente (III): Arquitecturas Deliberativas(IV) Arquitectura B.D.I. : Sean Bel, Des, Int, los conjuntos de las posibles creencias, deseos y intenciones El estado interno del agente una triple (B,D,I) Entonces las funciones: • Brf : P(Bel) x P P(Bel) • Opciones : P(Bel) x P(Int) P(Des) • Filtro : P(Bel) x P(Des) x P(Int) P(Int) • Ejecutar : P(Int) A Arquitecturas de Agente (III): Arquitecturas Deliberativas(IV) Arquitectura B.D.I. : Brf sensores entrada creencias Función Acción (p : P) : A comienzo B := Brf (B,p) D := Opciones (B, D) I := Filtro (B,D,I) devolver Ejecutar (I) fin Opciones deseos Filtro intenciones Acción acciónes salida 17 Arquitecturas de Agente (III): Arquitecturas Deliberativas(IV) Arquitectura B.D.I. : Ventajas Modelo Intuitivo Inconvenientes Difícil equilibrar una conducta del agente que tenga al mismo tiempo iniciativa y reactividad Arquitecturas de Agente (IV): Arquitecturas Reactivas (I) No incluye un modelo del mundo simbólico No usa razonamiento simbólico complejo. Modelo Estímulo – Respuesta Procesamiento Ascendente (bottom-up): Patrones que se activan bajo ciertas condiciones de los sensores y tienen un efecto directo en los actuadores Arquitecturas verticales Estí Estímulos externos procesados por capas especializadas que responden con acciones y pueden inhibir las capas inferiores 18 Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito Tareas Competitivas Redes Neuronales Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito Capa: red de topologí topología fija de má máquinas de estado finitas Tareas Competitivas Redes Neuronales 19 Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito Las capas mantienen una relació relación de inhibició inhibición sobre las capas inferiores (inhibir entradas de los sensores y acciones en los actuadores) actuadores) Tareas Competitivas Redes Neuronales Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito El control no es central, sino dirigido por los datos en cada capa Tareas Competitivas Redes Neuronales 20 Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito Tareas Competitivas Tarea a realizar de entre varias posibles: la que proporciona un nivel de activació activación mayor Redes Neuronales Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito Tareas Competitivas Aproximació Aproximación ecoló ecológica del problema de resolució resolución distribuida de problemas Redes Neuronales 21 Arquitecturas de Agente (IV): Arquitecturas Reactivas (II) Principales Arquitecturas Reactivas: Reglas Situadas Arquitecturas de Subsunción y autómatas de estado finito Tareas Competitivas El problema se resuelve sin comunicació comunicación entre los individuos, estableciendo un criterio de terminació terminación del problema Redes Neuronales Arquitecturas de Agente (IV): Arquitecturas Reactivas (III) Las arquitecturas reactivas, se caracterizan por no tener como elemento central de razonamiento un modelo simbólico y por no utilizar razonamiento simbólico complejo (Brooks, 1991). Un ejemplo típico de estas arquitecturas es la propuesta de Roodney Brooks, conocida como arquitectura de subsunción (Brooks, 1991). Esta arquitectura se basa en el hecho de que el comportamiento inteligente puede ser generado sin utilizar propuestas del modelo simbólico y en el hecho de que la inteligencia es una propiedad emergente de ciertos sistemas complejos. Las arquitecturas de subsunción manejan jerarquías de tareas que definen un comportamiento. Suelen estar organizados en jerarquías de capas, de menor a mayor nivel de abstracción. 22 Arquitecturas de Agente (IV): Arquitecturas Reactivas (III) Arquitectura de subsunción 9 9 9 La toma de decisiones de un agente esta realizada en base a un conjunto de tareas Muchas conductas pueden dispararse simultáneamente Conductas arregladas según una jerarquía Arquitecturas de Agente (IV): Arquitecturas Reactivas (III) Ventajas: Respuesta inmediata del agente No problema de la representación simbólica Inconvenientes: Difícil diseñar agentes puramente reactivos que puedan aprender de la experiencia Interacciones difíciles de entender en agentes con muchas conductas 23 Arquitecturas de Agente (IV): Arquitecturas Reactivas (IV) Sea c, un conjunto de percepciónes. a, una posible acción. (c,a), una conducta. R, un conjunto de conductas <r , relación binaria de inhibición en R x R Arquitecturas de Agente (IV): Arquitecturas Reactivas (IV) Función Acción (p : P) : A 1. 2. 3. 4. 5. 6. 7. 8. var conductas: P(R) comienzo conductas :={(c,a) | (c,a) ∈ R y p ∈ c} para cada (c,a) ∈ conductas hacer si ¬(∃(c1,a1)∈conductas | (c1,a1)<r (c,a)) entonces devolver a devolver nulo fin 24 Arquitecturas de Agente (V): Arquitecturas Híbridas (I) Agente formado por dos o más subsist.: Deliberativo: Deliberativo: • Modelo del mundo simbó simbólico • Determinar acciones a realizar para satisfacer los objetivos locales y cooperativos de los agentes – Reactivo: Reactivo: • Procesar los estí estímulos que no necesitan deliberació deliberación. Arquitecturas de Agente (V): Arquitecturas Híbridas (II) Para la construcción de agentes no es del todo acertado utilizar una arquitectura totalmente deliberativa, o totalmente reactiva, se han propuesto sistemas híbridos que pretenden combinar aspectos de ambos modelos. Agente compuesto de dos subsistemas: uno deliberativo, que utilice un modelo simbólico y que genere planes en el sentido expuesto anteriormente, y otro reactivo centrado en reaccionar a los eventos que tengan lugar en el entorno y que no requiera un mecanismo de razonamiento complejo. Estructuración por capas: verticalmente, sólo una capa tiene acceso a los sensores y actuadores. horizontalmente, todas las capas tienen acceso a los sensores y a los actuadores. 25 Arquitecturas de Agente (V): Arquitecturas Híbridas (II) Capas organizadas jerárquicam. con información sobre el entorno Diferentes niveles de abstracción: Reactivo: Reactivo Conocimiento: Conocimiento Nivel intermedio Se centra en el conocimiento que posee del medio Normalmente utiliza una representación simbólica del medio. Social: Social Nivel bajo Se toman decisiones en base a los datos recopilados por el agente. Nivel más alto Maneja aspectos sociales del entorno, incluyendo tanto información de otros agentes, como deseos, intenciones,etc. Comportamiento global del agente definido por la interacción entre estos niveles. Arquitecturas de Agente (V): Arquitecturas Híbridas (III) Arquitectura en Capas: Clase de arquitecturas divididas en subsistemas organizados en una jerarquía de capas que interaccionan Sistema Típico en dos capas: Capa para la conducta reactiva Capa para la iniciativa Tipos de Estructuras: Capas Horizontales Capas Verticales 26 Arquitecturas de Agente (V): Arquitecturas Híbridas (III) Arquitectura en Capas: Capas Horizontales: Horizontales Cada capa esta directamente conectada con los sensores y los actuadores Contribuye con sugerencias a la acción de actuar Función mediadora: Decide qué capa tiene el control del agente, Asegura la consistencia, Capa 1 Cuello de Botella Capa 2 percepción - acción Capa n Arquitecturas de Agente (V): Arquitecturas Híbridas (III) Arquitectura en Capas: Capas Verticales: Verticales Los sensores y los actuadores están conectados con una capa No tolerante a fallos Una pasada Dos pasadas percepción percepción acción acción 27 Arquitecturas de Agente (V): Arquitecturas Híbridas (III) Arquitectura en Capas: Ventajas: Ventajas Optima para equilibrar las diferentes conductas del agente (reactividad, iniciativa) Inconvenientes: Inconvenientes Falta de claridad Numero elevado de toda las posibles combinaciones de interacción entre las diferentes capas Arquitecturas de Agente (V): Arquitecturas Híbridas (III) Arquitectura en Capas Ejemplo: TOURINGMACHINES Tres capas horizontales mas un modulo de control Aspecto Social Entrada Sensorial Salida Acc Acción Capa de Modelado Subsistema de Percepción Capa de Planning Subsistema de Acción Capa Reactiva Control Framework Aspecto ProPro-activo Aspecto Reactivo 28 Arquitecturas de Agente (V): Arquitecturas Híbridas (IV) Arquitectura en Capas Ejemplo: TOURINGMACHINES Capa reactiva: respuestas mas o menos inmediatas a los ¾ cambios del entorno, implementada con reglas situaciónacción Capa de planificación: representa la iniciativa del agente, contiene librería de planes “esqueletos” de emparejar con las metas ¾ ¾ Capa de modelización: representa las entidades del entorno ¾ Sistema de control: decide qué capa tiene el control sobre el agente para evitar conflictos, implementado con reglas de control que pueden suprimir las entradas y inhibir las salidas Arquitecturas de Agente (V): Arquitecturas Híbridas (IV) Arquitectura en Capas Ejemplo: INTERRAP Tres capas verticales, cada capa tiene su base de conocimiento, dos pasadas Capa de cooperación Conocimiento social Capa de plan Conocimiento de planificación Capa de conducta Modelo del entorno percepción entrada Interface acción salida 29 Arquitecturas de Agente (V): Arquitecturas Híbridas (IV) Arquitectura en Capas Ejemplo: INTERRAP Conocimiento social: representa los planes y las acciones de otros agentes en el entorno Conocimiento de planificación: representa los planes y las acciones de el agente mismo Modelo del entorno: informaciones sobre el entorno Interacción entre las capas: Activación desde abajo hacia arriba Ejecución desde arriba hacia abajo Comunicación entre agentes Se presupone comunicación física y de protocolos básicos (p.ej. TCP/IP) Sintaxis: Estándar KQML Actos de habla (tell, ask deny, perform, …) Implementaciones (JAT, LALO, …) Semántica: KIF, Ontologías Clases estándares, reutilizar Ontolingua 30 Lenguajes de agentes AGENT0 Un agente esta especificado según: o Capacidades: lo que puede hacer el agente o Creencias iniciales: conocimiento de el agente o Encargos iniciales: tienen un rol semejante a las intenciones de la Arq. B.D.I. Cada regla de encargo tiene: • Condición de mensaje • Condición mental • acción Lenguajes de agentes AGENT0(2) Las acciones pueden ser • Privadas: ejecución de subrutinas interiores • Comunicativas: se ocupan de enviar mensajes Los mensajes posibles son • Petición y no petición: para pedir y retener acciones • Información: para difundir informaciones Ejemplo: COMMIT( (agent, REQUEST, DO(time, action)), (B,[now, Friend agent] AND CAN(self,action) AND NOT [time, CMT(self,anyaction)]), self, DO(time,action)) 31 Lenguajes de agentes METATEM Concurrente 9 9 9 9 Basado en la ejecución directa de formulas lógicas Contiene un numero de agentes en ejecución concurrente que se pasan mensajes de manera asincrona Cada agente tiene una especificación lógica temporal de su conducta de exhibir En base a formulas lógicas temporales pasadas determina formulas lógicas temporales futuras Lenguajes de agentes METATEM Concurrente(2) ¾ Ejemplo de control de recursos 1. 2. 3. 4. rc(ask)[give]: ask(x) give(x) (¬ask(x) OR (give(x) AND ¬ask(x)) give(x) AND give(y) (x=y) ¬give(x) 32 Cuestiones básicas para agentes Comunicación Cooperación Inteligencia Coordinación de agentes Roles, autoridad, jerarquía Expectativas, creencias Mercados, Contract Net Manejo de conflictos, negociación, argumentación. 33 Inteligencia ¿qué inteligencia? Deducción automática Planes de acción Teoría de juegos Modelación de otros Aprendizaje Aplicaciones de agentes Comercio electrónico Monitorización de vehículos, tráfico aéreo Fabricación inteligente Agentes mediadores de información Redes de cooperación Ing. De software 34 Conclusión Problemas grandes, distribuidos Ambientes abiertos y dinámicos Software flexible, interoperable, eficiente, mantenible, confiable, robusto, ... Hay un agente en su futuro... Bibliografía [Iglesias 1998] Iglesias Fernández, C. A.: Definición de una Metodología para el Desarrollo de Sistemas Multiagente. Tesis Doctoral. Departamento de Sistemas Telemáticos. Universidad Politécnica de Madrid. Enero 1998. [Wooldridge 1995b] Wooldridge, M. and Jennings, N. R. Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2):115–152, 1995. 35