Sistema multi-agente
Tomado de: http://es.wikipedia.org/wiki/Sistema_multi-agente
Un sistema multiagente (SMA) es un sistema compuesto por múltiples agentes inteligentes
que interactúan entre ellos. Los sistemas multiagente pueden ser
utilizados para resolver problemas que son difíciles o imposibles de
resolver para un agente individual o un sistema monolítico. Los ámbitos en los que la investigación de sistemas multiagente puede ofrecer un enfoque adecuado incluyen el comercio online, la respuesta a desastres y el modelado de estructuras sociales.
Información general
El dominio del sistema multiagente o de inteligencia artificial distribuida es una ciencia y una técnica que trata con los sistemas de inteligencia artificial en red.
El bloque fundamental de construcción de un sistema multiagente, como es de esperarse, son los agentes.
Aunque no existe una definición formal y precisa de lo que es un agente, éstos son por lo general vistos como entidades inteligentes, equivalentes en términos computacionales a un proceso del sistema operativo,
que existen dentro de cierto contexto o ambiente, y que se pueden
comunicar a través de un mecanismo de comunicación inter-proceso,
usualmente un sistema de red, utilizando protocolos de comunicación.
En cierto modo, un sistema multiagente es un sistema distribuido
en el cual los nodos o elementos son sistemas de inteligencia
artificial, o bien un sistema distribuido donde la conducta combinada de
dichos elementos produce un resultado en conjunto inteligente.
Hay que notar que los agentes no son necesariamente
inteligentes. Existen como en todo el resto del dominio de la
inteligencia artificial, dos enfoques para construir sistemas
multiagentes:
- El enfoque formal o clásico, que consiste en dotar de los agentes de la mayor inteligencia posible utilizando descripciones formales del problema que resolver y de hacer reposar el funcionamiento del sistema en tales capacidades cognitivas. Usualmente la inteligencia es definida utilizando un sistema formal (por ejemplo, sistemas de inferencia lógica) para la descripción, raciocinio, inferencia de nuevo conocimiento y planificación de acciones a realizar en el medio ambiente.
- El enfoque constructivista, que persigue la idea de brindarle inteligencia al conjunto de todos los agentes, para que a través de mecanismos ingeniosamente elaborados de interacción, el sistema mismo genere comportamiento inteligente que no necesariamente estaba planeado desde un principio o definido dentro de los agentes mismos (que pueden ser realmente simples). Este tipo de conducta es habitualmente llamado comportamiento emergente.
Características
Los agentes en un sistema multiagente tienen varias características importantes:
- Autonomía: los agentes son al menos parcialmente autónomos.
- Visión local: ningún agente tiene una visión global del sistema, o el sistema es demasiado complejo para un agente para hacer un uso práctico de esos conocimientos.
- Descentralización: no hay un agente de control designado (o el sistema se reduciría a un sistema monolítico)
Normalmente la investigación de sistemas multiagente se refiere a agentes de software. Sin embargo, los agentes en un sistema multiagente también podrían ser robots, seres humanos o equipos humanos.
Auto-organización y auto dirección
Los sistemas multiagente pueden manifestar autoorganización, así como auto-dirección y otros paradigmas de control y comportamientos complejos relacionados, incluso cuando las estrategias individuales de todos sus agentes son simples.
Cuando los agentes pueden compartir su conocimiento usando cualquier
lenguaje acordado, dentro de los límites del protocolo de comunicación
del sistema, el enfoque puede conducir a una mejora común. Ejemplo de
lenguajes son Knowledge Query and Manipulation Language (KQML) o Agent Communication Language (ACL) de la FIPA.
El estudio de sistemas multiagente
El estudio de los sistemas multiagente está "interesado en el desarrollo y análisis de resoluciones a problemas sofisticados de IA y arquitecturas de control tanto para sistemas con un único agente como sistemas multiagente”. Los temas de investigación en SMA’s son:
- ingeniería de software orientado a agentes
- creencias, deseos e intenciones (en inglés Beliefs, Desires and Intentions, BDI)
- cooperación y coordinación
- organización
- comunicación
- negociación
- resolución de problemas distribuída
- apredizaje de multiagentes
- comunidades científicas
- fiabilidad y tolerancia a fallos
Frameworks
Si bien sistemas multiagente ad hoc son a menudo creados desde cero por
investigadores y desarrolladores, algunos frameworks han surgido
aplicando estándares comunes (tales como las plataformas de sistemas de
agentes y lenguajes de comunicación de FIPA). Estos frameworks ahorran tiempo a los desarrolladores y también ayudan en la estandarización del desarrollo de SMA’s.
Desarrollo orientado a agentes
Como casi todo enfoque informático para la solución de problemas, los sistemas multiagentes proponen ayudas metodológicas de ingeniería de software, en este caso metodologías de ingeniería del software orientada a agentes
(en inglés AOSE, Agent Oriented Software Engineering) y notaciones. Es
decir, artefactos de desarrollo que son específicamente concebidos para
crear sistemas basados en agentes.
Ejemplos de metodologías y notaciones de ingeniería de software orientada a agentes, son:
- Vocales (Voyelles) de Yves Demazeau es una de las primeras propuestas en el área, y considera la concepción de sistemas multiagentes desde varios puntos de vista, correspondientes a las vocales: Agente, Entorno, Interacciones, y Organización.
- GAIA de Michael Wooldridge y Nick Jennings de la Univ. de Southampton, propone cómo realizar un análisis basado en roles del sistema multi-agente.
- MASE de Scott A. Deloach propone agentes como extensiones de objetos y proporciona la herramienta AgentTool para análisis, diseño e implementación.
- AgentUML de James Odell, propone una notación, extendiendo UML, para especificar protocolos de comunicación entre agentes.
- MADKiT es una herramienta de desarrollo, propuesta por Jacques Ferber, basada en el paradigma Agente-Role-Organización de la metodología Aalaadin.
- ADELFE del grupo IRIT de la Universidad de Toulouse, trata especialmente los temas de cooperación entre agentes.
- INGENIAS del grupo GRASIA de la UCM, extiende la metodología MESSAGE y proporciona un conjunto de herramientas para modelar y generar código de sistemas multiagente.
- Mas-CommonKADS de Carlos Iglesias en la UPM extiende la metodología CommonKADS, para sistemas expertos, a agentes, utilizando estructuración orientada a objetos y lenguajes de especificación de protocolos como SDL.
- SemanticAgent del grupo LIRIS de la Universidad de Lyon. Basada en el SWRL.
Aplicaciones en el mundo real
Los sistemas multiagente son aplicados en el mundo real a aplicaciones
gráficas como juegos de ordenador. Los sistemas de agente se han
utilizado en películas. También se utilizan para sistemas de defensa coordinados. Otras aplicaciones incluyen el transporte, la logística, los gráficos, sistemas de información geográfica, diagnóstico,
así como en muchos otros campos. Es una tecnología ampliamente
defendida para su uso en tecnologías de redes y móviles, para lograr el
equilibrio de carga automático y dinámico, alta escalabilidad, y redes
auto-sanadas.
[Todo lo anterior tomado de http://es.wikipedia.org/wiki/Sistema_multi-agente]
No hay comentarios:
Publicar un comentario