Universidad de Málaga Proyecto DAMMAD, Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión, TIC2000-1370-C04-02 Informe Técnico: MODELOS DE COORDINACIÓN INTELIGENCIA ARTIFICIAL DISTRIBUIDA PARA Junio, 2001. Universidad de Málaga Indice 1 Introducción 2 Mecanismos de Cooperación: Interacciones Multi-Agente Cooperativas 2.1 Características 2.2 Técnicas de Coordinación 2.2.1 Estructuras Organizacionales 2.2.2 Planificación Multi-Agente 2.2.2.1 Planificación Multi-agente en Entornos Estáticos 2.2.2.2 Planificación Multi-Agente en Entornos Dinámicos 2.2.2.3 Planificación en Equipo 2.2.3 Redes de Contratos 2.2.4 Cooperación Funcionalmente Exacta 3 Mecanismos de Negociación: Interacciones Multi-Agente Autointeresadas 3.1 Características 3.2 Técnicas de Coordinación 3.2.1 Mecanismos de Mercado 3.2.2 Teoría del Regateo 3.2.2.1 Teoría del Regateo Axiomática 3.2.2.2 Teoría del Regateo Estratégica 3.2.3 Formación de Coaliciones 3.2.3.1 Generación de la Estructura de Coaliciones 3.2.3.2 Resolución del Problema de Optimización de cada Coalición 3.2.3.3 División de Pagos 3.2.4 Votación 3.2.5 Subastas 3.2.5.1 Tipos de Subastas 3.2.5.2 Protocolos de Subastas 3.2.5.3 Eficiencia de la Asignación Resultante 3.2.6 Asignación de Tareas entre Dos Agentes 4 Selección en Tiempo de Ejecución de los Mecanismos de Coordinación 5 Soporte Operacional para los Mecanismos de Coordinación 5.1 Agentes Intermediarios 5.2 Lenguajes de Comunicación de Agentes 6 Referencias 1 2 4 4 4 6 8 9 9 11 12 14 14 14 15 17 18 18 21 23 24 24 24 26 29 29 29 31 32 34 37 37 38 39 Universidad de Málaga 1 Introducción La coordinación es tal vez uno de los problemas clave en Inteligencia Artificial Distribuida (IAD). Se denomina así al proceso por el cual un agente razona acerca de sus acciones locales y las acciones (anticipadas) de los otros, en un intento de asegurar una comunicación que permita a los agentes llevar a cabo sus acciones y comportamientos de forma coherente. Una coordinación efectiva es esencial si diferentes agentes autónomos quieren alcanzar sus objetivos dentro de un Sistema Multi-Agente (SMA). Dicha coordinación requiere gestionar las diferentes formas de dependencia que se producen cuando los agentes tienen: 1) objetivos inter-enlazados, 2) comparten un entorno común, ó 3) hay recursos compartidos [Bourne et al, 2000]. Lógicamente, y con el fin de alcanzar dicha coordinación se han desarrollado hasta la fecha una gran diversidad de mecanismos. Quizás antes de pasar a enumerarlos, sería interesante analizar las teorías y principios que guían esta actividad, y que nos van a permitir obtener una mejor comprensión de los mismos, así como una visión de conjunto. En la literatura de los SMA podemos encontrar diferentes análisis que modelan el problema de la coordinación de formas distintas. A continuación mostramos los tres enfoques que nos han parecido más interesantes, y han sido más ampliamente aceptados en esta comunidad. Compromisos y Convenciones [Jennings, 96]. Jennings modela las comunidades de agentes usando un formalismo de búsqueda de objetivos distribuida, y argumenta que los compromisos (promesa de acometer un curso de acción específica) y las convenciones (medios de gestionar los compromisos en circunstancias cambiantes) son las bases de la coordinación en todos los sistemas de IAD. De alguna manera los compromisos proporcionan la estructura necesaria para las interacciones predecibles, las convenciones proporcionan la flexibilidad necesaria para operar en entornos dinámicos, y las convenciones sociales proporcionan un grado de soporte mutuo entre ambas (los agentes necesitan convenciones sociales que especifiquen cómo comportarse con respecto a los otros miembros de la comunidad cuando se alteran sus compromisos). Según este análisis la mayoría de los mecanismos de coordinación pueden ser reformulados en términos de compromisos y convenciones. Jennings [Jennings, 96] clasifica dichos mecanismos en tres grupos: 1) estructuras organizacionales o reglas (convenciones) a largo plazo que prescriben cómo se han de comportar los agentes en una sociedad [Shoham, 92], 2) intercambio de información a un meta-nivel o convenciones a medio plazo que permiten asegurar la coordinación sobre un rango de actividades en un horizonte temporal de medio plazo, tales como la Planificación Global Parcial [Durfee et al., 91], y 3) protocolos de un intento o convenciones a corto plazo, que coordinan las actividades entre agentes en un corto horizonte temporal con el objetivo de acometer una tarea específica. Coordinación Práctica [Durffe, 99]. En segundo lugar, Durfee considera la coordinación como el proceso por el cual un agente tiene en cuenta las posibles acciones de los restantes agentes. De este modo el resultado de las acciones de un agente dependería del conocimiento que éste tuviera acerca de las posible acciones de los otros agentes. Para anticipar las acciones de los restantes agentes del sistema éste necesitaría 2 Universidad de Málaga modelos anidados de cómo ellos ven la situación [Gmytrasiewicz et al., 95], de cómo piensan ellos que los otros ven su situación, de cómo ellos piensan que los otros piensan que los otros ven la situación, y así sucesivamente. Por este motivo considerar “todo” el conocimiento que un agente podría necesitar para anticipar las acciones de los restantes, puede ser computacionalmente intratable en la mayoría de las aplicaciones. Hacer este conocimiento tratable consiste en limitar el número de modelos anidados sobre los que razonar, y decrementar el número de combinaciones de acciones que un agente debe considerar. O lo que es lo mismo hacer la coordinación “práctica” consiste en encontrar formas de no usar parte de todo el conocimiento que un agente podría tener, y mantener ciertos grados de “ignorancia” acerca de la situación multi-agente. De acuerdo con esta propuesta Durfee [Durfee, 99] analiza una gran cantidad de mecanismos de coordinación, desde el punto de vista de las distintas formas que los diseñadores han encontrado para ignorar, simplificar o diseñar implícitamente modelos de agentes que permitan una coordinación “práctica”. Cooperación versus Negociación [Huhns et al., 99]. Finalmente, y en tercer lugar, Huhns y Stephens definen la coordinación como una propiedad de un sistema de agentes que llevan a cabo alguna actividad en un entorno compartido. Para coordinarse con éxito cada agente debe mantener un modelo de los otros agentes, desarrollar un modelo de las interacciones futuras, y mantener una coherencia global del sistema sin un control global explícito. Para ello los agentes deben ser capaces de determinar los objetivos que comparten con los restantes agentes, determinar tareas comunes, evitar conflictos innecesarios y aunar conocimiento. Huhns y Stephens dividen los mecanismos de coordinación entre agentes en dos grupos: cooperación y negociación. La cooperación es la coordinación entre agentes no antagonistas, y la negociación es la coordinación entre agentes auto-interesados o simplemente competitivos. Lógicamente es la comunicación la que posibilita a los agentes coordinar sus acciones y comportamiento, y obtener como resultado sistemas más coherentes. Los protocolos de interacción gobiernan el intercambio o la comunicación de una serie de mensajes entre agentes (una conversación). En aquellos casos en los que los agentes son auto-interesados o tienen objetivos conflictivos negociación- el principal objetivo de los protocolos es maximizar los pagos o utilidades de los agentes. En aquellos casos en los que los agentes tienen similares objetivos o problemas comunes –cooperación-, como en la Resolución de Problemas Distribuida (RPD), el objetivo de los protocolos es mantener un comportamiento de los agentes globalmente coherente sin violar su autonomía, e.d. sin un control global explícito. Cualquiera de los anteriores análisis nos parece igualmente válido para describir de una forma detallada los modelos de coordinación más conocidos. Sin embargo, hemos seleccionado la tercera aproximación por ser quizás la más común y conocida. A continuación pasamos a enumerar algunos de los mecanismos de coordinación más relevantes de acuerdo con la división anterior de los mismos en: Mecanismos de Cooperación -interacciones multi-agente cooperativas-, y Mecanismo de Negociación interacciones multi-agente auto-interesadas-. 3 Universidad de Málaga -Mecanismos de Cooperación Estructuras Organizacionales Planificación Multi-agente (Centralizada y Distribuida) Redes de Contratos Cooperación Funcionalmente exacta -Mecanismos de Negociación Formación de Coaliciones Mecanismos de Mercado Teoría del Regateo Votación Subastas Asignación de Tareas entre dos Agentes En el punto 2 del resumen daremos una descripción detallada de los mecanismos de cooperación y en el punto 3 de los mecanismos de negociación, así como de los trabajos más representativos de dichos modelos. Todos los mecanismos anteriores tienen diferentes propiedades y características que los hacen adecuados a diferentes tipos de tareas y entornos. En todos ellos la elección del modelo de coordinación es algo que el diseñador impone al sistema en tiempo de diseño. Aunque esto puede ser suficiente para entornos estables y predecibles, puede ser inapropiado para contextos dinámicos y abiertos. Investigaciones recientes [Bourne et al., 2000] apuntan que en tales entornos puede ser útil que los agentes tengan una variedad de mecanismos de coordinación, y que seleccionen en tiempo de ejecución aquel que les parezca más apropiado para la tarea o el problema actual. En estas situaciones el objetivo sería desarrollar agentes que puedan razonar acerca del proceso de coordinación, y puedan seleccionar mecanismos que sean adecuados a la actual situación. En el punto 4 del resumen analizamos en profundidad esta reciente propuesta. Finalmente, hemos de tener en cuenta que en entornos abiertos y dinámicos formados por agentes heterogéneos, como Internet, es necesario tener en cuenta aspectos adicionales que permitan a los agentes interoperar, y así incrementar su capacidad de resolución de problemas mediante una coordinación efectiva. En éste tipo de entornos aquellos agentes heterogéneos que deseen coordinarse entre ellos han de enfrentarse a dos inconvenientes: primero, cada uno de ellos debe ser capaz de localizar a los otros (en entornos abiertos los agentes pueden aparecer y desparecer de forma impredecible), y segundo, deben ser capaces de interoperar. Una propuesta de solución al problema son los Agentes Intermediarios (Middle Agents) [Decker et al., 97]. De esta forma cuando un nuevo agente llega al sistema “anuncia” sus capacidades a un agente intermediario. De este modo un agente que busque a otro que posea una capacidad particular puede cuestionar a dicho agente intermediario. En el punto 5 del resumen explicamos esta propuesta, y enumeramos las características y tipos de agentes intermediarios. En el punto 6 del resumen, y para terminar, mostramos las referencias incluidas en el documento. 4 Universidad de Málaga 2 Mecanismos de Cooperación: Interacciones Multi-Agente Cooperativas 2.1. Características Los mecanismos de cooperación estudian cómo un grupo de agentes inteligentes (especialistas, expertos, fuentes de conocimiento o resolvedores de problemas son términos equivalentes) pueden compartir sus recursos y coordinar sus actividades de forma que la “capacidad” del grupo sea mayor que la suma de las “capacidades” de los agentes individuales (capacidad en el sentido de inteligencia). Los mecanismos de coordinación cooperativos asumen que los agentes tienen objetivos comunes y por tanto “cooperan”. Términos como RPD (Resolución de Problemas Distribuida), o antiguamente RPDC (Resolución de Problemas Distribuida Cooperativa) han sido utilizados para denominar este tipo de sistemas. A continuación enumeramos las características que los agentes pertenecientes a un sistema deberían mostrar [Durfee et al., 94], para que dicho sistema sea incluido dentro de la categoría anterior: Benevolencia: el término benevolencia significa que los agentes quieren ayudarse los uno a los otros siempre que esto sea posible. Todo ello sin pagos o cualquier otro tipo de incentivo o compensación. Objetivos comunes: una motivación para la benevolencia se debe al hecho de que los agentes están seguros de que persiguen un objetivo común. En este caso todos los agentes intentan maximizar la misma función de utilidad global. Agentes homogéneos: entendemos por agentes homogéneos aquellos que no persiguen objetivos conflictivos, y que además no usan diferentes mecanismos de representación del conocimiento o de comunicación. El principal problema que afrontan los mecanismos de cooperación es cómo coordinar las actividades de resolución de problemas de los agentes con el objetivo de llevar a cabo la tarea/s del sistema, teniendo en cuenta que la cantidad de información que puede ser intercambiada entre los agentes está limitada. Cuestiones como qué agentes deben llevar a cabo qué tarea, qué resultados parciales se deberían intercambiar o qué comunicaciones se deberían establecer son puntos importantes a resolver 2.2 Técnicas de Coordinación Una estrategia básica compartida por muchos protocolos de cooperación consiste en descomponer y a continuación distribuir tareas, con el objetivo de reducir la complejidad de la tarea global. El sistema debe decidir entre descomposiciones alternativas, si las hay, así como considerar los recursos y capacidades de los agentes de modo que se eviten conflictos entre éstos. La distribución de tareas puede hacerse de acuerdo con los siguientes criterios [Durfee et al., 87]: 1. Evitar sobrecarga de recursos críticos 2. Asignar tareas a agentes con capacidades que se corresponden con las mismas 3. Encargar a un agente con mayor grado de conocimiento global la asignación de tareas a otros agentes 4. Asignar responsabilidades solapadas a distintos agentes para alcanzar coherencia 5 Universidad de Málaga 5. Asignar tareas altamente interdependientes a agentes con proximidad semántica o espacial. Esto minimizará los costes de comunicación y sincronización. 6. Reasignar tareas, si es necesario, para completar tareas urgentes. Los siguientes mecanismos de interacción o protocolos cooperativos son comúnmente usados para distribuir tareas entre agentes cooperativos: Estructuras Organizacionales: los agentes tienen responsabilidades fijas para tareas particulares Planificación Multi-agente: los agentes de planificación tienen la responsabilidad de asignar tareas Redes de Contratos: ciclos de anuncios, ofertas, y adjudicaciones Cooperación Funcionalmente Exacta: los agentes interactuan a través del intercambio asíncrono de resultados parciales A continuación analizamos las principales características de los mecanismos anteriores, así como los trabajos más representativos de los mismos. 2.2.1 Estructuras Organizacionales Una estructura organizacional define roles, responsabilidades, y preferencias para los agentes dentro de una sociedad cooperativa, así cómo las relaciones de control y comunicación entre ellos [Singh, 90] [Werner, 89] [Gasser, 92]. Desde un punto de vista global, la estructura organizacional asocia a cada agente los tipos de tareas que éste puede hacer, así como cierta prioridad sobre algunos de estos tipos de tareas que se consideren más importantes en relación con su rol organizacional. Esta priorización permite a la estructura solapar responsabilidades, lo que incrementará las oportunidades de éxito a pesar del fallo de alguno de los agentes. Las relaciones de control son las responsables de diseñar la autoridad relativa de los agentes, y de dar forma a los diferentes tipos de interacción social que pueden ocurrir entre éstos. Estas relaciones de control pueden ser básicamente de dos tipos: Jerárquicas: La autoridad para la toma de decisiones y el control se concentra en un único resolvedor de problemas en cada nivel de la jerarquía. La interacción se lleva a cabo a través de comunicación vertical de agentes superiores a subordinados y viceversa. Los agentes superiores ejercitan el control sobre los recursos y la toma de decisiones. Planas (comunidad de expertos): Cada uno de los resolvedores de problemas es un especialista en un área en particular (sistemas de pizarra) [Lander et al., 93] [Werkman, 92]. Los agentes interactúan mediante reglas de orden y comportamiento [Lander et al., 91], y se coordinan a través del ajuste mutuo de sus soluciones de modo que se pueda alcanzar una coherencia global (los agentes pueden relajar sus restricciones). Por ejemplo, los agentes involucrados en una búsqueda negociada [Lander et al., 93] tienen a su disposición una variedad de operadores (iniciar-solución, extender-solución, criticar-solución y relajar-requisitos-solución) para progresar en la resolución distribuida de 6 Universidad de Málaga problemas. Normalmente se utilizan medidas heurísticas dependientes del dominio de aplicación que permiten decidir cuál de estos operadores aplicar y dónde. Estas relaciones especificadas a través de las estructuras organizacionales ayudan al proceso de coordinación indicando qué acciones acometerá cada agente, y proporcionando un medio de dividir el espacio de búsqueda. En [Corkill et al., 83] encontramos una estructura organizacional que da a cada agente una visión de alto nivel de cómo el grupo resuelve problemas. Por otro lado Shoham y Tennenholtz [Shoham et al., 92] proponen una forma organizacional más detallada que ellos denominan “ley social”. Con esta aproximación la sociedad adopta un conjunto de leyes que especifican cómo los agentes deberían comportarse. Cada programador o diseñador está comprometido a obedecer estas leyes cuando construye su propio agente. De esta manera el proceso de diseño se simplifica puesto que puede ser asumido que los restantes agentes se adherirán a la ley especifica. Otra aplicación dentro de esta línea es la monitorización de vehículos distribuida [Pattison et al., 87]. Ésta simula una comunidad de agentes organizada espacialmente que lleva a cabo una interpretación distribuida para trazar el movimiento de los vehículos. Cada agente decide qué áreas del espacio de búsqueda explorar basándose en su visión local actual y en su conocimiento organizacional de su papel en la comunidad. En este contexto la coordinación consiste en dos actividades concurrentes: la construcción y mantenimiento de la estructura organizacional de toda la comunidad, y la continua elaboración de esta estructura usando para ello el conocimiento local y las capacidades de control de cada agente. La organización se especifica como un conjunto de áreas de interés y como un conjunto de clasificaciones de prioridad. La primera indica qué, cuándo y a quién se debe enviar la información, y la última indica cómo evaluar la importancia de procesar diferentes tipos de objetivos. Otra perspectiva en IAD define la estructura organizacional en términos de teoría de la organización. En esta visión una organización se define como un conjunto de agentes con compromisos mutuos, compromisos globales y creencias mutuas [Bond et al., 88]. Una organización consiste en un grupo de agentes, un conjunto de actividades llevadas a cabo por los agentes, un conjunto de conexiones entre los agentes, y un conjunto de objetivos o criterios de evaluación a través de los cuales las actividades combinadas de los agentes son evaluadas. Entre los beneficios de este mecanismo de coordinación cabe destacar que la incorporación de los agentes dentro de una organización permite una simplificación de sus decisiones (éstos tienen menos opciones y saben que también los restantes agentes tienen menos opciones), y por tanto así sus actividades de coordinación dinámica pueden ser mejor dirigidas. Entre los inconvenientes de diseñar una estructura organizacional está el de determinar cómo descomponer las tareas en roles separados, así como tener un alto grado de fiabilidad, bajo coste, y unas prestaciones efectivas. 7 Universidad de Málaga 2.2.2 Planificación Multi-Agente La planificación multi-agente es un mecanismo de coordinación en el que los agentes construyen secuencias de acciones o planes, los cuales especifican todas sus acciones futuras e interacciones con respecto a un objetivo particular. Cuando estos planes se ejecutan correctamente y en orden, llevan al sistema a un estado u objetivo deseado. Con esta aproximación los agentes saben de antemano qué acciones llevarán a cabo, qué acciones llevarán a cabo los restantes agentes, y qué interacciones se producirán. Lógicamente, esta técnica de coordinación tiene un horizonte temporal corto, debido a que los planes requieren una especificación de comportamiento completa, y pueden producirse en el entorno eventos inesperados que eviten la ejecución con éxito de los planes, siendo por tanto necesaria una replanificación. La planificación clásica asumía que era un único agente el que llevaba a cabo la planificación siendo este la única fuente de cambio en su entorno, y por tanto descartando otras acciones inesperadas y concurrentes en el mismo. El ejemplo más conocido en este sentido es la aproximación STRIPS para el mundo de bloques. Sin embargo, y debido a la posible aparición de eventos en el entorno que vayan más allá del control de los agentes se desarrollaron extensiones a la planificación clásica. Las posibles contingencias fueron consideradas de forma explícita en los planes, la ejecución de los planes fue controlada, y los planes revisados teniendo en cuenta la posible aparición de eventos relevantes [Russel et al., 95]. Sin embargo, la situación de la planificación multi-agente ocupa un lugar intermedio con respecto a las dos aproximaciones anteriores. Aunque un entorno multi-agente esta constantemente cambiando, los cambios son debidos a acciones llevadas a cabo por otros agentes, y estas no son necesariamente impredecibles e incontrolables. Generalmente estas acciones están encaminadas hacia la consecución de los objetivos de los agentes, y por tanto el agente de planificación puede predecirlas, e incluso influir en la forma en la que éstas ocurren. La planificación multi-agente o distribuida se enfrenta al problema de cómo un agente debería formular un curso de acción que tuviera en cuenta las acciones deseadas e indeseadas que los restantes agentes podrían llevar a cabo concurrentemente:1) de cómo un agente debería averiguar qué cursos de acción llevarán los restantes agentes, 2) de cómo un agente debería modelar cómo sus acciones son anticipadas por los otros, 3) de cómo un agente puede influenciar a los otros cambiando sus modelos de acciones, y 4) de cómo un agente debería comprometerse con los modelos de él mismo. Las primeras aproximaciones a la planificación distribuida operan en entornos estables, y por este motivo primero generan planes detallados y completos para todos los agentes y luego actúan o ejecutan dichos planes. Sin embargo aplicaciones más recientes de la planificación multi-agente se usan también para entornos dinámicos. Como consecuencia de esto los planes se construyen (y reconstruyen) basándose en el modelo parcial actual del agente acerca del entorno y acerca de los otros agentes, y este modelo se revisa continuamente durante el curso de acción de dicho agente. Esto significa que, a diferencia de la primera aproximación, la planificación debe ser intercalada con la ejecución del plan. 8 Universidad de Málaga 2.2.2.1 Planificación Multi-agente en Entornos Estáticos Una aproximación en esta línea consiste en usar técnicas de planificación no-lineales estándares para generar secuencias de acciones admisibles parcialmente ordenadas (Ej. NOAH [Sacerdoti, 77]), y a continuación enviar secuencias no ordenadas de acciones a diferentes agentes. Los agentes las pueden ejecutar en paralelo sin necesidad de más coordinación, ya que todas las interacciones posibles han sido previamente eliminadas. Sin embargo, esta aproximación tiene la desventaja de que el paralelismo depende únicamente de los objetivos y acciones, y no de los agentes disponibles. Una aproximación alternativa consistiría en descomponer el objetivo común global en sub-objetivos que puedan ser asignados a agentes individuales. Sin embargo, estos subobjetivos podrían interactuar, lo que significa que dichos agentes no podrían planificar de forma independiente, sino que deberían reconocer interacciones entre sub-objetivos y modificar sus planes con el fin de evitarlas. En esta línea encontramos dos aproximaciones, una que se denomina planificación multi-agente centralizada, y otra planificación multi-agente distribuida. En la aproximación centralizada un agente es el responsable del reconocimiento y reparación de las interacciones entre planes. Este agente o coordinador puede ser definido estáticamente [Georgeff, 83] o dinámicamente [Cammarata et al., 83]. Los restantes agentes envían sus planes separados al coordinador, éste examina los planes con el objetivo de descubrir regiones críticas en las que interacciones entre los planes de los agentes podrían conducir a fallos, y los modifica de la forma más adecuada. Por ejemplo, en el trabajo de Georgeff se insertan mensajes de sincronización en los planes. Sin embargo, en la aproximación de Cammarata et al. los agentes envían al coordinador información acerca de sus acciones. A continuación el coordinador construye un plan que especifica todas las acciones de los agentes, incluyendo las acciones que ellos o algún otro agente deberían adoptar para evitar colisiones. En contraste con la anterior, en la aproximación distribuida el reconocimiento de interacciones y la reparación de planes se hace de forma distribuida, es decir el plan es desarrollado por varios agentes. Esto significa que no hay agentes individuales con una visión completa de las actividades de la comunidad, y por tanto detectar y resolver interacciones indeseables puede ser más difícil. En su sistema NOAH distribuido [Corkill, 79] Corkill desarrolla versiones distribuidas de NOAH. Como antes, los subobjetivos son asignados a diferentes agentes, y cada agente construye un plan para su sub-objetivo. Sin embargo, cada agente también tiene en cuenta el hecho de que los otros agentes están llevando a cabo concurrentemente sus planes. De esta forma, a medida que los planes se construyen localmente, los efectos de estos planes se propagan de modo que determinadas restricciones de orden sobre los pasos del plan, que prevean interacciones, puedan ser identificadas y resueltas (usando mensajes de sincronización). 2.2.2.2 Planificación Multi-Agente en Entornos Dinámicos La Planificación Global Parcial (Partial Global Planning, PGP) [Durfee et al., 91] supone que en cualquier momento pueden ocurrir eventos inesperados, y por este motivo intercala la planificación y la ejecución en cada uno de los agentes. Este 9 Universidad de Málaga mecanismo de planificación no supone ninguna distribución particular de subproblemas, expertos u otros recursos, sino que en su lugar permite a los agentes coordinarse dinámicamente a través de ellos mismos. La PGP es un mecanismo de intercambio de información a un meta-nivel, en el que los agentes construyen y comparten planes locales como un medio de identificar mejoras potenciales en la coordinación. Los Planes Globales Parciales (PGPs) son intercambiados por los agentes con el objetivo de construir representaciones de las actividades de los restantes agentes (agentes conocidos). Éstos planes indican qué objetivos se persiguen y en qué orden, así como qué resultados se alcanzarán y en cuánto tiempo por parte de sus agentes propietarios. De esta manera, cada uno de los miembros individuales de la comunidad usa un modelo de ellos mismos y una representación de los agentes conocidos, con el fin de identificar cuando los agentes tienen PGPs cuyos objetivos forman parte de un objetivo “global” de la comunidad. En caso de que dichas actividades complementarias sean detectadas, los PGPs relacionados se combinan en un único PGP mayor que proporciona una visión más completa de las actividades de la comunidad. A continuación los agentes pueden ajustar apropiadamente su propia planificación local, de forma que los objetivos de planificación comunes sean cumplidos. Las investigaciones más recientes en planificación multi-agente se han enfocado sobre el particionamiento del espacio de planificación en regiones localizadas, de modo que la planificación dentro de cada región pueda ser llevada a cabo casi independientemente de la planificación en otras regiones [Pope et al., 92]. La localización de la planificación posibilita una reducción substancial de la complejidad (computación y comunicación), aunque requiere un conocimiento ingenieril para identificar problemas de planificación casi independientes. Una forma posible de llevar a cabo esta localización de la planificación consiste en identificar determinadas relaciones de coordinación de interés [Decker et al., 92] [von Martial, 92]. Decker mejora algunas de las limitaciones del PGP creando un marco de trabajo genérico basado en PGP (Generic Partial Global Planning, GPGP) llamado TAEMS. La aportación de Decker y sus colegas es doble: por un lado desarrollan un lenguaje de modelado general (TAEMS), cuya principal característica reside en la posibilidad de representar dependencias (relaciones de coordinación), y por otro lado desarrollan un marco de trabajo de planificación multi-agente distribuido que genera y adapta planes de agentes con respecto a las dependencias que son detectadas en una descripción del dominio en TAEMS. Las relaciones de dependencia que se identifican son por ejemplo: habilitación (un agente lleva a cabo una tarea cuyos resultados permitirán a otro agente llevar a cabo sus tareas), facilitación (la ejecución de la tarea de un agente podría ayudar a otro agente a llevar a cabo su tarea mejor o más rápidamente), etc. Estas dependencias son modeladas con TAEMS, y GPGP detecta y responde apropiadamente a las relaciones de coordinación en estos modelos. El trabajo de Von Martial [von Martial, 92] se concentra en lo que él llama relaciones de favor: desarrollo de mecanismos que permiten identificar oportunidades para que los agentes se ayuden los unos a los otros en la consecución de sus objetivos, así como a modificar sus planes de forma adecuada. Von Martial presenta un marco de trabajo para 10 Universidad de Málaga la coordinación de agentes basado en relaciones de planes multi-agente. Los agentes tienen planes individuales que existen a priori (el plan de cada agente describe las acciones que este ha de llevar a cabo en un futuro). Sin embargo, es posible encontrar interdependencias entre acciones de distintos planes. Este hecho se refleja en las relaciones de planes multi-agente. Un agente de planificación especial, llamado coordinador, detecta estas relaciones y modifica convenientemente los planes de los agentes. Por tanto, los planes son coordinados si todas las relaciones de planes son resueltas. Von Martial presenta una taxonomía de relaciones de planes multi-agente. Ésta contempla principalmente dos clases de relaciones: relaciones negativas, que generalmente impiden a los planes individuales la formación de un plan multi-agente globalmente consistente; y relaciones positivas, que se desprenden de una sinergia potencial entre planes, de forma que el uso de estas relaciones producirá un plan global más eficiente. Al mismo tiempo Von Martial identifica tres clases de acciones para manejar estas relaciones de planes: acciones de resolución de conflictos temporales, acciones de resolución de conflictos de recursos, y acciones de modificaciones de planes. 2.2.2.3 Planificación en Equipo Otra línea de investigación dentro de la planificación multi-agente cooperativa se ha dirigido hacía el modelado explícito del trabajo en equipo. Esto puede ser especialmente útil en entornos dinámicos donde los miembros de un equipo pueden fallar, o por el contrario se les pueden presentar nuevas oportunidades. En estos casos, es necesario que los equipos gestionen sus prestaciones y las reorganicen basándose en su nueva situación actual. El marco de trabajo de las intenciones conjuntas [Levesque et al., 90] se enfoca sobre la caracterización del estado mental de un equipo, denominado intención conjunta. Un equipo propone conjuntamente una acción de equipo si los miembros de dicho equipo están conjuntamente comprometidos a completar dicha acción, mientras mutuamente creen que están acometiendo la ejecución de la misma. Para que todos los miembros de un equipo formen parte de un compromiso conjunto, todos deben tener creencias y compromisos mutuos adecuados. Esto se lleva a cabo a través de un intercambio de actos de habla de petición y confirmación [Cohen et al., 91]. El Modelo de Plan Compartido [Gras et al., 96] está basado sobre una actitud mental diferente: tener la intención de que se haga una acción. En este caso el concepto se define a través de un conjunto de axiomas que guían a un miembro del equipo a llevar a cabo una acción, o bien a iniciar una comunicación que permita a los restantes miembros del equipo llevar a cabo tareas asignadas. Tambe [Tambe, 97] presenta un modelo de trabajo en equipo denominado STEAM (Shell para TEAMwork), que está basado sobre mejoras de la arquitectura SOAR [Newell, 90]. STEAM usa una aproximación híbrida que combina intenciones conjuntas con planes compartidos parciales. 11 Universidad de Málaga 2.2.3 Redes de Contratos El protocolo de la red de contratos [Smith, 80] es un protocolo de interacción para resolución de problemas distribuida cooperativa entre agentes. Este protocolo posibilita la asignación dinámica de tareas, permite a los agentes hacer ofertas sobre múltiples tareas al mismo tiempo, y proporciona un balanceo natural de la carga (los agentes ocupados no están obligados a ofertar). El protocolo de la red de contratos proporciona una solución al llamado problema de conexión: encontrar el agente apropiado para llevar a cabo una tarea (Figura 1). El agente que ha de llevar a cabo una tarea se denomina manager. Los agentes que podrían ser capaces de resolver las tareas se llaman contratantes potenciales. Las funciones del manager son las siguientes: Anunciar una tarea que ha de ser llevada a cabo. Recibir y evaluar ofertas desde los contratantes potenciales. Adjudicar un contrato a un contratante adecuado. Recibir y sintetizar resultados Por otro lado, las funciones del contratante son las siguientes: Recibir anuncios de tareas Evaluar su capacidad para responder Responder (declinar, ofertar) Llevar a cabo la tarea si su oferta es aceptada Comunicar sus resultados Los roles de los agentes no se especifican de antemano. Cualquier agente puede actuar como manager haciendo anuncios de tareas, y cualquier agente puede actuar como un contratante respondiendo a dichos anuncios. Esta flexibilidad es la que permite la descomposición de tareas, ya que un contratante puede actuar como manager para una tarea específica solicitando la ayuda de otros agentes para resolver parte de esta tarea. Las conexiones manager-contratante resultantes forman una jerarquía de control para la distribución de tareas y la síntesis de resultados. Las tareas pueden también ser dirigidas a uno o más contratantes potenciales quienes deben cumplir un criterio de elegibilidad. Cada contratante potencial evalúa los anuncios de tareas que todavía no han expirado para determinar si éstas son adecuadas para enviar una oferta. El contratante a continuación elige la tarea más atractiva (basada en algún criterio) y envía una oferta al manager correspondiente. El manager recibe y evalúa ofertas para cada anuncio de tarea. Cualquier oferta puede ser aceptada antes de que finalice el tiempo de expiración del anuncio de tarea. El manager notifica al contratante la aceptación de oferta a través de un mensaje. Sin embargo, las limitaciones del protocolo son las siguientes: 12 Universidad de Málaga Un manager anuncia la existencia de tareas a través de una multidifusión (posiblemente selectiva) Los agentes evalúan el anuncio, y algunos de ellos emiten ofertas El manager concede un contrato al agente más apropiado El manager y el agente contratado se comunican de forma privada tantas veces como sea necesario Figura 1. Pasos básicos en el protocolo de la Red de Contratos El manager no tiene la obligación de informar a los restantes contratantes potenciales que una adjudicación ya ha sido hecha, y por tanto sus ofertas han sido rehusadas. Una tarea puede ser adjudicada a un contratante con menor capacitación, si otro contratante mejor cualificado está ocupado durante el tiempo de adjudicación. Tareas importantes pueden quedar sin adjudicación, debido a que los agentes contratantes adecuados estén ocupados con otras tareas de menor importancia. Una vez que una oferta es adjudica, el contratante no puede rehusarla. El protocolo necesita una comunicación intensiva. 13 Universidad de Málaga Algunas extensiones al protocolo de la red de contratos [Sandholm et al., 95] permiten anular adjudicaciones ya asignadas a contratantes, mediante la introducción de penalizaciones. Por otro lado Sycara [Sycara, 97] utiliza la teoría de la tasación de opción financiera para obtener esquemas de contratación flexibles en entornos inciertos. 2.2.4 Cooperación Funcionalmente Exacta La cooperación funcionalmente exacta (Functionally Accurate Model, FA/C) [Lesser et al., 81] es un mecanismo de coordinación que ha sido usado en resolución de problemas distribuidos, para la ejecución de tareas en las que los agentes únicamente descubren cómo sus sub-problemas están interrelacionados a través de la formulación tentativa y el intercambio iterativo. En un modelo FA/C los agentes no necesitan tener localmente toda la información necesaria para resolver sus sub-problemas, sino que han de interactuar a través del intercambio asíncrono de resultados parciales. Para que este método funcione correctamente los agentes participantes han de tratar los resultados parciales que han formulado y los que han recibido como tentativos, y así tener en consideración y contrastar varias hipótesis parciales competitivas. Las arquitecturas de pizarra han sido a menudo empleadas para dar soporte a esta necesidad. El intercambio de soluciones parciales tentativas puede mejorar las prestaciones del sistema en su completitud, precisión y seguridad. Cuando un agente usa un resultado de otro para refinar sus propias soluciones, la precisión se incrementa. Y cuando un agente combina medidas de seguridad de dos soluciones parciales (corroborando o compitiendo), la seguridad que éste tiene en la solución cambia. En cuanto a los inconvenientes de esta técnica, este mecanismo de coordinación puede incurrir en una sobrecarga de comunicación y computación. Por ejemplo, si los agentes comparten demasiados resultados se puede producir un fenómeno llamado distracción: todos los agentes pueden intentar resolver la misma parte del problema. Por esta razón, limitar la comunicación puede ser una buena idea, así como dar a los agentes algún grado de escepticismo a la hora de asimilar y reaccionar frente a la información de los otros. 3 Mecanismos de Negociación: Interacciones Multi-Agente Autointeresadas 3.1 Características Los mecanismos de Negociación modelan la cooperación entre agentes auto-interesados o competitivos. Estos mecanismos permiten una convergencia hacia decisiones conjuntas a través de la coordinación y la resolución de conflictos y mediante una comunicación explícita [Müller, 96]. En [Jennings et al., 98] se enumeran las principales características de los mecanismos de negociación. Estas son: a) La presencia de alguna forma de conflicto que deba ser resuelto de una forma descentralizada b) Agentes auto-interesados c) Racionalidad limitada d) Información incompleta 14 Universidad de Málaga Los mecanismos de negociación se aplican a colecciones de agentes autónomos, posiblemente preexistentes, que han de alcanzar una decisión conjunta para resolver un determinado problema. El término Sistema Multi-Agente (SMA) es en la actualidad el más utilizado para denominar este tipo de sistemas. Un SMA también se puede definir como una red débilmente acoplada de resolvedores de problemas que trabajan juntos con el objetivo de resolver problemas que van más allá de las capacidades individuales o el conocimiento de cada uno de ellos. Estos resolvedores son autónomos y pueden ser heterogéneos. Las principales características de los SMA son las siguientes: No-benevolencia: se supone un comportamiento racional individual de los agentes, que intentan maximizar su propia utilidad personal en lugar de la del sistema (algunas veces otros comportamientos como el altruismo o la responsabilidad social [Jennings et al., 97], que son un punto intermedio entre benevolencia y racionalidad individual, son también considerados). Objetivos Múltiples: se supone la existencia de múltiples objetivos al menos parcialmente conflictivos. Esto viene generalmente reflejado en el hecho de que los agentes tienen diferentes funciones locales de utilidad. Una consecuencia importante de los objetivos múltiples es la existencia de dilemas sociales o de conflictos reales, que no pueden ser resueltos mediante el intercambio de información. Autonomía: Los agentes son capaces de la creación de objetivos auto-motivados. Un agente genera sus propios objetivos y decide si adoptará objetivos de los otros. Esta última decisión será adoptada si el agente consigue algo a cambio. Agentes Heterogéneos: la heterogeneidad puede aparecer de muy diferentes formas. Esto término se puede referir a diferentes arquitecturas, ontologías o representaciones del conocimiento, y lenguajes de comunicación. 3.2 Técnicas de Coordinación El objetivo de los investigadores en este ámbito consiste en determinar bajo que condiciones pueden emerger en el sistema propiedades globales interesantes que desemboquen en comportamientos uniformes. Para ello se diseñan y analizan mecanismos que sesgan el comportamiento racional de cada uno de los agentes, y así generan un comportamiento global deseado. El diseñador del sistema desarrolla el mecanismo de interacción o protocolo con la intención de satisfacer determinados objetivos de diseño, así como de optimizar el comportamiento de los agentes en la toma de decisiones con respecto al protocolo impuesto [Rosenschein et al., 94]. El objetivo es diseñar mecanismos para agente auto-interesados, de forma que si los agentes adoptan estos mecanismos el comportamiento global del sistema será aceptable (si cada agente maximiza su utilidad local la sociedad entera mostrará un comportamiento deseable). La mayoría de los mecanismos de coordinación o negociación en SMA están inspirados en modelos tomados de la ciencias sociales y en modelos económicos [Sandholm, 96]. El sistema PERSUADER de Sycara [Sycara, 90] y el trabajo de Rosenschein y Zlotkin [Rosenschein et al., 94] fueron los primeros trabajos sobre negociación entre agentes autointeresados. PERSUADER [Sycara, 90] es un sistema que trabaja en el dominio de la negociación laboral, y está inspirado en la negociación humana. Este sistema modela 15 Universidad de Málaga el intercambio iterativo de propuestas y contrapropuestas, con el objetivo de que las diferentes partes alcancen un acuerdo. Por otro lado, el trabajo de Rosenschein y Zlotkin [Rosenschein et al., 94] está basado en teoría de juegos. En este caso los valores de utilidad para resultados alternativos se representan en una matriz de pagos (conocimiento común). Cada parte, basándose en la matriz de pagos, razona y selecciona aquella alternativa que maximice su utilidad. A continuación analizamos las principales características de los mecanismos de negociación más usados en SMA, así como sus trabajos más representativos. Los mecanismos seleccionados han sido los siguientes: 1) 2) 3) 4) 5) 6) Mecanismos de Mercado Teoría del Regateo Formación de Coaliciones Subastas Votación Asignación de tareas entre dos agentes La elección de un mecanismo u otro dependerá de las características con las que el diseñador quiera a su sistema. A continuación enumeramos algunos de los criterios que nos permitirán evaluar los diferentes mecanismos de negociación [Sandholm, 99]: Bienestar Social: es la suma de los pagos o utilidades de todos los agentes en una solución dada. El bienestar social "mide" o "determina" el grado de bienestar global de los agentes. Eficiencia: Una solución x es pareto eficiente o pareto óptima si no hay otra solución x´ en la que al menos un agente esté mejor en x´ que en x, y ningún agente esté peor en x´ que en x. Las soluciones que maximizan el bienestar social son un subconjunto de las pareto eficientes. Racionalidad Individual: La participación de un agente en un mecanismo de coordinación es racional individual, si el pago de dicho agente en la solución negociada no es menor que el pago que éste recibiría si no participará en la negociación. Lógicamente sólo son viables los mecanismos racionales individuales. Estabilidad: Ningún agente debería tener incentivos para desviarse de las estrategias previamente acordadas. Por este motivo, los mecanismos deberían motivar a los agentes para que éstos se comportaran de la manera deseada. Eficiencia: Los mecanismos deberían ser diseñados de modo que la sobrecarga computacional fuese la menor posible. Distribución y eficiencia en las comunicaciones: Los mecanismos no deberían necesitar un coordinador o tomador de decisiones central. Así se evitarían cuellos de botella o puntos de fallo únicos. Además, sería deseable minimizar la cantidad de comunicación necesaria para alcanzar una solución (claramente en algunos casos ambos objetivos pueden estar en conflicto). 16 Universidad de Málaga 3.2.1 Mecanismos de Mercado Este modelo de coordinación equipara un sistema multi-agente con un mercado virtual, con el objetivo de que dicho sistema tenga algunas de las propiedades deseables de los mercados reales. Los mecanismos de mercado se basan en un marco de trabajo de mercados microeconómicos denominado Teoría de Equilibrio General [Varian, 92]. Esta proporciona un método distribuido para una asignación eficiente de bienes y recursos entre los agentes basada en precios de mercado. Para formular los problemas como una economía computacional, las actividades de interés son generalmente clasificadas en términos de producción y consumo de bienes. Consideremos por ejemplo el algoritmo WALRAS [Welman, 95], que es el núcleo de un sistema de programación orientado al mercado. Aquí se implementa un mecanismo de subasta distribuido para asignar recursos (bienes) entre múltiples agentes (productores y consumidores). Los agentes pueden adquirir recursos en diferentes mercados, que son gestionados por los subastadores, a un cierto precio. Inicialmente los agentes envían ofertas (cantidad demandada de un bien en función de su precio potencial) a cada mercado, con el objetivo del que el subastador calcule el precio de limpieza (clearing price), e.d. el precio en el que la demanda de exceso agregado es cero. A continuación los subastadores notifican el nuevo precio a los agentes que hacen ofertas. Los consumidores adaptan sus funciones de demanda a los nuevos precios y envían sus ofertas actualizadas a las subastas. El proceso finaliza cuando a la larga los precios se mantienen: el mercado alcanza un equilibrio general, o lo que es lo mismo hay un balance perfecto entre la oferta y la demanda. En esta situación los recursos son vendidos a los agentes, de acuerdo con sus demandas, por el precio de equilibrio. Se han de cumplir varias condiciones para asegurar que el proceso converge a un equilibrio general. Un equilibrio general se alcanza si: 1) Cada productor maximiza sus beneficios dados los precios. 2) Cada consumidor maximiza sus preferencias dados los precios. 3) Limpieza de Mercado: para cada bien la producción iguala el consumo. Hay un balance perfecto entre la demanda y la oferta. Este equilibrio general siempre tiene algunas propiedades deseables: a) es pareto eficiente, b) es estable frente a posibles coaliciones, cada equilibrio, sin productores presentes, es estable en el sentido del núcleo (concepto solución de teoría de juegos para la formación de coaliciones), c) existe, aunque en algunos dominios no se puede garantizar la existencia de este equilibrio general, sin embargo si se pueden establecer condiciones de suficiencia para su existencia, y d) unicidad del equilibrio, un equilibrio general es único si la demanda para cada bien dentro de la sociedad no supone una bajada en los precios de otros bienes. La motivación operacional que subyace en estos mecanismos de mercado es que los agentes pueden encontrar una solución conjunta eficiente, sin centralizar toda la información o control. Existen diferentes algoritmos que se pueden usar para buscar un equilibrio general, siendo unos centralizados y otros distribuidos. El algoritmo descentralizado más común es el proceso de tatonnement. Este es un mecanismo 17 Universidad de Málaga iterativo en el que se supone que las transferencias, producciones y consumos, se producen únicamente cuando el proceso ha finalizado. En cada iteración el subastador establece un vector de precios. A continuación, cada uno de los agentes ha de declarar que cantidad de bienes de cada tipo desea comprar y vender a los precios actuales. Con esta información el subastador actualiza el vector de precios para la siguiente iteración. Bajo determinadas condiciones se garantiza que este proceso converge a un equilibrio general. Dentro de los sistemas multi-agente computacionales, Wellman ha usado su algoritmo WALRAS en los siguientes dominios ejemplo: enrutado de flujo en una red [Wellman, 93], parámetros de diseño en un aeroplano [Wellman, 94], redes de información distribuida [Mullen et al., 95]. WALRAS difiere en algunos aspectos del proceso de tatonnement. Sin embargo, y bajo ciertas condiciones, se prueba que WALRAS también converge a un equilibrio general [Cheng et al., 95]. Entre los inconvenientes de los sistemas basados en mecanismos de mercado hemos de destacar que éstos únicamente discuten la complejidad de los algoritmos (WALRAS, tatonnement), suponiendo conocidas las funciones de oferta y demanda de los agentes. Sin embrago, generar para cada agente su función óptima de oferta y demanda dados los precios actuales puede ser computacionalmente complejo (cada vez que cambien los precios en cada iteración del algoritmo, cambiará el plan óptimo para cada agente). 3.2.2 Teoría del Regateo En la teoría del Regateo los agentes pueden llegar a un acuerdo mutuamente beneficioso, pero tienen un conflicto de intereses acerca de qué acuerdo seleccionar. En esta teoría se distingue entre dos aproximaciones: la no cooperativo ó estratégica y la cooperativa o axiomática. La aproximación no cooperativa está orientada al estudio de la estrategia. La atención se centra en las acciones que cada jugador es capaz de adoptar, de forma que se alcance algún tipo de equilibrio. Por el contrario en la aproximación cooperativa se estudian los resultados esperados. En estos modelos nos centramos directamente en el espacio de resultados posibles y no en la forma en la que se llega a éstos. La aproximación cooperativa es una aproximación “micro” importa la descripción de lo que ocurre, y la no cooperativa es una aproximación “macro” lo que interesa son los resultados que los agentes pueden alcanzar. 3.2.2.1 Teoría del Regateo Axiomática En esta sección tratamos con el llamado problema del regateo [Thomson, 97]. El marco de trabajo es el siguiente: los agentes son capaces de llegar a soluciones de forma conjunta (aproximación cooperativa), pero no están de acuerdo acerca de cuál seleccionar. Además no es posible llegar a acuerdos que no sean ratificados por todos los agentes (se desestima la formación de posibles coaliciones). Supongamos que sea N={1,2,...,n} el conjunto de agentes. Un problema de regateo es un par (S,d) donde: S Rn es el conjunto factible o espacio de estrategias del juego. El grupo de agentes N podrá conseguir cualquier punto de este conjunto si todos coinciden en él; si por el contrario no llegan a un acuerdo conseguirán dS. Este último se 18 Universidad de Málaga denomina punto de amenaza o de desacuerdo. El punto de desacuerdo es un vector d=(d1,d2,...,dn) cuyas componentes son los pagos maximin1 o niveles de seguridad de un juego no cooperativo. Además asumimos que S es un conjunto compacto y convexo y que en S hay al menos un punto que domina estrictamente a d. Raiffa Nash u2 a(S) A Kalai-Smorodinsky 2 0 x 2 1 x x2 x1 S Igualitaria 1 1 x 1 0 x 45º d=0 B u1 Figura 2. Soluciones al problema del Regateo En la figura 2 los ejes representan los niveles de utilidad o pagos de los agentes. Existen dos limitaciones a cualquier acuerdo razonable Racionalidad de Grupo: no parece razonable que el conjunto de agentes llegue a conformarse con un acuerdo que no sea óptimo de pareto. Racionalidad Individual: Sería irracional que un agente estuviese de acuerdo con un resultado conjunto que le proporcionara una utilidad inferior a la que podría asegurarse mediante sus propios esfuerzos individuales. La curva AB de la figura 2 satisface ambos criterios y se conoce como el núcleo. Este núcleo puede estar constituido por muchos puntos, y sería interesante quedarnos con una única solución. Vamos a definir a continuación algunas de las soluciones univaluadas más conocidas para el problema del regateo, para posteriormente mencionar algunas de las propiedades de las mismas. Si denotamos por 0n al conjunto de problemas N-personales con amenaza fija y d=0. Una Solución f es un método para elegir un punto posible del espacio de estrategias del juego. Formalmente es una función f: 0n Rn, tal que f(S,d)S para todo S0n. Cada componente de f(S,d)=(f1(S,d),....,fn(S,d)) muestra el pago de cada jugador. 1 La estrategia maximin es otro concepto de equilibrio relacionado con el equilibrio de Nash. En concreto el equilibrio de Nash proporciona a cada jugador un pago que es al menos tan bueno como el mayor valor que a cada jugador se le puede garantizar. 19 Universidad de Málaga Solución de Nash. Esta solución introducida por Nash selecciona el punto en el cual el producto de utilidades es maximizado. f(S,d) es el maximizador del producto ui sobre S. Solución de kalai-Smorodinsky. Esta solución establece utilidades desde el origen, proporcionales a las utilidades máximas de los agentes. f(S,d) es el punto máximo de S sobre el segmento que conecta el origen con a(S). Se define el punto ideal a(S) como: ai(S)=max{xi|xS} para todo i. Solución Igualitaria. f(S,d) es el punto máximo de S de coordenadas iguales. Solución discreta de Raiffa. Esta solución está basada en un proceso de concesiones balanceadas. El compromiso inicial es obtenido seleccionando el punto medio entre las alternativas preferidas de los agentes. Generalmente este punto no es un óptimo de pareto. El siguiente paso es seleccionar el punto medio entre las alternativas preferidas de los agentes, entre aquellas alternativas que prefirieron en el compromiso previo. Este procedimiento se repite hasta que se alcanza una solución pareto eficiente. f(S,d) es el punto límite de la secuencia {zt} definida por: xi0=Di(S) para todo i (Di(S) es el punto x máximo de S con xj=0 para todo ji); para todo tN, zt=(xi(t-1))/n, y xit es el punto óptimo de pareto con xijt=xtj para todo ji. Cada una de las soluciones anteriores vienen caracterizadas por un conjunto de axiomas o propiedades de las mismas. Solución de Nash.(Nash, 1950) [Nash, 50] Nash especificó algunos supuestos razonables bajo los cuales la solución propuesta por él para este problema existe y es única: Racionalidad Individual:f(S,d)d para todo (S,d) 0n Invarianza de Escala: Si es una transformación afín y f(S) es una solución al problema de regateo (S, d), entonces f(S)=f(S). Es decir, la solución no varia para transformaciones de utilidad afines positivas; y dos escenarios de regateo que se relacionen de esta forma son dos escenarios idénticos en términos de posibilidades físicas que sólo se diferencian en un aspecto arbitrario de su representación de la utilidad. Simetría: S es invariante bajo todos los intercambios de agentes, fi(S,d)=fj(S,d) para todo i,j. A priori el escenario de regateo no favorece a ninguno de los agentes intervinientes. Independencia de Contracción. Para todo S y S´02, si S´S y f(S,d)S´ entonces f(S´,d)=f(S,d). Si las oportunidades se contraen dejando la solución resultante factible, ésta todavía debería ser seleccionada. Es decir, si tenemos dos problemas de regateo y el espacio estratégico de uno de ellos está contenido en el otro, S´S, y la solución del mayor está contenida en el más pequeño, este será el punto solución para ambos problemas. Optimalidad de pareto: Para todo S02, f(S,d)OP(S)={xS|x´S con x´x}, es decir la solución f(S,d) no puede ser dominada por otro resultado factible. Solución Kalai-Smorodinsky. (Kalai y Smorodinsky, 1975) Estos demostraron [Kalai et al., 75] que dicha solución existe y es única bajo los supuestos siguientes: Optimalidad de pareto, Simetría, Invarianza de escala y Monotonía individual. 20 Universidad de Málaga Monotonía Individual: Para todo S, S´02, Si S´S y aj(S´)=aj(S) para todo ji, entonces fi(S´,d)fi(S,d). De modo que si las oportunidades se expanden en la dirección de un agente, este debe ganar. Este axioma indica cuando un cambio en el problema de regateo debería favorecer a un jugador concreto. Solución Igualitaria. (Kalai, 1977) [Kalai, 77] Esta solución satisface la optimalidad de pareto, y la simetría, pero no la invarianza de escala. Esto se debe a que si las oportunidades se expanden en una dirección que realmente favorece a un agente, esta solución requiere que todos los agentes ganen o que la ventaja se reparta a partes iguales entre todos. Como podemos ver existen diferentes soluciones al problema del regateo y además el número de soluciones no se agota aquí, Ej. Solución de área igual, Solución de Yu, Solución Utilitaria.....[Thomson, 97]. La selección de una u otra dependerá del problema que se esté intentando modelizar. Mientras en la solución de Nash se tiene en cuenta cuando un cambio en el juego no debe afectar a la solución (independencia de contracción), en la solución de Kalai-Smorodinsky se contempla cuando un cambio debería favorecer a un agente en concreto (monotonía individual). Ossowski [Ossowski, 97] utiliza la solución de Nash como vehículo para formalizar la cooperación estructural entre agentes auto-interesados en un contexto social y normativo. Para ello su sistema ha de asumir una serie de restricciones que permiten evitar de alguna manera los inconvenientes computacionales de la teoría de regateo (racionalidad perfecta entre otros). Estos son: agentes homogéneos, diseño centralizado y acuerdos comprometidos. 3.2.2.2 Teoría del Regateo Estratégica En la sección anterior se han mostrado un conjunto de soluciones posibles al proceso de interacción entre agentes. Pero en todas estas aproximaciones nos hemos centrado en el espacio de resultados posibles, sin tener en cuenta el proceso real de negociación. Dichas soluciones vienen caracterizadas por el espacio de resultados posibles y el punto de desacuerdo. Sin embargo, en un proceso de negociación en el que intervengan agentes auto-interesados será necesario analizar cuales de las soluciones anteriores están en equilibrio. Puesto que si el diseñador sabe que los restantes agentes están usando estrategias en equilibrio, no se obtendrán mayores beneficios construyendo un agente que use otra estrategia distinta. Por tanto, el objetivo sería encontrar un modelo de negociación no cooperativo, caracterizar sus estrategias en equilibrio y relacionar las soluciones resultantes con una o varias soluciones cooperativas, ya que estas últimas son las que obtienen resultados más beneficiosos. Desafortunadamente, en la teoría de juegos encontrar estrategias en equilibrio no es un proceso mecánico [Kraus et al., 95]. Para determinar estas estrategias, generalmente, cada agente debe hacer una estimación acerca de qué estrategias serán las que estarán en equilibrio. Para ello cada agente ha de adivinar el conjunto de acciones que serán usadas por los restantes agentes en cada paso de la negociación. Sin embargo, el número de posibles ofertas que un agente podría proponer es muy elevado, así como el número de posibles combinaciones de acciones con que los otros agentes le podrían responder 21 Universidad de Málaga (todo ello suponiendo información completa, sin ella el problema es incluso computacionalmente más complejo). Por todo ello calcular las estrategias en tiempo real, puede ser un problema inviable [Sandholm, 99]. Una posible solución sería identificar las estrategias en equilibrio antes de que se lleve a cabo el proceso de negociación, y posteriormente incorporarlas en los agentes. A continuación vamos a mostrar varios mecanismos de negociación cuyos resultados en equilibrio coinciden con algunos de las soluciones clásicas cooperativas antes citadas. Estrategía de Zeuthen. (Zeuthen, 1930) [Zeuthen, 30] Zeuthen fue un precursor de la solución de Nash. Éste propuso un proceso de negociación bipersonal que produce un resultado formalmente idéntico a la solución de Nash [Harsanyi, 56]. El proceso de negociación consistía en que ambos jugadores simultáneamente debían hacer una propuesta, y cada propuesta debía ser un punto de la frontera de posibilidades (óptimo de pareto). Dependiendo de la relación existente entre ambas propuestas uno de los dos jugadores se vería obligado a cambiar su propuesta por otra que hiciera la mínima concesión suficiente. Si u1 fuera la propuesta del jugador 1, u1=(u11, u12), y u2 la del jugador 2, u2=(u21,u22) y d=0, se habrían de comparar los siguientes valores: (u11-u21)/u11 y (u22-u12)/u22 . Si el primero es inferior al segundo el jugador 1 debe hacer la concesión mínima suficiente para invertir la desigualdad. (u11-u21)/u11, calcula el coste que le supone al agente 1 hacer una concesión al agente 2. Aquel al que le suponga un coste menor habrá de hacer la siguiente concesión. Es fácil ver que (u11-u21)/u11 < (u22-u12)/u22 es equivalente a u11u12<u21u22. Por tanto, el jugador que tenga el producto de Nash menor será el que hará la siguiente concesión. Este proceso termina en la solución de Nash. Esta estrategia de negociación de hecho, ha sido usada como base para el desarrollo de mecanismos de negociación en dominios concretos de IAD (dominios orientados a tareas, [Rosenschein et al., 94]). Modelo de Ofertas Alternantes de Rubinstein. (Rubinstein, 1982) [Rubinstein, 82] La principal característica de este mecanismo es que tiene en cuenta el paso del tiempo durante la negociación. El problema del que Rubinstein se ocupa es muy sencillo: suponemos que hay un bien a repartir entre dos jugadores, jugador 1 (J1) y jugador 2 (J2). Si J1 obtiene s1[0,1], J2 obtiene s2=1-s1, pero ningún jugador recibirá nada si ambos no llegan a un acuerdo. El proceso está modelizado como un proceso no cooperativo. En el primer periodo J1 hace una oferta y J2 la acepta o la rechaza. Si J2 la acepta el proceso de negociación finaliza, obteniendo J1 s1 y J2 1-s1. Si por el contrario J2 rechaza la propuesta el juego continúa y será J2 quien haga la siguiente oferta a J1. El proceso finalizará cuando un jugador acepte la oferta del otro. Para cada jugador el valor del resultado obtenido se incrementará con la cantidad de bien recibido y disminuirá con el paso del tiempo. Rubinstein demostró [Rubinstein, 82] que el resultado final de una combinación de estrategias en equilibrio perfecto es un par (s1*,1-s1*), donde s1* es el primer parámetro del par (s1*,s2*) que satisface las dos ecuaciones siguientes, s2=d1(s1) y s1=d2(s2), donde: d1(s1)=1 si, para todo s2[0,1, u1(1-s2,0)>u1(s1,1)=s2, si u1(1-s2,0)=u1(s1,1) d2(s2)=1 si, para todo s1[0,1, u2(1-s1,0)>u2(s2,1)=s1, si u2(1-s1,0)=u2(s2,1) 22 Universidad de Málaga ui(si,t) es la función de pagos del jugador i. Esta es continua y estrictamente creciente en si, es decir el pago de un jugador es continuo con respecto a la cantidad de bien recibido, y es estrictamente decreciente en t, e.d. el paso del tiempo es necesariamente costoso. Además, la función está definida para si[0,1, e.d. el bien ha de poder valorarse y t{0,1,2,...} y satisface que: a) cualquier cantidad de bien recibido es preferible a no obtener nada, b) las funciones de pagos son estacionarias con respecto al tiempo, y c) la compensación necesita por el retraso de tiempo en la recepción del bien se incrementa con respecto a la cantidad del bien. A la vista de los resultados parece como si la negociación tuviera que finalizar en el primer periodo (t=0), esto es, cómo si fuera más beneficioso para un jugador ofertar en primer lugar, y cómo si cuánto mayor fuera la cantidad de bien para un jugador en la situación de equilibrio, menor fuera la pérdida al retrasar la recepción del bien en un periodo. Este modelo también ha sido seleccionado como mecanismo de negociación en problemas de asignación de tareas en entornos multi-agente, en los que era necesario tener en consideración el paso del tiempo durante la negociación [Kraus et al., 95]. 3.2.3 Formación de Coaliciones En los mecanismos de negociación multi-agente hay situaciones en las que se pueden formar coaliciones, que incluyan a algunos de los agentes mientras excluyan a otros. Mediante éstas es posible que compartiendo sus recursos y coordinando sus acciones los agentes sean capaces de incrementar sus beneficios. Los modelos teóricos de juegos cooperativos, pueden ser usados como base para el diseño de mecanismos de negociación que tengan en cuenta la formación de coaliciones en negociadores automatizados [Sandholm et al., 97] [Zlotkin et al., 97] [Shehory et al., 99]. Es más, la formación automatizada de coaliciones en sistemas multi-agente podría ahorrar tiempo de trabajo a los negociadores humanos, debido a que los agentes computacionales pueden ser mucho más efectivos en la formación de coaliciones beneficiosas que los negociadores humanos. La aproximación más general a este problema consistiría en establecer el protocolo de formación de coaliciones como un juego en forma normal, y a continuación analizar el equilibrio de Nash para ver cómo el juego debería ser jugado y cómo de eficientes deberían ser los resultados. Sin embargo, el equilibrio de Nash es a menudo un mecanismo demasiado débil, ya que subgrupos de agentes pueden desviarse de una forma coordinada. Por este motivo, y en lugar de utilizar la aproximación estratégica que usa el análisis de equilibrio, la formación de coaliciones se estudia de una forma más abstracta utilizando los juegos en forma de función característica. En tales juegos el valor de cada coalición K viene dado por una función característica v(K). La formación de coaliciones en juegos en forma de función característica incluye tres actividades: Generación de la estructura de coaliciones Resolución del problema de optimización de cada coalición división de pagos A continuación explicamos de forma detallada cada una de las actividades anteriores. 23 Universidad de Málaga 3.2.3.1 Generación de la Estructura de Coaliciones Esta actividad consiste en la formación de coaliciones por parte de los agentes de forma que los agentes dentro de cada coalición coordinen sus actividades, pero éstos no se coordinen entre coaliciones. Esto significa particionar el conjunto de agentes en coaliciones disjuntas y exhaustivas. A esta partición se la denomina estructura de coaliciones. Por ejemplo en un juego con tres agentes hay siete coaliciones posibles: {1},{2}, {3},{1,2}, {1,3}, {2,3}, {1,2,3}, y cinco posibles estructuras de coaliciones: {{1},{2},{3}},{{1,2},{3}},{{1,3}, {2}},{{2,3},{1}},{{1,2,3}}. Tradicionalmente, la generación y optimización de la estructura de coaliciones no ha sido una actividad que haya recibido demasiada atención dentro de la teoría de juegos. El motivo es que ésta se ha centrado en dominios superaditivos en los que la coalición global es siempre la más beneficiosa, y los costes de cooperación no crecen significativamente con el número de agentes cooperantes. Sin embargo, en entornos generales (superaditivos y no-superaditivos) la generación de una estructura de coaliciones óptimas no es un problema trivial. En tales juegos algunos agentes pueden conseguir mejores resultados coaligándose, mientras otros no. Por tanto, encontrar la estructura de coaliciones que maximize el bienestar social es un problema computacionalmente complejo. Sandholm [Sandholm et al., 99b] demuestra que cualquier algoritmo general para formación de coaliciones que garantice una solución dentro de un límite de la mejor en términos de maximización de utilidad, ha de buscar en un número exponencial de soluciones posibles. 3.2.3.2 Resolución del Problema de Optimización de cada Coalición Esta tarea consiste en reunir las tareas y los recursos de los agentes pertenecientes a la coalición, y resolver este problema de forma conjunta. El objetivo de cada coalición es maximizar su utilidad: el beneficio obtenido por llevar a cabo las tareas menos el coste de su ejecución (recursos usados). Para ello cada coalición debería resolver su problema de optimización, el cual definiría el valor de esa coalición. Sin embargo, en la práctica en muchos dominios es demasiado complejo desde el punto de vista computacional, la resolución de este problema. Por ello, en muchos casos sólo se puede encontrar una solución aproximada. En estos casos los agentes auto-interesados habrán de llegar a un compromiso entre la calidad de la solución y el coste de la computación asociada. En [Sandholm et al., 97] se estudian en detalle estos asuntos y otros relacionados. 3.2.3.3 División de Pagos Esta actividad consiste en dividir el valor coalicional de cada coalición de la estructura de coaliciones entre los agentes que la componen de una forma justa y estable, de forma que éstos estén motivados a permanecer en la actual estructura de coaliciones en lugar de desviarse de ella y formar otra estructura de coaliciones diferente. A continuación pasamos a discutir algunas de las soluciones más importantes que ofrece la teoría de juegos [Friedman, 91] [Hart, 97] para la división de pagos. 24 Universidad de Málaga Núcleo. (Gillies, 1953) [Von Neumann, 44] En los problemas de regateo para que un vector de pagos o utilidades, xRn, pertenezca al núcleo, y sea, por tanto, una posible solución al problema son necesarias dos condiciones: 1) racionalidad individual, xiv({i}), el jugador i debe recibir un pago al menos tan grande como el que él pueda conseguir por si mismo, 2) racionalidad de grupo, iN xi=v(N), cualquier vector razonable debe dar a todos los jugadores una cantidad que iguale la que pueda ser obtenida por una supercoalición formada por todos los jugadores. Una imputación es cualquier vector de pagos que satisfaga ambas condiciones. Pero en nuestro caso estas dos condiciones por si solas no bastan, ya que si una coalición obtuviera por si misma un valor mayor que el que le proporciona el vector solución se independizaría, y de esa forma no estaría garantizada la estabilidad de la estructura de coaliciones propuesta como solución. Por tanto, es necesario que iK xiv(K) para todo KN. Luego el núcleo C(N,v) se define como un subconjunto del conjunto de imputaciones no dominadas. Dadas dos imputaciones x e y diremos que x domina a y a través de K, yKxK, si y da más a los miembros de K de lo que lo hace x. El inconveniente de esta solución es que pueden existir juegos para los cuales el núcleo esté vacío y otros para los que esté formado por muchos puntos. Además, un problema añadido es el de la complejidad computacional asociada a su cálculo. Puesto que el número de estructuras de coalición es exponencial (2n-1), la resolución del sistema de desigualdades necesario para el cálculo del mismo es un problema computacionalmente complejo. Otra posibilidad consistiría en utilizar un esquema de transferencia iterativo [Wu, 77]. Éste parte de cualquier división de pagos inicial e iterativamente cambia el valor de la misma hasta que converge a una solución en el núcleo. Sin embargo, el número de iteraciones de este esquema puede ser potencialmente infinito y por tanto de nuevo computacionalmente complejo. Valor de Shapley. (Shapley, 1953) [Shapley, 53] Esta solución establece que el pago para cada jugador es la media ponderada de las contribuciones que éste hace a cada una de las coaliciones a las que pertenece. Estas ponderaciones dependerán del número de jugadores, n, y del número de miembros de cada coalición, |K|. Este valor lo representaremos por (v)Rn, donde i(v) es el pago que el valor de Shapley asigna al jugador i-ésimo: i(v)=KN [v(K)-v(K\{i}((|K|-1)!-(n-|K|)!)/ n! Como podemos observar, para cada una de las coaliciones K se calcula la contribución marginal que hace el jugador i-ésimo a la coalición. Para ello se calcula la diferencia entre el valor de la función característica para toda la coalición v(K), menos el valor de la función característica para la coalición eliminando al jugador i, v(K\{i}). La contribución se pondera calculando el número de coaliciones que contienen al jugador i y tienen |K| miembros, ó lo que es lo mismo calculando la probabilidad de que el jugador i se integre en la coalición K, que es la misma que la probabilidad de que lleguen antes que él los |K|-1 jugadores y después n-|K|. Si todas las ordenaciones de jugadores son equiprobables tenemos: ((|K|-1)!-(n-|K|)!)/ n!. Shapley demostró [Shapley, 53] que las cuatro condiciones siguientes implican que (v) está caracterizado por la formula anterior. Éstas son: 25 Universidad de Málaga Racionalidad de grupo, iN i(v)=v(N) Si v(K\{i})=v(K) para todas las coaliciones KN, entonces el valor de Shapley es i(v)=0. Es decir, si el jugador i no añade ningún valor a la coalición K, el jugador i recibe un beneficio 0 del valor de Shapley. Si dos juegos son iguales excepto por el orden en que se relacionan sus jugadores, entonces sus valores de Shapley serán también idénticos. Por tanto la solución no depende de cómo estén enumerados los jugadores. Esta es la condición de simetría. Si se forma un nuevo juego mediante la suma de dos juegos, el valor de Shapley del nuevo será la suma de los valores de Shapley de los dos juegos originales. El valor de Shapley existe y es único para todo juego superaditivo en forma de función característica que tenga un número finito de jugadores [Shapley, 53], y además es pareto eficiente al igual que el núcleo. Sin embargo, a diferencia del núcleo, no garantiza que todos los subgrupos de agentes estén mejor en la actual estructura de coaliciones que fuera de ella y formando sus propias coaliciones. Otro problema con el valor de Shapley es que la contribución marginal de cada agente ha de ser calculada sobre todos los órdenes posibles de unión, y hay un número N! de ellos. Únicamente es posible garantizar a cada agente un pago esperado igual a su valor de Shapley aleatorizando el orden de llegada. Zotkin y Rosenschein [Zoltkin et al., 94] han propuesto un protocolo no manipulable distribuido para encontrar un orden de unión aleatorio. 3.2.4 Votación En los mecanismos de votación o mecanismos de elección social, todos los agentes aportan unos datos de entrada al mecanismo y el resultado que el mecanismo elige, basado en estos datos de entrada, es una solución para todos los agentes. En la mayoría de los mecanismos este resultado es forzado, con lo que todos los agentes han de cumplir la solución preescrita por éstos. El objetivo tradicional de estos mecanismos consistía en derivar una regla de elección social que clasificara los resultados sociales posibles, basándose en las clasificaciones individuales de estos resultados [Sandholm, 99]. Supongamos que sea A el conjunto de agentes y O el conjunto de resultados sociales posibles. Además, supongamos también que cada agente i A tiene una relación de preferencia i sobre O estrictamente transitiva y asimétrica. Una regla de elección social toma como entrada las relaciones de preferencia de cada uno de los agentes (1,...., |A|), y produce como salida las preferencias sociales denotadas por la relación * . Una regla de elección social ha de tener las siguientes propiedades: 1) Un orden de preferencia social * debería existir para todas entradas posibles. Además, este orden debería ser asimétrico y transitivo sobre O para todas las preferencias individuales. 2) El resultado debería ser pareto óptimo: si i A, o i o´, entonces o * o´. 3) El esquema debería ser independiente de alternativas irrelevantes. Si y ´ son vectores de clasificaciones que satisfacen o i o´ si y sólo si o i´ o´ para todo i, entonces la clasificación social de o y o´ es la misma en estas dos situaciones. 26 Universidad de Málaga 4) Ningún agente debería ser un dictador en el sentido que o i o´ implica o * o´, para todas las preferencias de los restantes agentes. 35% de los agentes tienen la preferencia c d b a 33% de los agentes tienen la preferencia a c d b 32% de los agentes tienen la preferencia b a c d b a c d b a b c d c c a d c a c a c b d b a d a b d b d Figura 3. Dos agendas diferentes para un protocolo binario con 4 alternativas (a,b,c,d) Desgraciadamente no es posible satisfacer todos estas propiedades. El teorema de imposibilidad de Arrow [Arrow, 63] [Kreps, 90] establece que no hay ninguna regla de elección social que satisfaga las cuatro propiedades anteriores. Por tanto, para diseñar reglas de elección social algunas de las propiedades anteriores han de ser relajadas. Por ejemplo, la tercera propiedad es normalmente relajada. En un protocolo binario (en el que las alternativas son votadas por parejas, el ganador permanece para disputar las siguientes alternativas mientras el perdedor es eliminado) la introducción de alternativas irrelevantes a menudo modifica los resultados. Por ejemplo, en la figura 3 podemos ver cómo distintos ordenes de emparejamiento conducen a diferentes resultados dadas las mismas preferencias de los agentes. Incluso el resultado puede ser una de las alternativas que son menos preferidas por los agentes (una solución pareto dominada) Ej. la segunda alternativa de la figura en la que la opción d es la ganadora, aunque todos los agentes prefieren c sobre d. Otro protocolo ejemplo en el que la introducción de alternativas irrelevantes cambia el resultado es el protocolo de Borda. Este protocolo se usa cuando el número de posibles resultados es grande, y por tanto la utilización de un protocolo binario puede ser un proceso muy lento. Este protocolo asigna |O| puntos a la alternativa más alta en la lista de preferencias de cada agente, |O|-1 a la siguiente alternativa y así sucesivamente. Así, os puntos de todos los votantes son sumados y aquella alternativa que tenga la puntuación más alta será la elección social. En la figura 4 podemos apreciar que cuando se elimina la alternativa con una clasificación más baja (alternativa irrelevante) se producen resultados paradójicos, ya que la peor de las alternativas restantes se convierte en la mejor y viceversa. 27 Universidad de Málaga AGENTES 1 2 3 4 5 6 7 PREFERENCIAS abcd bcda cdab abcd bcda cdab abcd Figura 4. De acuerdo con la tabla el resultado del protocolo de Borda es el siguiente: c gana con 20 puntos, b tiene 19, a tiene 18 y d pierde con 16. Si aplicamos el protocolo de Borda eliminando al agente d (alternativa irrelevante) el resultado se invierte y el ganador se vuelve perdedor. En este caso a gana con 15 puntos, b obtiene 14 y c pierde con 16. Por otro lado, anteriormente hemos asumido que al llevar a cabo un método de elección social como los anteriores todas las relaciones de preferencia son conocidas. Sin embargo, esto no es siempre cierto ya que en la mayoría de las ocasiones los agentes han de revelar sus preferencias y en determinadas ocasiones éstos pueden obtener beneficios no siendo sinceros a la hora de declararlas. El teorema de imposibilidad de Gibbard-Satterthwaite establece que los protocolos no manipulables (aquellos en los que los agentes no pueden mentir a la hora de revelar sus relaciones de preferencia) son dictatoriales, e.d. hay algún agente i que consigue elegir su mejor resultad (o uno de ellos) independientemente de lo que revelen los otros. Aunque después de los dos resultados de imposibilidad anteriormente expuestos parezca muy complicado el diseño de mecanismos de elección social, no siempre es así. En determinadas situaciones las relaciones de preferencia de los agentes pueden pertenecer a algún dominio restrictivo que invalide las condiciones de imposibilidad de ambos teoremas. Siendo posible en estos casos diseñar mecanismos de elección social no dictatoriales. Por ejemplo, el mecanismo de Groves [Groves et al., 77] recauda un impuesto sobre los votantes. Los agentes imponen un impuesto sobre aquellos agentes cuyos votos modifican el resultado de la votación. El valor del impuesto de un agente es exactamente igual a la cantidad en que su voto disminuye la utilidad de los restantes agentes. Aquellos agentes cuyo voto no cambia el resultado no han de pagar impuesto. Este mecanismo puede ser establecido de tal forma que la sinceridad a la hora de revelar las preferencias de los agentes sea la estrategia dominante. Por este motivo, los agentes no han de malgastar esfuerzo en especular acerca de las declaraciones de preferencias de los restantes agentes. Además, la participación de un agente dentro del mecanismo es siempre racional individual, puesto que éste únicamente puede incrementar su utilidad. Sin embargo, este mecanismo no mantiene el balance del presupuesto, ya que recaudan demasiados impuestos. Existen otros mecanismos en los que al revés que en el caso anterior, los impuestos recaudados son negativos. Sin embargo, no hay ninguno en que la recaudación sea igual a cero. Los esquemas en los que se recaudan demasiado poco 28 Universidad de Málaga requieren que intervenga un benefactor externo, y aquellos que recaudan demasiado no son óptimos de pareto debido a que la recaudación de impuestos extra ha de ser eliminada. El mecanismo de Groves que minimiza el exceso de la recaudación de impuestos se denomina Mecanismo de Impuestos de Clarke [Clarke, 71]. Normalmente, el Mecanismo de Impuestos de Clarke se ha utilizado para resolver problemas aislados de elección social. Ej. este mecanismo se ha usado en planificación multi-agente [Ephrati et al., 91] [Ephrati, 94]. 3.2.5 Subastas La teoría de las Subastas analiza los protocolos y las estrategias de comportamiento de los agentes en las subastas [Sandholm, 99]. Las subastas han tenido y tienen muchas aplicaciones prácticas en el mundo de la informática [Waldspurger et al., 92] [MacKieMason et al., 93] [Huberman et al., 95], e incluso existen varias páginas web en las que se compran y venden diferentes items usando subastas [Sandholm, 00]. A diferencia de la votación, donde el resultado afecta a todos los agentes, en las subastas el resultado es generalmente un trato entre dos agentes, el subastador y uno de los postores. Una subasta consiste en un subastador y varios postores potenciales. Las subastas son generalmente discutidas en situaciones en las que el subastador quiere vender un ítem y conseguir el pago posible más alto, mientras los postores quieren adquirir el ítem al precio más bajo posible. 3.2.5.1 Tipos de Subastas En las subastas nos podemos encontrar con tres situaciones diferentes dependiendo de cómo un agente determina el valor de un ítem (en este caso este valor es el equivalente monetario de la utilidad): i) subastas de valor privado, el valor de un bien depende únicamente de las propias preferencias del agente (Ej. la subasta de un pastel que el ganador se comerá), ii) subastas de valor común, el valor de un bien para un agente depende enteramente del valor que dicho bien tenga para los restantes agentes, iii). subastas de valor correlacionado, el valor que el agente asignará al bien dependerá parcialmente de sus propias preferencias y parcialmente de los valores de los otros (Ej. si se subasta una tarea que ha de llevarse a cabo, el propio agente postor puede llevarla a cabo el mismo, en cuyo caso las propias preferencias del agente son las que determinan el coste de llevar a cabo la tarea, o por el contrario el agente puede contratar la ejecución de la tarea en cuyo caso el coste depende únicamente de las valoraciones de los restantes agentes). 3.2.5.2 Protocolos de Subastas Subasta Inglesa, en esta subasta cada postor es libre de hacer su oferta. En el momento en que ningún postor desea hacer nuevas ofertas la subasta finaliza, y el postor con la oferta más alta hasta ese momento gana el bien al precio de dicha oferta. La estrategia de un agente puede consistir en hacer una serie de ofertas en función de su valor privado, de sus estimaciones acerca de las valoraciones de los restantes, y de las ofertas pasadas de los otros. En las subastas inglesas de valor privado, la estrategia dominante de un agente es siempre ofertar una pequeña cantidad más que la oferta actual más alta, y parar 29 Universidad de Málaga cuando se alcanza su precio de valor privado. En subastas de valor correlacionado las reglas son a menudo variadas: el subastador puede incrementar el precio en una proporción constante, o bien en la proporción que éste considere apropiado. Subasta Primer-Precio Oferta-Sellada, en esta subasta cada postor emite una oferta sin conocer las ofertas de los otros. La oferta más alta gana el bien y paga el precio total de su oferta. En este caso la estrategia de un agente es hacer su oferta en función de su valor privado y de sus creencias acerca de las valoraciones de los otros. En este tipo de subastas no hay estrategias dominantes a la hora de hacer ofertas. Suponiendo conocimiento común y considerando las distribuciones de probabilidad de los valores de los otros agentes, es posible determinar estrategias en equilibrio de Nash para los agentes [Rasmusen, 89]. Subasta Danesa, en esta subasta el subastador baja continuamente el precio hasta que una de las ofertas de los postores adquiere el bien al precio actual. Esta subasta es estratégicamente equivalente a la subasta primer-precio oferta-sellada, debido a que en ambos protocolos la oferta de un agente importa únicamente si es la más alta, y ninguna información importante es revelada durante la subasta. Subasta Vickrey (segundo-precio oferta-sellada), en esta subasta cada postor hace una oferta sin conocer las ofertas de los otros. El postor que hace la oferta más alta gana, pero al precio de la segunda oferta más alta [Vickrey, 61] [Milgrom, 85]. En estas caso la estrategia de un agente consiste en hacer su oferta en función de su valor privado y de sus creencias acerca de las valoraciones de los otros. La estrategia dominante en subastas Vickrey de valor privado es ofertar la valoración real del agente. Si un agente oferta una cantidad mayor que la real, y el incremento es precisamente la diferencia entre ganar o no, el agente terminará perdiendo si gana la subasta. Si el agente oferta menos, la oportunidad de ganar es menor, pero el precio ganador no se ve afectado. Por tanto, la estrategia dominante en las subastas Vickrey es hacer ofertas sinceras, sin tener en cuenta las características de los restantes agentes. Esto tiene dos efectos positivos: 1) los agentes revelan sus preferencias de forma sincera, lo que permite conseguir decisiones globales más eficientes, y 2) los agentes no necesitan malgastar esfuerzos en especular acerca de las valoraciones de los otros agentes. La subasta Vickrey ha sido ampliamente usada en sistemas multi-agente. Por ejemplo, se ha usado para asignar recursos computacionales en sistemas operativos [Waldspurger et al., 92], para asignar ancho de banda en redes de computador [MacKie-Mason et al., 93], para controlar entornos de construcción computacionales [Huberman et al., 95]. En [Sandholm, 96] se discuten algunas limitaciones a la subasta Vickrey en sistemas muti-agente. Por último, las subastas todo-pago son aquellas en las que todos los postores participantes tienen que pagar algo al subastador. Estos esquemas han sido usados en algunos sistemas multi-agente [Lenting et al., 94]. 30 Universidad de Málaga 3.2.5.3 Eficiencia de la Asignación Resultante Cuando se considera una oferta de forma aislada, cada uno de los cuatro protocolos de subasta (inglesa, danesa, primer-precio oferta-sellada y vickrey) asignan el bien subastado al postor que más lo valore. Se podría pensar que las subastas de primerprecio dan unos mayores ingresos esperados al subastador, ya que en las subastas de segundo-precio el subastador sólo consigue el segundo mejor precio. Esto no es así, ya que en las subastas de primer-precio los postores están motivados a mentir sesgando sus ofertas a la baja, mientras que en las de segundo-precio éstos ofertan con sinceridad. El teorema de equivalencia-ingresos [Vickrey, 61] [Milgrom, 85] [Rasmusen, 89] establece que los cuatro protocolos producen los mismos ingresos esperados al subastador en subastas de valor privado, donde los valores están distribuidos de forma independiente. Sin embargo, aunque las cuatro son pareto eficientes en la asignación, las únicas con estrategias dominantes (Inglesa y Vickrey) son más eficientes en el sentido en que los agentes no necesitan malgastar esfuerzo en especular acerca de las valoraciones de los otros postores. Sin embargo, en las subastas de valor correlacionado las subastas vickrey e inglesa producen unos mayores ingresos al subastador que la subasta primer-precio oferta-sellada o su equivalente, la subasta danesa. Un problema que se puede plantear con las cuatro subastas anteriores es la posible formación de coaliciones. Los postores podrían coordinar los precios de sus ofertas de modo que las ofertas se establecieran artificialmente bajas. De esta forma los postores conseguirían el bien a un precio más bajo al que normalmente lo obtendrían. De entre las cuatro las subastas inglesa y vickrey son las que pueden provocar más acuerdos en la formación de coaliciones. Por tanto, y con el objetivo de evitar la formación de coaliciones, las subastas danesa o la subasta primer-precio oferta-sellada son las más adecuadas. La falta de sinceridad puede ser otro problema añadido en las subastas. Por ejemplo, en la subasta vickrey el subastador puede subir artificialmente la segunda oferta más alta como si fuera la más alta, a menos que un postor pueda verificar esto. De esta forma, el postor con la oferta más alta tendrá que pagar más de lo que lo haría si el subastador actuara de forma honesta. Para resolver esto los postores podrían usar firmas electrónicas encriptadas, de forma que el subastador tendría que presentar la segunda mejor oferta al postor ganador y no podría alterarla. Las tres subastas restantes no presentan este problema debido a que el postor que ofrece el precio más alto consigue el bien al precio de su oferta. Finalmente, desde el punto de vista de la IAD es importante estudiar los aspectos computacionales de las subastas. Dos aspectos son muy importantes desde el punto de vista computacional: 1) la complejidad computacional que se produce cuando se subastan items interrelacionados, y 2) las implicaciones en los costes computacionales que suponen la obtención de información en protocolos o subastas de un único paso. 31 Universidad de Málaga 3.2.6 Asignación de Tareas entre Dos Agentes Rosenschein y Zlotkin [Rosensechein et al., 94] han desarrollado un protocolo de negociación para sistemas multi-agente computacionales basados en conceptos de design mechanism de teoría de juegos. Esta aproximación está basada en la suposición de que los agentes son económicamente racionales. El protocolo es específico para grupos de dos agentes que deben tener un lenguaje de comunicación común, una abstracción del problema común, y deben alcanzar una solución común. Los agentes que siguen este protocolo hacen un trato, e.d. alcanzan un plan conjunto entre ellos que debería satisfacer todos sus objetivos. Para cada agente la utilidad de un trato es el beneficio que éste obtiene por la ejecución del trato menos el coste de su parte del mismo. Cada agente quiere maximizar su propia utilidad. Este protocolo satisface los criterios de racionalidad individual, estabilidad, simetría, eficiencia u optimalidad de Pareto e independencia de alternativas irrelevantes. Además, Rosenschein y Zoltkin [Rosenschein et al., 94] incluyen en su trabajo una clasificación de los dominios. La clase de juegos más general es la de los dominios orientados al valor (Worth Oriented Domains, WODs). En éstos los agentes tienen diferentes preferencias numéricas para los diferentes estados del mundo, y todos ellos tienen las mismas capacidades y costes para llevar el mundo de un estado a otro. Un subconjunto de WODs son los dominios orientados a estados (State Oriented Domains, SODs). En estos las funciones de valor de los agentes son binarias, e.d. los agentes satisfacen un objetivo o no lo satisfacen, pero no se permite una satisfacción parcial de los objetivos. Los dominios orientados a tareas (Task Oriented Domains, TODs) son un subconjunto de los SODs. Aquí los agentes tienen que llevar a cabo una serie de tareas, y cada agente tiene las capacidades necesarias o recursos para su ejecución. Sin embargo, es posible que una distribución de las mismas entre los agentes les permita obtener beneficios. En términos formales un TOD es una tupla <T, A, c>, donde T es un conjunto de tareas, A es el conjunto de agentes, y c(X) es una función monótona relativa al coste de ejecución de las tareas X. La utilidad del trato d para el agente k es: Uk(d) = c(Tk) – c(dk) Un trato conflicto D se produce cuando los agentes no pueden llegar a un acuerdo y alcanzar un trato. Un trato es racional individual si d>D. Un trato d es pareto óptimo si no hay otro trato d´>d. El conjunto de todos los tratos que son racionales individuales y pareto óptimos se denomina conjunto de negociación, NS (Negotiation Set). Existen tres situaciones posibles: 1. Conflicto: si el NS está vacío. 2. Compromiso: los agentes prefieren estar solos, pero puesto que no lo están al final coinciden en un trato negociado. 3. Cooperativo: todos los tratos en el NS son preferidos por ambos agentes, sobre el hecho de alcanzar sus objetivos solos. 32 Universidad de Málaga Si se produce la situación de conflicto los agentes no se beneficiarán negociando sino que estarán mejor actuando solos. En los otros dos casos la negociación es la mejor alternativa. Puesto que los agentes tienen alguna autonomía en su ejecución, éstos pueden mentir o engañar a los otros a la hora de revelar sus tareas. Rosenschein y Zoltkin [Rosenschein et al., 94] también han investigado el desarrollo de protocolos en los que los efectos de la no sinceridad a la hora de revelar las tareas pueden ser estudiados. Concretamente, dentro de los dominios orientados a tareas se pueden incluir diferentes clases de dominios considerando la revelación de tareas no sincera: i) TODs subaditivos, aquellos en los que el coste de llevar a cabo juntos dos subconjuntos disjuntos de tareas, nunca excede la suma de los costes de llevar a cabo los subconjuntos de forma separada, ii) TODs cóncavos, son una subclase de los TODs subadtivos. Éstos son dominios en los que el coste de sumar un conjunto de tareas arbitrario a las tareas originales de un agente, nunca excede el coste de añadir ese conjunto arbitrario a un subconjunto de las tareas originales, y iii) TODs modulares, son una subclase de los TODs cóncavos. Son aquellos dominios en los que el coste de llevar a cabo cualesquiera dos subconjuntos disjuntos de tareas juntos iguala la suma de los costes de llevarlas a cabo de forma separada. En este análisis se distinguen tres tipos de tratos alternativos: Tratos Puros: a los agentes se les asigna de forma determinista conjuntos disjuntos de tareas. Tratos Mixtos: especifican una distribución de probabilidad sobre las particiones anteriores. Tratos Todo-o-Nada: son tratos mixtos donde las alternativas sólo incluyen particiones donde un agente lleva a cabo las tareas de los restantes agentes. Rosenschein y Zlotkin discuten tres formas de mentir en la revelación de tareas: 1) un agente puede ocultar tareas no revelándolas, 2) un agente puede declarar tareas fantasmas que no existen, y que no pueden ser generadas bajo demanada de otro agente, 3) un agente puede anunciar tareas señuelo que realmente no existen, pero que pueden ser generadas bajo demanda. Las formas de mentir que son posibles en las diferentes clases de dominio y con diferentes tipos de tratos se resumen en la figura 5. En general, se puede observar que en los TODs más generales muchos tipos de mentiras pueden llegar a ser beneficiosas. TODG TODG TODG TODS TODS TODS TODC TODC TODC TODM TODM TODM Ocul Fant Señu Ocul Fant Señu Ocul Fant Señu Ocul Fant Señu Tratos Puros M M M M M M M M M M Tratos Mixtos M M M M M Tratos TodoNada - - - M M Figura 5. En esta tabla se reflejan los resultados de Rosenschein y Zlokin acerca de la revelación de tareas no sincera. 33 Universidad de Málaga TODG significa TOD Generales, TODS significa TOD Subaditivo, TODC significa TOD Cóncavo y TODM significa TOD Modular. Ocul significa tareas ocultas, Fant tareas fantasmas, Señu tareas señuelo, y M que una mentira de ese tipo específico es beneficiosa en algunas instancias de problema dentro su clase de dominio correspondiente y su tipo de trato. En general, el conjunto de negociación, conjunto de tratos racionales individuales y pareto óptimos, en aquellos TODs que usen tratos TodoNada puede estar vacío. 4 Selección en Tiempo de Ejecución de los Mecanismos de Coordinación En [Bourne et al., 2000] se argumenta que los agentes autónomos necesitan flexibilidad a la hora de seleccionar, de una forma dinámica, el mecanismo que éstos quieran usar para coordinar sus acciones durante la resolución cooperativa de un problema. Para ello Bourne et al. han desarrollado un marco de trabajo formal que permite representar esta forma de razonamiento, y así seleccionar en tiempo de ejecución el modelo de coordinación que los agentes consideren adecuado. 1 2 3 4 5 1 A2 2 3 4 5 CT A1 ST1 ST2 Figura 6. Ejemplo de un escenario del mundo de malla Para la ilustración de esta idea sus autores han seleccionado el dominio del mundo de malla. En éste un grupo de agentes autónomos (Ai) han de llevan a cabo sus tareas específicas (STi) por las que recibirán un número determinado de unidades de beneficio (Ri) (figura 6). Además, hay otro tipo de tareas que necesitan varios agentes para su ejecución llamadas tareas cooperativas (CTs). Cada tarea tendrá un beneficio asociado con ella, siendo las CTs más beneficiosas que las STs. Los agentes se pueden mover en la malla un paso cada vez (por unidad de tiempo), y los movimientos son arriba, abajo, izquierda y derecha, o bien pueden permanecer en su sitio. En cada unidad de tiempo cada agente tiene un único objetivo, bien su ST o bien una CT. Cuando un agente llega a una casilla de la malla que contiene su objetivo, el agente recibe su beneficio asociado. A continuación, en el caso de ST aparece una nueva tarea específica en una posición aleatoria de la malla, y que únicamente es visible por el agente apropiado. En el caso de una CT también aparece una nueva tarea cooperativa en una posición aleatoria de la malla, pero es únicamente visible por aquel agente que llegue a la casilla donde se encuentra dicha CT. Si un agente encuentra una CT en su camino a su objetivo actual (su ST), éste debe decidir si iniciar o no un proceso de coordinación con los restantes agentes para llevar a cabo la CT, y si es así habrá de seleccionar el Mecanismo de Coordinación (CM) que usará. Dicho agente también puede decidir que coordinarse no es una opción viable, en cuyo caso adoptará el CM nulo (e.d. el agente rechaza CT como su objetivo). Para la 34 Universidad de Málaga selección del CM cada agente tiene un conjunto de CMs a su disposición, estando cada uno de ellos caracterizado por dos atributos: 1. Coste de Establecimiento (en términos de unidades de tiempo): por ejemplo un CM puede necesitar t unidades de tiempo para su establecimiento. Estas unidades de tiempo son modeladas por el agente esperando ese número de unidades de tiempo antes de solicitar ofertas de cooperación de los restantes agentes. 2. Probabilidad de Éxito: por ejemplo tener una probabilidad p de éxito significa que cuando los restantes agentes lleguen a la casilla en la que se encuentra la CT, el beneficio será asignado con probabilidad p ó bien con probabilidad cero en cualquier otro caso. Si el agente decide adoptar la CT como su objetivo, este se convierte en el agente encargado de la coordinación (AiC). AiC selecciona un CM y después de esperar el tiempo reglamentario de establecimiento, difunde una petición a los restantes agentes para que éstos participen en la coordinación. Los restantes agentes responden con ofertas en las que se especifica la cantidad del beneficio que piden para participar en la CT, y cuantas posiciones (o unidades de tiempo) están localizados fuera de la casilla en al que se encuentra la CT. A continuación, se especifica el protocolo que siguen los agentes en cada unidad de tiempo: 1) Cada agente llega a una casilla. Si su objetivo es alcanzado recibe el beneficio correspondiente, y actualiza su objetivo. 2) Si el agente encuentra una CT en un cuadrado, éste se convierte en AiC y decide que CM usar, CM = (t,p). Si t>0 éste debe esperar t unidades de tiempo y a continuación difundir una solicitud de coordinación. 3) Si un agente recibe una petición de coordinación, éste decide si emitir una oferta. Si la decisión es afirmativa y la oferta tiene éxito, este agente adopta CT como su nuevo objetivo (al igual que lo hizo AiC). Si no llega ninguna oferta con éxito AiC vuelve al paso 1). 4) Cada agente decide su próximo movimiento de acuerdo con su objetivo actual, y todos los agentes hacen sus movimientos simultáneamente. Asumimos que todos los agentes en este escenario son esencialmente cooperativos aunque interesados. Sin embargo, para modelar el hecho de que esto no tiene que ser siempre así se introduce el concepto de “Deseo de Cooperación de un Agente” (WtC). Este factor, w, representa la intención que un agente tiene de cooperar más que de recoger únicamente su beneficio. Un agente neutral únicamente necesita recibir el mismo beneficio de CT que de su ST (esto se corresponde con un factor WtC de w = 1). Hay cuatro tipos de decisiones que los agentes han de tomar: 1) Su dirección de movimiento en la malla, 2) Que CM adoptar, si lo desea, 3) Cuanto ofertar cuando reciba una petición de coordinación, 4) Cómo determinar que oferta aceptar, si las hay. 1) Dirección de Movimiento. Cada agente decide moverse hacía su objetivo seleccionando la dirección (izquierda, derecha, arriba, abajo) 35 Universidad de Málaga probabilísticamente, de acuerdo al ratio de arriba/abajo a izquierda/derecha de casillas fuera de su objetivo. Ejemplo: si un agente está localizado 4 casillas arriba y 3 a la derecha de su objetivo, con probabilidad 4/7 se moverá hacía arriba y con probabilidad 3/7 se moverá a la derecha. 2) CM a Usar. Para esto el agente debe determinar que ventaja obtendrá si decide cooperar. Esto depende de los CM disponibles, del beneficio obtenido, así como de varios factores del entorno que pueden afectar las demandas esperadas de los agentes de coordinación potenciales. Para modelar las demandas esperadas de los restantes agentes, el AiC asume que éstos están aleatoriamente distribuidos a través de la malla, y que sus respectivas ST están similarmente distribuidas. Por tanto, algunos agentes pueden estar cerca de la CT mientras otros pueden estar lejos. Por este motivo para algunos agentes alcanzar la CT desde su ST les supondrá una desviación significativa, mientras para otros coordinarse para alcanzar la CT no les supondrá ninguna desviación ya que ésta se encuentra en su ruta hacía su ST. El AiC selecciona los posibles CMs en base a dos criterios: i) cuánto puede tardar en llevar a cabo la tarea (incluyendo el tiempo de establecimiento y la distancia media a la que cada agente se encuentra situada del cuadrado donde la CT esta situado), ii) el beneficio que puede obtener después de deducir el beneficio esperado de los otros agentes (basado sobre la cantidad de tiempo que ellos deben emplear desviándose de su ruta y en la probabilidad de éxito del CM). Aunque estos criterios no son criterios globalmente óptimos para decidir que CM usar, estos pueden tener sentido desde el punto de vista de un agente auto-interesado. 3) Cuanto Ofertar. Cuando un agente recibe una petición para iniciar una coordinación, éste debe emitir una oferta basada en la cantidad de beneficio que pediría para compensar su desviación de la ruta que le lleva a su ST, así como contemplar la posibilidad de que el CM seleccionado podría fallar. Además, también comunican a AiC su distancia actual a la casilla en la que se encuentra la CT 4) Que Oferta Aceptar. Una vez que AiC ha recibido ofertas de todos los agentes selecciona aquella oferta que maximiza su beneficio, teniendo en cuenta toda la información que ha recibido. En el caso de que no se reciba ninguna oferta con beneficio positivo, AiC vuelve al paso 2 del protocolo e intenta coordinarse de nuevo. Este modelo de razonamiento ha sido evaluado de forma empírica, con el objetivo de mostrar sus efectos sobre los agentes individuales y el sobre el sistema completo. Un primer grupo de experimentos mostró que la elección del CM depende en gran medida del posicionamiento de la CT. Si la distancia de la CT al centro de la malla se incrementa, el tiempo esperado para que un agente alcance la CT también se incrementa. Por este motivo para que dicho agente justifique su elección de la CT sobre su ST, el AiC ha de asegurar que la cooperación tendrá éxito. Esta es la razón por la que en estas posiciones se seleccionan CMs con mayor probabilidad de éxito. Sin embargo, si la CT se posiciona más hacía el centro de la malla, el tiempo que 36 Universidad de Málaga AiC ha de esperar por término medio para que llegue otro agente será mucho menor, por eso puede permitirse una probabilidad de fallo mayor en el CM. Por tanto, en estas situaciones el AiC selecciona el CM que minimicen el tiempo de establecimiento. Un segundo grupo de experimentos mostró que un factor clave a la hora de determinar la cantidad de cooperación que se produce es el tamaño de la malla. A medida que el tamaño de la malla se incrementaba la utilidad del sistema se decrementaba (esto es debido a que los agentes en este caso tienen menor oportunidad de cooperar en la CT). Por último, un tercer grupo de experimentos estudió el efecto del factor WtC. Los resultados mostraron que a medida que se incrementaba el factor w, se decrementaban el número de CTs que se iniciaban y llevaban a cabo. 5 Soporte Operacional para los Mecanismos de Coordinación (agentes heterogéneos y sistemas abiertos) Los agentes pueden mejorar la coherencia del mecanismo de coordinación utilizado para la resolución del problema planificando el tipo, el contenido, la cantidad y la temporización de la comunicación que los agentes intercambian entre sí. Se ha observado que la utilización de abstracción e información a un meta nivel es útil debido a que ésta puede ayudar a decrementar la sobrecarga de comunicación. Sin embargo, en entornos abiertos y dinámicos habitados por agentes heterogéneos (como puede ocurrir con Internet), es necesario afrontar asuntos adicionales entre los que destaca la interoperabilidad entre agentes. Lógicamente los agentes necesitan interactuar los unos con los otros para cumplir los objetivos de sus diseñadores. En tales entornos abiertos para que los agentes puedan coordinarse los unos con los otros, se han de solucionar dos problemas importantes: 1) los agente han de ser capaces de localizarse los unos con los otros (en un entorno abierto los agentes pueden aparecer y desaparecer impredeciblemente), y 2) los agentes han de ser capaces de comunicarse e interoperar. 5.1 Agentes Intermediarios Los agentes intermediarios [Kuokka et al, 96] han sido unas de las soluciones propuestas al primer problema. Estos agentes permiten a un sistema operar de forma robusta enfrentándose a apariciones y desapariciones de agentes, así como a comunicaciones intermitentes. Cada agente que necesite coordinarse anuncia sus capacidades a un agente intermediario. Éstos emparejan anuncios de peticiones con las correspondientes capacidades también anunciadas. Se han identificado diferentes tipos de agentes intermediarios [Chi Wong et al., 00], incluyendo agentes Matchmakers o Páginas Amarillas (Figura 7), y agentes Brokers o Facilitadores (Figura 8). La principal diferencia entre ambos tipos es que los agentes facilitadores hacen de intermediarios en todas las transacciones, a diferencia de los agentes páginas amarillas que únicamente ponen en contacto al agente que solicita una capacidad con el o los agentes que la proporcionan, y a partir de ese momento ya no actúan de intermediarios. 37 Universidad de Málaga Peticiones de Servicios Matchmaker Demandante Descripción de Proveedores Resultados de la Petición de Servicios Delegación de Servicios Anuncios de Capacidades Proveedor 1 Proveedor n Figura 7. Matchmaker o Páginas Amarillas Además de esta diferencia fundamental, se ha podido observar en determinados experimentos [Decker et al., 97] que cada tipo de agente intermediario tiene ciertos comportamientos característicos. Por ejemplo, mientras los agentes Broker son más vulnerables a ciertos fallos, son también más capaces de hacer frente a trabajos más rápidamente fluctuantes. Delegación de Servicio Broker Demandante Resultados de Servicio Delegación de Servicios Delegación de Servicios Proveedor 1 Anuncios de Capacidades Proveedor n Figura 8. Facilitador o Broker Además de esta diferencia fundamental, se ha podido observar en determinados experimentos [Decker et al., 97] que cada tipo de agente intermediario tiene ciertos comportamientos característicos. Por ejemplo, mientras los agentes “Broker” son más vulnerables a ciertos fallos, son también más capaces de hacer frente a trabajos más rápidamente fluctuantes. 5.2. Lenguajes de Comunicación de Agentes Los lenguajes de comunicación entre agentes (ACLs) permiten a los agentes interactuar mientras ocultan los detalles de sus trabajos internos, permitiendo de este modo a la comunidad de agentes resolver problemas que los agentes individuales por si solos no podrían. Un ACL proporciona a los agentes un medio de intercambiar información y 38 Universidad de Málaga conocimiento, y aunque otros mecanismos se han utilizado para lograr estos objetivos (Ej. llamada remota a procedimientos, RPC, ó invocación de métodos remotos, RMI), lo que distingue a los ACLs de estos últimos es fundamentalmente su complejidad semántica. Los ACLs sostienen proposiciones, reglas y acciones en lugar de simples objetos con ninguna semántica asociada a ellos. Además un mensaje ACL describe un estado deseado en un lenguaje declarativo, más que un procedimiento o un método. A un nivel técnico, cuando se usa un ACL los agentes transportan mensajes sobre la red usando un protocolo de bajo nivel (SMTP, TCP/IP, IIOP ó HTTP). Además, el ACL define el tipo de mensajes (y sus significados) que los agentes pueden intercambiar. Estos tipos de mensajes son concebidos como actos de habla los cuales se describen y definen en términos de creencias, deseos, intenciones y modalidades similares. Este tipo de descripción a nivel intencional permite describir un amplio rango de agentes BDI, que tienen alguna representación implícita o explícita de las correspondientes modalidades. Esta representación se construye por encima de un sustrato que describe el modelo conceptual del conocimiento, objetivos y compromisos de un agente. Todo esto es comúnmente conocido como teoría BDI. Aunque el objetivo de un ACL es capturar las actitudes proposicionales sin preocuparse de cómo se expresan estas proposiciones, estas proposiciones son importantes puesto que indican acerca de están hablando los agentes Una propuesta de KSE (Knowledge Sharing Effort) fue usar KIF (Knowledge Interchange Format) como un estándar para describir elementos o items dentro de los sistemas computacionales tales como sistemas expertos, bases de datos, agente inteligentes y demás. KSE diseña KIF para hacerlo útil como un lenguaje intermedio o mediador en la traducción de otros lenguajes. KIF es un lenguaje lógico. Éste es una versión prefija del cálculo de predicados de primer orden, con extensiones para soportar meta-operadores y definiciones. El problema de la ontología, es decir, el problema de cómo los agentes pueden compartir significados, también ha sido abordado. Ontolingua [Farquhar et al., 96] ha sido la solución propuesta por KSE. Éste es un lenguaje diseñado para describir ontologías, y proporciona además una variedad de herramientas de apoyo que permiten desarrollar y mantener las ontologías. Ejemplos de ACL pueden ser KQML (Knowledge Query and Manipulation Language) [Labrou et al., 97] y FIPA ACL (Foundations for Intelligent Physical Agents). La semántica de KQML ha sido quizás el asunto más importante en el debate sobre ACLs. Por otro lado, FIPA ACL es un lenguaje de desarrollado por la FIPA (www.fipa.org), que ha sido la primera organización que ha encaminado sus esfuerzos al desarrollo de estándares en el campo de los agentes. En [Labrou et al., 99] podemos encontrar una interesante evaluación comparativa entre ambos, que va más allá del asunto de la semántica y apunta a las limitaciones prácticas que comparten estos ACLs. 6 Referencias [Arrow, 63] Arrow, K. “Social choice and individuals values”. New Haven, Cowles Foundation, 2nd Edition, 1963. [Bond et al., 88] Bond A.H. and Gasser, L. “Readings in Distributed Artificial Intelligence”. San Francisco, Morgan Kaufmann, 1988. 39 Universidad de Málaga [Bourne at al., 00] Bourne, R., Excelente-Toledo, C., and Jennings, N. “Run-Time Selection of Coordination Mechanisms in Multi-Agent Systems”. In Proc. of the 14th European Conference on Artificial Intelligence, ECAI-2000, pp. 348-362, 2000. [Cammarata et al., 83] Cammarata, S., McArthur, D. and Steeb, R. “Startegies of Cooperation in distributed Problem Solving”. In Proc. of the 8th International Joint Conference on Artificial Intelligence, pp. 767-770, Germany, 1983. [Cheng et al., 95] Cheng, J.Q. and Wellman, M.P. “The walras algorithm: A convergent distributed implementation of general equilibrium outcomes”. Computational Economics, 1997. [Chi Wong et al., 00] Chi Wong, H. and Sycara, K. “ A Taxonomy of Middle-Agents for the Internet”. In Proc. Of the 4th International Conference on Multiagent Systems (ICMAS-00), 2000. [Clarke, 71] Clarke, E.H. “Multipart pricing of public goods”. Public Choice (11), pp.17-33, 1971. [Cohen et al., 91] Cohen, P.R and Levesque, H. J. “Teamwork”. Nous, 25(4), pp. 487512, 1991. [Corkill et al., 83] Corkill, D.D. and Lesser, V.R. “The Use of Metalevel Control for Coordination in a Distributed Problem-Solving Network”. In Proc. of the 8th International Joint Conference on Artificial Intelligence (IJCAI-83), pp.767-770, 1983. [Corkill, 79] Corkill, D.D. “Hierarchical Planning in distributed environment. In Proc. of the 6th International Joint Conference on Artificial Intelligence, pp. 168-175, Cambridge, 1979. [Decker at al., 92] Decker, K.R. and Lesser V.R. “The analysis of quantitative coordination relationships”. In Proc. of 11th International Workshop on Dstributed Artificial Intelligence, pp.59-76, Glen Arbor, 1992. [Decker at al., 97] Decker, K., Sycara, K. and Williamson, M. “Middle-Agents for the Internet”. In Proc. Of the 15th International Joint Conference on Artificial Intelligence, (IJCAI-97), 1997. [Decker et al., 96] Decker, K., Sycara, K. and Williamson, M. “Middle-agents for the internet”. In Proc. of the fifteenth International Joint Conference on Artificial Intelligence (IJCAI-97), Nagoya, Japan, 1997. [Durfee et al. 87] Durfee, E.H. Lesser, V.R. and Corkill, D.D. “Coherent Cooperation among Communicating Problem Solvers”. IEEE Transactions on Computers, C-36 (11), pp. 1275-1291, 1987. [Durfee et al., 94] Durfee, E. and Rosenschein, J. “Distributed Problem Solving and Multi-Agent Systems: Comparisions and Exmaples”. In Proc. of the 13th International DAI Workshop, pp. 94-104, 1994. [Durfee, 91] Durfee, E.H. and Lesser, V.R. “Partial Global Planning: A coordination framework for distributed hypothesis formation”. IEEE Transactions on Systems, Man and Cybernetics, 21(5), pp. 1167-1183, 1991. [Durfee, 99] Durfee, E.H. “Practically Coordinating”. AI Magazine, 20(1), pp. 99-116, 1999. [Ephrati et al., 91] Ephrati, E. and Rosenschein, J.S. “The Clarke tax as a consensous mechanism among automated agents”. In Proc. of the National Conference on Artificial Intelligence, pp. 173-178, 1993. [Ephrati, 94] Ephrati, E. “A non-manipulable meeting scheduling system”. In Proc. of the 13th International Distributed Artificial Intelligence Workshop, 1994. 40 Universidad de Málaga [Farquhar et al., 96] Farquhar, A., Fikes, R. and Rice, J. “The Ontolingua Server: A Tool for Collaborative Ontology Construction”. Tech. Report KSL-96-26, Standford Knowledge Systems Laboratory, 1996. [Friedman, 91] Friedman, J. “Teoría de Juegos con Aplicaciones a la Economía”. Ed. Alianza Universidad, 1991. [Gasser, 92] Gasser, L. “ DAI approaches to Coordination”. N.M. Avouris and L. Gasser, ed. Distributed Artificial Intelligence: Theory and Praxis. pp 31-51, Kluwer Academic Publishers, Boston, 1992. [Georgeff, 83] Georgeff, M.P. “Communication and action in multi-agent planning”. In Proc. of the 3rd National Conference of Artificial Intelligence, pp. 125-129, Washington D.C., 1983. [Gmytrasiewicz et al, 95] Gmytrasiewicz, P.J. and Durfee, E.H. “A Rigorous Operational Formalization of Recursive Modeling”. In Proc. of the first International Conference on Multi-Agent Systems, pp. 125-132, San Franscisco, AAAI Press, 1995. [Grosz et al, 96] Grosz, B. and Kraus, S. “Collaborative plans for complex group actions”. Artificial Intelligence, 86 (2), pp.269-357, 1996. [Groves et al., 77] Groves, T. and Ledyard, J. “Optimal allocation of public goods: a solution to the `free-rider´ problem. Econometrica, 45, pp.783-809, 1977. [Harsanyi, 56] Harsanyi, J. “Approaches to the Bargaining Problem Before and After the Theory of Games”. Econometrica, 24, pp.144-156, 1956. [Hart, 97] Hart, S. “Classical Cooperative Theory I: Core-Like Concepts”. Cooperation: Game-Theoretic Approaches. NATO ASI Series, Hart, S. & Mas-Colell, A. Eds. F 155, 1997. [Huberman et al., 95] Huberman, B. and Clearwater, S.H. “ A multi-agent system for controlling building environments”. In Proc. of the First International Conference on Multi-Agent Systems (ICMAS), pp. 171-176, 1995. [Huhns et al., 99] Hunhns, M. N. and Stephens, L.M. “Multiagent Systems and Societies of Agents”. G. Weiss ed. Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. pp 79-120. The MIT Press, 1999. [Jennings et al., 97] Jennings, N. and Campos, J. “Towards a Social Level Characterisation of Socially Responsible Agents”. IEEE Proc. On Software Engineering, 144(1), 1997. [Jennings et al., 98] Jennings, N.R., Sycara, K., and Wooldridge, M. “ A Roadmap of Agent Research and Development”. Autonumous Agents and Multi-Agent Systems, 1, pp. 275-306, 1998. [Jennings, 96] Jennings, N.R. “Coordination Techniques for Distributed Artificial Intelligence”. In G.M.P. O`Hare and N.R. Jennings, ed., Foundations of Distributed Artificial Intelligence, pp. 187-210. John Wiley and Sons Inc., New York, 1996. [Kalai et al., 75] Kalai, E., Somorodinsky, M. “Other Solutions to Nash´s Bargaining Problem”. Econometrica 43, pp. 513-518, 1975. [Kalai, 77] Kalai, E. “Proportional Solutions to Bargaining Solutions: Interpersonal Utility Comparations”. Econometrica 45, pp.1623-1630, 1977. [Kraus et al., 95] Kraus, S., Wilkenfeld, J. and Zlotkin, G. “Multiagent Negociation under time constraints”. Artificial Intelligence , 75, pp. 297-345, 1995. [Kreps, 90] Kreps, D.M. “A Course in Microeconomic Theory”. Princenton University Press, 1990. 41 Universidad de Málaga [Kuokka et al., 96] Kukkoa, D.R. and Harada, L.P. “Issues and extensions for information matchmaking protocols”. International Journal of Cooperative Information Systems, 5(2-3), pp. 251-274, 1996. [Labrou et al., 97] Labrou, Y. and Finin, T. “A Proposal for a New KQML Specification”. Tech. Report TR-CS-97-03, Computer Science and Electrical Engineering Dept., Univ. of Maryland, Baltimore County, 1997. [Labrou et al., 99] Labrou, Y., Finin, T. and Peng, Y. “Agent Communication Languages: The Current Landscape”. IEEE Intelligent Systems, March/April, 1999, pp. 45-52, 1999. [Lander et al. 93] Lander, S.E. and Lesser, V.R. “Understanding the role of negotiation in distributed search among heterogeneous agents”. In Proc. of the Thirteenth International Joint Conference on Artificial Intelligence (IJCAI-93), pp. 438-444, 1993. [Lander et al., 91] Lander, S., Lesser, V.R., and Connell, M.E. “Conflict-Resolution Strategies for Cooperating Expert Agents”. In CKBS-90, Proc. of the International Working Conference on Cooperating Knowledge-Based Systems, ed. S.M. Deen, pp. 183-200, Springer-Verlag, 1991. [Lenting et al., 94] Lenting, J. and Braspenning, P. “ An all-pay auction approach to reallocation”. In Proc. of the 11th European Conference on Artificial Intelligence, pp. 259-263, 1994. [Lesser et al., 81] Lesser, V.R. and Corkill, D.D. “Functionally accurate cooperative distributed systems”. IEEE Transactions on System, Man and Cybernetics SMC-11(1), pp.81-96, 1981. [Levesque et al., 90] Levesque, H. J., Cohen, P.R., and Nunes, J. H. T. “On acting together”. In Proc. of the 8th National Conference on Artificial Intelligence (AAAI-90), Boston, pp.94-99, 1990. [MacKie-Mason et al., 93] MacKie-Mason, J.K. and Varian, H.R. “Pricing the Internet”. In Proc. of the Public Access to the Internet Conference. JFK School of Government, 1993. [Milgrom, 85] Milgrom, P.R. “ The economics of competitive bidding: a selective survey”. In L. Hurwicz, D. Schmeidler, H. Sonnenschein, eds. Social goals and social organizations: Essays in memory of Elisha Pazner, Chapter 9, pp. 261-292, Cambridge University Press, 1985. [Mullen et al., 95] Mullen, T. And Wellman, M.P. “A simple computational market for network information services “. In Proc. of the first International Conference on MultiAgent Systems (ICMAS-95), pp. 283-289, San Francisco, 1995. [Müller, 96] Müller, H. “Negotiation Principles”. In G.M.P. O`Hare and N.R. Jennings, ed., Foundations of Distributed Artificial Intelligence, pp. 187-210. John Wiley and Sons Inc., New York, 1996. [Nash, 50] Nash, J.F. “The bargaining Problem”. Econometrica 28, pp.155-162, 1950. [Newell, 90] Newell, A. “Unified Theories of Cognition”. Harvard University Press, 1990. [Ossowski, 97] Ossowski, S. “Contribución al estudio functional de las sociedades artificiales de agentes”. Tesis Doctoral, Universidad Politecnica de Madrid, 1997. [Pattison et al., 87] Pattison, H.E.,Corkill, D.D. and Lesser, V.R. “Instantiating descriptions of organizational structures”. M.N. Hunhns ed. Distributed Artificial Intelligence, Morgan Kaufmann, London, 1987. 42 Universidad de Málaga [Pope at al., 92] Pope, R.P., Conry, S.E. and Mayer, R.A. “Distributing the planning process in a dynamic environment”. In Proc. of 11th International Workshop on Distributed Artificial Intelligence, pp. 317-331, Glen Arbor, 1992. [Rasmusen, 89] Rasmusen, E. “Games and Information”. Basil Blackwell, 1989. [Rosenschein et al., 94] Rosenschein, J. S. and Zoltkin, G. “Rules of Encounter”. The MIT Press, 1994. [Rubinstein, 82] Rubinstein, A. “Perfect Equilibrium in a Bargaining Model”. Econometrica, 50, pp. 97-109, 1982. [Russel et al., 95] Russel, S. and Norving, P. “ Artificial Intelligence: A Modern Approach”. Prentice-Hall, 1995. [Sacerdoti, 77] Sacerdoti, E.D. “A Structure for Plans and Behaviour”. Elsevier, Amsterdam, 1977. [Sandholm et al., 95] Sandholm, T. and Lesser, V.R. “Issues in Automated Negotiation and Electronic Commerce: Extending the Contract Net Protocol”. In Proc. of Second International Conference on Multiagent Systems, AAAI Press, pp.328-335, 1995. [Sandholm et al., 97] Sandholm, T., Lesser, V. “Coalitions among computationally bounded agents”. Artificial Intelligence, 94 , pp. 99-137, 1997. [Sandholm, 96] Sandholm, T.W. “Negotiation among Self-Interested Computationally Limited Agents”. PhD thesis, University of Massachusetts, Amherst, 1996. [Sandholm, 99] Sandholm, T. W. “Distributed Rational Decision Making”. Weiss, G. ed. Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, pp.201-258, The MIT Press, 1999. [Sandholm, et al., 99b] Sandholm, T., Larson, K., Anderson, M., Shehory, O, and Thome, F. “Coalition Structures with Worst Case Guarantees”. Artificial Intelligence, 111 (1-2), pp. 209-238, 1999. [Sandholm, 00] Sandholm, T. “eMediator: A Next Generation Electronic Commerce Server”. In Proc of Autonomous Agents, AGENTS-00, pp.341-348, 2000. [Shapley, 53] Shapley, L.S. “A value for n-person games”. In Contributions to the Theory of Games II (Annals of Mathematics Studies 28), Khun, H., Tucker, A. Eds. Princenton University Press, 307-317, 1953. [Shoham et al., 92] Shoham, Y. and Tennenholtz, M. “On the synthesis of useful social laws for artificial agent societies. In Proc. Nat. Conf. Artificial Intelligence, 10th, (AAAI-92) San José pp.276-281, 1992. [Singh, 90] Singh, M.P. “ Group Intentions”. In Proc. of 10th Workshop Distributed Artificial Intelligence, Bandera, TX, MCC Tech. Rep. ACT-AI-355-90. [Smith, 80] Smith, R. G. “ The Contract Net Protocol: High Level Communication and Control in Distributed Problem Solver”. IEEE Transactions on Computers, C-29 (12), pp.1104-1113, 1980. [Sycara, 90] Sycara, K.P. “Persuasive argumentation in negotiation”. Theory and Decision, 28, pp. 203-242, 1990. [Sycara, 97] Sycara, K. “Using Option Pricing to Value Commitment Flexibility in Multiagent Systems”. Tech. Report, CMU-CS-TR-97-169, School of Computer Science, Carnegie Mellon University, 1997. [Tambe, 97] Tambe, M. “Recursive agent and agent group tracking in a real-time, dynamic environment”. In Proc. of the first International Conference on Multi-Agent Systems, San Francisco, pp.368-375, 1995. 43 Universidad de Málaga [Thomson, 97] Thomson, W. ”Cooperative Theory of Bargaining I: Classical”. Cooperation: Game-Theoretic Approaches. NATO ASI Series, Hart, S. & Mas-Colell, A. Eds. F 155, 1997. [Varian, 92] Varian H.R. “Microeconomic analysis”. New York: W.W. Norton, 1992. [Vickrey, 61] Vickrey, W. “Counterspeculation, autions, and competitive sealed tenders”. Journal of Finance, 16, pp. 8-37, 1961. [Von Martial, 92] von Martial, F. “Coordination by negotiation based on a connection of dialogue states with actions”. In Proc. of the 11th Workshop on Distributed Artificial Intelligence, pp. 227-246, Glen Arbor, 1992. [Von Neumann, 44] Von Neumann, J., Morgenstern, O. “Theory of Games and Economic Behaviour”. Princenton University Press, 1944. [Waldspurger et al., 92] Waldspurger, C.A., Hogg, T., Hunerman, B., Kephart, J. and Stornetta, W.S. “Spawn: A distributed computational economy”. IEEE Transactions on Software Engineering, 18 (2), pp. 103-117, 1992. [Wellman, 93] Wellman, M.P. “A market-oriented programming environment and its application to distributed multicommodity flow problems”. Journal of Artificial Intelligence Research, 1, pp.1-23, 1993. [Wellman, 94] Wellman, M.P. “A computational market model for distributed configuration design”. In Proc. 12th National Conference on Artificial Intelligence (AAAI-94), Seattle, pp. 401-407, 1994. [Wellman, 95] Wellman, M.P. “Market-Oriented Programming: some early Lessons”. In Clearwater, S. ed. “Market-based Control: A Paradigm for Distributed Resource Allocation”, World Scientific, 1995. [Werkman, 92] Werkman, K.J. “Multiple agent cooperative design evaluation using negotaiation”. In Proc. of the second International Conference on Artificial Intelligence in Design, Pittsburgh, 1992. [Werner, 89] Werner, E. “Cooperating Agents: A unified theory of communication and social structure”. L. Gasser and M.N. Huhns, ed. Distributed Artificial Intelligence, 2, pp. 3-36, Morgan Kaufmann, London, 1989. [Wu, 77] Wu, L.S. “A dynamic theory for the class of games with nonempty cores”. SIAM Journal of Applied Mathematics, 32, pp. 328-338, 1977. [Zeuthen, 30] Zeuthen, F. “Problems of Monopoly and Economic Warfare”. Routledge & Kegan, P, 1930. [Zoltkin et al., 94] Zoltkin, G., Rosenschein, J. “Coalition, Cryptography and Stability: mechanisms for coalition formation in task oriented domain”. In Proc. of the National Conference on Artificial Intelligence, pp. 432-437, Seattle, 1994. 44