coord-survey2 - Grupo de Inteligencia Artificial

Anuncio
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 dS. 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 S0n. 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|xS} 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 ji); para todo tN, zt=(xi(t-1))/n, y xit es el punto
óptimo de pareto con xijt=xtj para todo ji.
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 S02, f(S,d)OP(S)={xS|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 ji,
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, xRn, pertenezca al núcleo, y sea, por tanto, una posible
solución al problema son necesarias dos condiciones: 1) racionalidad individual,
xiv({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, iN 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 iK
xiv(K) para todo KN. 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, yKxK, 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)=KN [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, iN i(v)=v(N)
Si v(K\{i})=v(K) para todas las coaliciones KN, 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
abcd
bcda
cdab
abcd
bcda
cdab
abcd
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
Descargar