MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Inteligencia Artificial Distribuida Oportunidades y Desafíos Marin Lujak Centro para las Tecnologías Inteligentes de la Información y sus Aplicaciones CETINIA, URJC ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 1 Índice MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Introducción Agentes Inteligentes y los Sistemas Multiagente Metodologías para la IAD Técnicas de Coordinación en la IAD Cooperación y colaboración en la IAD Aplicaciones de la IAD a los problemas en el mundo real ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 2 Introducción a la IAD MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA IAD aparece en la década de los 80 como una nueva rama de la IA estudia sistemas inteligentes formados por un conjunto de varios agentes intenta resolver problemas donde una conducta colectiva es más eficiente que una conducta individual. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Introducción a la IAD MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA La IAD se centra en la resolución de problemas mediante aplicación tanto de técnicas de la Inteligencia Artificial como de múltiples solucionadores de sistemas. Los agentes funcionan como solucionadores de problemas, son autónomos o semi-autónomos, tienen un cierto conocimiento del problema y son razonables. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA ¿Por qué IAD? MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Cuando propuestas centralizadas para solucionar problemas mediante la IA se muestran insuficientes ante la aparición de múltiples agentes en un entorno social. En los problemas esencialmente distribuidos. En la integración de los sistemas de IA para mejorar la capacidad mediante la distribución del conocimiento. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA ¿Por qué IAD? MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Grandes desafíos para sistemas. desarrolladores de software: Sistemas adaptables a los Delegación – actuar de modo cambios en el ambiente. independiente. Inteligencia – actuar del modo que represente nuestros mejores intereses. Sistemas que actúen de un modo efectivo y eficiente. Sistemas con habilidad de cooperación y capaces de alcanzar consensos con otros ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Ventajas de la IAD MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Incremento de la flexibilidad: Se Reutilización: La solución permite la adición de nuevos presentada por un agente en un agentes. sistema puede ser incorporada a otro. Mejor seguridad y efectividad: Los agentes se pueden especializar en una tarea específica. Mejor tiempo de respuesta: Los agentes pueden resolver sus problemas particulares al mismo tiempo. Reducción de la complejidad: Una tarea puede ser descompuesta en varias sub-tareas. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes Software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA ¿Qué es un agente? RAE adj. Que obra o tiene virtud de obrar. adj. Gram. Dicho de una palabra o de una expresión: que designa a la persona, animal o cosa que realiza la acción del verbo. m. Persona o cosa que produce un efecto. m. Persona que obra con poder de otra. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes Software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Es una metáfora computacional propia de la IA Agente Inteligente: entidad computacional con autonomía: Reactividad: capacidad para responder a los cambios del entorno, Proactividad: capacidad de exhibir un comportamiento dirigido a cumplir sus objetivos, Sociabilidad: capacidad para comunicarse y colaborar con otros agentes. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes Software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Un agente: Percibe el entorno sensores Actúa en el entorno efectores Asigna percepciones a acciones Mide lo “bien” que lo ha hecho percibe Entorno actúa ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes artificiales MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Hardware (robots): Actúan directamente en el entorno físico Sensores: cámaras, odómetros, etc. Efectores: ruedas, brazos mecánicos, … Software Robots (softbots): Entornos virtuales (e.g. Internet) Sensores y efectores: dependientes del dominio ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Áreas relacionadas con los agentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Teoría Programación OO Sistemas distribuidos Economía Sociología Psicología Teoría de la decisión Biología … ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Áreas relacionadas con los agentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA En la práctica Internet Sistemas de Información E-Commerce Interfaces de usuario Transporte Redes Inteligentes, energía Robótica y producción Simulación de sistemas Juegos … ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Definiciones de agente software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Houston, we’ve got a problem!!! No hay definición universalmente aceptada Literatura: depende del dominio, del autor, … Terminología diversa para referirse a lo mismo ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Definiciones de agente software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Definición de agente [Russell & Norvig, 1995] “Dada una sucesión de percepciones, un agente racional ideal debe realizar una acción que maximice la medida de éxito a partir de la base de evidencias que obtiene de dicha sucesión de percepciones y junto con el conocimiento que posee.” Esta definición solo dice lo que el agente debe hacer. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Definiciones de agente software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA The Franklin & Graesser Agent [Franklin & Graesser, 95] “Un agente autónomo es un sistema situado dentro de un entorno, percibe dicho entorno y actúa sobre él, a lo largo del tiempo, en busca de cumplir sus objetivos y, por tanto, para llevar a cabo lo que percibe en el futuro” ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes inteligentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Comportamiento racional Los agentes inteligentes interactúan racionalmente con su entorno Secuencia de percepciones hasta el momento actual + conocimiento a priori sobre el entorno Seleccionan la acción que les reporta mayor utilidad Racionalidad Omnisciencia Autonomía Al comienzo “sólo” la inteligencia del diseñador Un agente es más autónomo cuanto… … más experiencia tiene y más guía ésta su comportamiento … menos depende de su comportamiento a priori Agente Inteligente = Comportamiento Racional+Autonomía ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes Inteligentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Objetivos: un agente puede mostrar un comportamiento proactivo Concurrencia: un agente tiene su propio thread Agentes autónomos vs. objetos activos Objetos Activos Controlan su estado, pero no su comportamiento Si un método es público, será ejecutado si es invocado La decisión está en el objeto que invoca (no en el invocado) Agentes Controlan su estado y su comportamiento Pueden rechazar la ejecución de una acción La decisión de realizar una acción está en el agente y está basada en sus intereses (racionalidad!!!) ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes Inteligentes vs. Objetos MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Agentes y objetos están relacionados: En sistemas cerrados proporcionan un nivel más alto de abstracción en análisis, diseño e implementación En sistemas abiertos el concepto de autonomía es relevante Pero… Programamos agentes usando lenguajes de OO Varios agentes interactuando entre sí y con el mismo entorno Las acciones de un agente influencian las acciones del resto (utilidad individual) Autonomía: un agente NO puede controlar las acciones de los otros Racionalidad: un agente SÍ puede predecir las acciones de los otros ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Características deseables de un Agente de Software MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Autonomía: Agentes operan sin la intervención de humanos. Racionalidad: Un agente intenta cumplir sus objetivos si son viables. Iniciativa (proactividad): Los agentes tienen un carácter emprendedor y pueden actuar guiados por sus objetivos. Veracidad: Un agente siempre dice la verdad. Benevolencia: Un agente ayuda a otros agentes, si al hacerlo no genera conflictos con sus propios objetivos. Sociabilidad: Los agentes son capaces de interactuar con otros agentes (humanos o no) a través de un lenguaje de comunicación de agentes. Reactividad: Los agentes son capaces de percibir estímulos de su entorno y de reaccionar ante dichos estímulos. Movilidad: Capacidad de un agente de trasladarse a través de la red. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Tipologias de Agentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Agentes Reactivos Son los más simples en estructura interna. Reaccionan inmediatamente a través de una acción sencilla cuando alguna condición se cumple, al recibir un estímulo de su entorno. Económicos en conocimiento. Comportamientos emergentes de grupo, los cuales no estaban predefinidos inicialmente, se producen al poner a trabajar un sistema con agentes de este tipo. Agentes Cognitivos o Deliberativos Poseen una estructura compleja que incluye los componentes que forman su estado mental, como son: creencias, conocimiento, comunicación, control y su funcionalidad. Se encargan de negociar y planificar sus acciones para luego lograr la comunicación con otros agentes ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Tipos de sistemas multi-agente MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Solución de Problemas Distribuidos DPS el problema se divide entre los nodos que conforman el conjunto de agentes, agentes cooperan y comparten conocimiento sobre el problema y la solución desarrollada, todos los agentes tienen conocimiento homogéneo y completo del problema así como de la solución, están interconectados y el desarrollo de la solución se obtiene a partir de una secuencia de operaciones. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Tipos de sistemas multi-agente MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Sistemas Multi-Agente la conducta inteligente de agentes autónomos. Estos agentes hacen parte de una colección y pueden coordinar su conocimiento, objetivos, habilidades y planes juntamente para tomar una acción o resolver una meta global, pueden tener conocimiento parcial sobre el problema y las soluciones. En estos sistemas debe haber un proceso de racionalización para la coordinación del conjunto de agentes. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Sistemas Multiagente, ¿algo nuevo? MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA ¿No es lo mismo que Sistemas Distribuidos/Ingeniería del SW? Sí, pero añadiendo autonomía + racionalidad Coordinación no precompilada No hay asunción de benevolencia ¿No es lo mismo que Sistemas Expertos/Inteligencia Artificial? Sí, pero añadiendo interoperatividad + sociabilidad Percepción, planificación, razonamiento, aprendizaje, … Interacciones sociales: Negociación, Compromisos, Trust ¿No es lo mismo que Economía/Teoría de Juegos? Sí, pero añadiendo computación y racionalidad limitada ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Cooperación MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA El objetivo de la cooperación es mejorar el modo de trabajo de los agentes. Las formas de cooperación entre agentes, las cuales dependen del contexto de resolución de problemas y del dominio de aplicación son: Estructura organizacional, Planificación, Negociación, Intercambio de resultados intermedios, etc. Cooperación vs. Colaboración Cooperación: la actuación conjunta facilita los objetivos diferentes pero compatibles de los actores Colaboración: realización conjunta de un trabajo o tarea ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Organización Social de los SMA MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Sistema Jerárquico Sistema en Red Sistema Federado Sistema Jerárquico Sistema Distribuido Sistema Descentralizado … Sistema en Red Sistema Federado ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 26 La coordinación en los SMA: dos perspectivas MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Interés del diseñador en la coordinación Diseño a nivel micro Diseño macro Diseñoa nivel a nivel macro – construir sistemas de múltiples agentes con características deseadas Varios diseñadores de agentes “La coordinación es la integración y el ajuste del trabajo individual con el fin de alcanzar una meta mayor” (B. Singh) Un diseñador de agentes Un diseñador de agentes – agentes benévolos – diseñar todo un sistema de resolución de problemas ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Coordinación a nivel macro: resolución distribuida de problemas MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA • Ejemplo: Gestión de tráfico rodado – red de autopistas urbanas – Construir un sistema que genere planes de señalización en función del estado del tráfico 28 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Coordinación a nivel macro: resolución distribuida de problemas MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Arquitectura multiagente para STI agentes de resolución de problemas cada agente es responsable de un área del problema genera planes alternativos de señalización local y los comunica al agente coordinador agente coordinador resuelve las interdependencias entre los planes locales envía los planes locales adaptados a los agentes para su ejecución ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Comunicación entre agentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA La comunicación entre agentes es la llave para obtener todo el potencial del paradigma de agentes Al igual que el desarrollo del lenguaje humano fue la llave para el desarrollo de la inteligencia y de la sociedad Los agentes emplean un lenguaje de comunicación (ACL – Agent Communication Language) para comunicar información y conocimiento ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Comunicación entre agentes MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Distintas formas de interaccionar: Sistemas de pizarra Zona de trabajo común en la que se encuentra la información a compartir No hay comunicación directa entre los agentes Pueden existir agentes con tareas de control específicas Pueden existir varias pizarras Inconveniente: comunicación centralizada Paso de Mensajes La comunicación se establece directamente entre dos agentes (emisor y receptor) Pueden existir agentes facilitadores Ventaja: flexibilidad Comunicación mediante el entorno Sin comunicación (inferencia; teoría de juegos). ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Sistemas Multiagente y Simulación MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA SMAs: una forma conveniente para la comprensión, modelado, diseño e implementación de diferentes tipos de sistemas distribuidos. En contextos en los que un control global es difícil o imposible de lograr. La representación y simulación de sistemas del mundo real o virtual que pueden ser descompuestos en unidades menores que interactúan. 32 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Modelado y Simulación para el MAS: MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Simulación de sistemas complejos usado principalmente para modelos de población, tráfico, y corporaciones. Un ejemplo histórico es el modelo determinista continuo propuesto por Volterra para representar la dinámica de poblaciones de dos especies animales (presas y depredadores). ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Simulación de animales artificiales: Los Boids de Reynolds (1987) MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Precursor de SMAs: simulación del comportamiento de manadas, reynolds. El objetivo de Reynolds era lograr una animación creíble de una bandada de pájaros artificiales (boids). Reynolds se inspiró en dos corrientes de investigación: Los sistemas de partículas y El paradigma de actor. 34 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Simulación de animales artificiales: Los Boids de Reynolds MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA El comportamiento de los boids debía estar influenciado por los demás para agruparse de manera coherente. Reynolds utilizó la abstracción de "actor" para definir el comportamiento de los boids tal y como interactúan en su manada. El impacto de los boids de Reynolds en la comunidad de agentes reactivos aún puede ser percibido hoy en día en campos como la robótica móvil y la simulación de multitudes humanas. 35 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Simulación de animales artificiales: Los Boids de Reynolds MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Un ejemplo famoso de aplicación es el uso del software TM MASSIVE de Weta Digital para los efectos especiales visuales de películas como El Señor de los anillos, en los que hay grandes escenas de batalla). https://www.youtube.com/watch?v=j6_vPW2-UTk Comportamento emergente de la multitud: https://www.youtube.com/watch?v=I09heZbBcys https://www.youtube.com/watch?v=pmwwxX22eDg 36 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Colonias de Hormigas MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA En los boids, el medio ambiente no juega ningún papel en la interacción entre los agentes. Las colonias de hormigas exhiben muchas características que se esperan de los SMA: la auto-organización, auto-adaptación, robustez, propiedades emergentes, etc. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 37 Colonias de Hormigas: Feromonas MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Uso de feromonas (marcadores químicos evaporables) para comunicarse y coordinarse indirectamente a través del medio ambiente. Las feromonas se evaporan, por lo que el sistema puede olvidar la información obsoleta; Este poderoso mecanismo ha sido traducido con éxito en programas de ordenador y simulaciones, definiendo de este modo el concepto de feromonas 38 digitales que se ha utilizado en numerosos trabajos. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Colonias de Hormigas MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA https://www.youtube.com/watch?v=eVKAIufS rHs En Matlab: https://www.youtube.com/watch?v=wrloH6FCo Eg Introducción a las colonias de hormigas en ingles: https://www.youtube.com/watch?v=vGQZOTc5_Q ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Sistemas Multiagente: Aplicaciones MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Control aéreo, Sistemas de transporte de empresas, Simulación de sistemas complejos, Control industrial, Comercio electrónico, Servicios Web (semánticos), Personalización de servicios, Exploración especial, Computación P2P. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Agentes robóticos autónomos MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Competición Robocup 41 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Aplicaciones MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Sistemas de robots múltiples KUKA youBot - Autonomous collecting of cubes Robots industriales sincronizados, KUKA RoboTeam Sistemas de Fabricación Flexible (FMS) Sistema de fabricación flexible para el montaje de rodamientos en las conchas. FMS-200 Flexible Manufacturing System ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Aplicaciones MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Sistemas Inteligentes de Transporte Comunicación V2V Autonomous Car Fleets Sistemas de Fabricación Flexible (FMS) Sistema de fabricación flexible para el montaje de rodamientos en las conchas. FMS-200 Flexible Manufacturing System ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Bibliografía MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA Franklin S.; Graesser A.: “Is It an Agent, or Just a Program?: A Taxonomy for Autonomous Agents” in Proceedings of the Workshop on Intelligent Agents III, Agent Theories, Architectures, and Languages (ATAL’96). Springer-Verlag. Págs. 21-35. Russell, S.; Norvig, P.: “Artificial Intelligence: A Modern Approach (2nd ed.)”. Prentice Hall, 2003. Chapter 2. Wooldridge, M.: “An Introduction to Multiagent Systems”, Wiley, 2002. Chapters 1 and 2. Ossowski, S.: “Coordination in Artificial Agent Societies”. Springer, 1999. Chapter 1. Bratman, M. E., Israel, D., and Pollack, M., Plans and Resource-bounded Practical Reasoning, Journal of Computational Intelligence, vol. 4, no. 4, pp. 349-355, 1988. Brenner, W., Zarnekow, R. Wittig, H. Intelligent Software Agents. Springer, 1998. Brooks, R.A., Intelligence without representation. Artificial Intelligence, 47, 1991. Carver, N. and Lesser, V. R.:The Evolution of Blackboard Control Architectures. Informe. Department of Computer Science, University Massachusetts. 1992 Ferber, J. Multiagent systems : an introduction to distributed artificial intelligence, Addison-Wesley, 1999. Genesereth, M.R., Ketchpel, S.P. Software Agents. CACM, 37, 7, 1994 Jennings, N.R., On agent-based software engineering. Artificial Intelligence, 117, 2000. Müller, J.P., The design of intelligent agents: a layered approach. Lecture Notes in Computer Science, Vol.1177, SpringerVerlag, 1996 Shoham, Y. Agent-oriented programming. Artificial Intelligence, 60, 1993. Sycara K.P. Multiagent Systems. AI Magazine, Summer 1998. Weiss, G. Multiagent Systems. The MIT Press, 1999. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA