03 junio 2013

Interacción entre agentes

Los lenguajes de comunicación entre agentes constituyen efectivos mecanismos para comunicar un mensaje. El siguiente nivel de abstracción en la interacción entre agentes abarca el dialogo resultante del intercambio de una secuencia de mensajes individuales. El concepto resultante de dialogo permite focalizar la atención en formas más elaboradas de interacción, tales como la coordinación, la cooperación o la negociación entre agentes. En lo que respecta a la coordinación, resulta un concepto recurrente en la mayoría de los sistemas multiagente, debido principalmente a dos razones: en primer lugar cada agente cuenta solo con una visión parcial del estado de las cosas, y por otra parte es posible que sus propias acciones interfieran con las acciones de los otros agentes. El no contar con alguna forma de coordinación entre los agentes del sistema puede dar a lugar a comportamientos caóticos, donde las acciones de uno pueden interferir las de otro. En la literatura, Nick Jennings, en el capitulo escrito el año 1996 titulado “Técnicas de coordinación para la inteligencia artificial distribuida” define a la coordinación como el proceso mediante el cual un agente razona sobre sus acciones locales y sobre las acciones anticipadas de otros agentes, con el objeto de lograr que la comunidad actúe de forma coherente. Lesser y Corkill proponen otra forma de caracterizar a esta noción, en el artículo escrito el año 1983 titulado “Uso de control de meta nivel para la coordinación en una red de solución de problemas distribuidos”, en esta ocasión en base a sus efectos, señalando que todo sistema que presenta un comportamiento coordinado manifiesta las siguientes características: (1) Cada una de las subtareas requeridas para solucionar el problema original pueden ser llevadas adelante por alguno de los agentes. (2) Las soluciones parciales de cada agente pueden integrarse para formar la solución global del problema. (3) Los agentes tienen un propósito conciso. (4) Todas estas metas son alcanzables dentro de las limitaciones computacionales y de recursos existentes en el sistema.

La forma más evidente de que el sistema presente estas características sería designar un agente que actúe como controlador central, recopilando información de todos los agentes del sistema, formulando los planes y asignando las subtareas. Sin embargo, en la mayoría de los escenarios concretos no resulta factible implementar este modelo de toma de decisiones centralizado. En cierto sentido, las mismas razones expuestas en desmedro de los sistemas centralizados se pueden aplicar a los sistemas multiagente que centralizan excesivamente el control o la toma de decisiones. Esta objeción fue abordada inicialmente por Thomas Malone, en el artículo escrito el año 1990 titulado “Organización de los sistemas de proceso de la información: Paralelismo entre organizaciones humanas y sistemas computacionales”, donde plantea que es posible construir sistemas coordinados que no dependan de un controlador central. Esta propuesta gira en torno a tres principios fundamentales: (1) Ajuste mutuo. Es una forma de coordinación que ocurre cuando dos agentes comparten recursos para alcanzar un objetivo común. (2) Supervisión directa. Se distingue porque uno o más agentes establecen una relación en la cual un individuo tiene control sobre los demás, administrando además los recursos compartidos. (3) Estandarización. Este tipo de coordinación puede verse en realidad como una forma especial de control que ejerce un agente supervisor, estableciendo un conjunto de procedimientos genéricos que los subordinados deben seguir ante determinadas situaciones.

La cooperación entre agentes es esencialmente una forma refinada de coordinación, que tiene lugar entre individuos con objetivos en común. Naturalmente, el desarrollar sistemas eficientes en los cuales sus agentes puedan cooperar en pos de una cierta meta es uno de los objetivos centrales de la investigación en sistemas multiagente. Moulin y Chaib-draa sintetizan de forma acabada, en el capitulo escrito el año 1996 titulado “Una vista de la inteligencia artificial distribuida”, lo que se puede esperar al dotar a un sistema de un adecuado mecanismo de cooperación: Incrementar la cantidad de tareas resueltas a través del incremento del paralelismo de tareas, incrementar el conjunto de tareas que se pueden realizar al combinar capacidades individuales, sumar experiencias, etc., incrementar la probabilidad de que una tarea se lleve adelante asignando la misma tarea a más de un agente, y además decrementar la interferencia entre las distintas tareas, evitando las interacciones problemáticas. Cuando un conjunto de agentes con la intención de cooperar entre sí coordinan sus comportamientos, se torna esencial preservar la coherencia del sistema, cuidando de no avasallar la autonomía de sus agentes. A tal efecto, durante la etapa de diseño se debe hacer hincapié en aquellas metas comunes a varios agentes, identificando cuales son las tareas que deben ser llevadas a cabo en forma grupal. Toda vez que el dominio de aplicación así lo permita, los agentes deben maximizar la información compartida con sus pares, evitando de esta forma conflictos no relacionados con cuestiones de fondo.

No hay comentarios:

Publicar un comentario