**SVRAI**
**Sistemas Multiagente (una visión histórica)**
(por **Katia P. Sycara**, publicado en *[AI Magazine*, Volume 19, Number 2 (1998)](https://onlinelibrary.wiley.com/doi/full/10.1609/aimag.v19i2.1370))
!!!def: Resumen
La tecnología de sistemas basados en agentes ha despertado un gran interés en los últimos años por su proyección como nuevo paradigma para conceptualizar, diseñar e implantar sistemas de software. Este modelo es especialmente atractivo para crear software que funcione en entornos distribuidos y abiertos, como Internet. En la actualidad, la gran mayoría de los sistemas basados en agentes constan de un único agente. Sin embargo, a medida que la tecnología madura y aborda aplicaciones cada vez más complejas, se hace más evidente la necesidad de sistemas formados por múltiples agentes que interactúen de igual a igual. Para el diseño y el funcionamiento eficaz de estos sistemas multiagente (MAS, por sus siglas en inglés) son fundamentales una serie de cuestiones y preguntas de investigación que han sido estudiadas a lo largo de los años por la comunidad de IA distribuida. En este artículo, presento algunas de las nociones críticas de los MAS y los trabajos de investigación que las han abordado. Organizo estas nociones en torno al concepto de coherencia en la resolución de problemas, que creo que es una de las características generales más importantes que debe presentar un MAS.
Hasta la fecha, la mayoría de los investigadores en IA se han dedicado a desarrollar teorías, técnicas y sistemas para analizar y determinar las propiedades de comportamiento y razonamiento de una única entidad cognitiva. La IA ha madurado y se esfuerza por resolver problemas más complejos, realistas y a gran escala. La capacidad de un organismo independiente está limitada por sus conocimientos, sus recursos de almacenamiento y su perspectiva. Esta **racionalidad limitada** (Simón, 1957) es una de las razones fundamentales para crear organizaciones que resuelvan problemas. Las herramientas más poderosas para hacer frente a la complejidad son la **modularidad** y la **abstracción**. Los **sistemas multiagente** (**MAS**) ofrecen modularidad. Si un problema es especialmente complejo, extenso o impredecible, la única forma de abordarlo con garantías consiste en desarrollar un número de componentes (agentes) funcionalmente específicos y (casi) modulares especializados en resolver un aspecto concreto del problema. Esta posición permite a cada agente utilizar el paradigma más adecuado para resolver su problema concreto. Cuando surgen problemas interdependientes, los agentes del sistema deben coordinarse entre sí para garantizar una gestión adecuada de las interdependencias.
!!!side:1
Quizá el ejemplo más conocido de un entorno de software muy abierto sea Internet. Internet puede verse como un gran recurso de información distribuido, con nodos en la red diseñados e implementados por diferentes organizaciones e individuos.
!!!side:2
Actualmente, los agentes de Internet se dedican sobre todo a recuperar y filtrar información. La próxima generación de agentes realizará tareas de recopilación de información en contexto y de razonamiento sofisticado en apoyo de las tareas de resolución de problemas de los usuarios.
Además, los problemas reales implican **sistemas distribuidos** y **abiertos** (Hewitt 1986). Un sistema abierto es aquel en el que la estructura del propio sistema es capaz de cambiar dinámicamente. Las características de un sistema de este tipo son que sus componentes no se conocen de antemano, pueden cambiar con el tiempo y pueden estar formados por agentes muy heterogéneos implementados por diferentes diseñadores, en diferentes momentos y con diferentes herramientas y técnicas de software $^1$. En un entorno abierto, las fuentes de información, los enlaces de comunicación y los agentes pueden aparecer y desaparecer inesperadamente $^2$. Estas capacidades exigen que los agentes puedan interoperar y coordinarse entre sí en interacciones de igual a igual. Además, estas capacidades permitirán a los agentes aumentar el ámbito de resolución de problemas de los agentes individuales. Tales funciones requerirán técnicas basadas en la **negociación** o la **cooperación**, que se encuentran firmemente en el dominio de los MAS (Jennings, Sycara y Wooldridge 1998; O'Hare y Jennings 1996; Bond y Gasser 1988).
Cada vez está más claro que, para tener éxito, hay que dedicar más recursos a la investigación y prestar más atención a los sistemas en los que coexisten no uno, sino varios agentes. La comunidad de la **Inteligencia Artificial Distribuida** (**IAD**), que comenzó a formarse a principios de los años ochenta y era muy pequeña en comparación con la Inteligencia Artificial unitaria dominante, está creciendo rápidamente. El crecimiento del campo de la IAD es incalculable.
!!!def
La investigación en MAS se centra en el estudio, el comportamiento y la construcción de un conjunto de agentes autónomos posiblemente preexistentes que interactúan entre sí y con sus propios actores. El análisis de estos sistemas va más allá del estudio de la inteligencia individual para considerar, además, la resolución de problemas con implicaciones sociales.
*Un MAS puede definirse como una red débilmente acoplada de solucionadores de problemas que interactúan para resolver problemas que van más allá de las capacidades individuales o conocimientos de cada solucionador de problemas* (Durfee y Lesser 1989).
Estos solucionadores de problemas, a menudo denominados **agentes**, son autónomos y pueden ser de naturaleza heterogénea.
!!!note
Desde este punto de vista, las principales características de los MAS se pueden resumir en:
1. Cada agente tiene información o capacidades incompletas para resolver el problema y, por lo tanto, tiene un punto de vista limitado.
2. No hay un control global del sistema.
3. Los datos están digitalizados.
4. La cooperación es asíncrona.
Entre las razones que explican el creciente interés por la investigación en MAS se encuentra su capacidad para:
* Resolver problemas que son demasiado grandes para que los resuelva un agente centralizado debido a la limitación de recursos o al riesgo de tener un sistema que podría ser un cuello de botella para el rendimiento o fallar en momentos críticos.
* Permitir la interconexión y el funcionamiento de los múltiples sistemas heredados existentes. Para seguir el ritmo de las cambiantes necesidades empresariales, los sistemas heredados deben actualizarse periódicamente. La reescritura completa de este tipo de software resulta muy costosa y es poco probable. Por tanto, de corto a medio plazo, la única forma de que estos sistemas heredados sigan siendo útiles es incorporarlos a una comunidad de organismos cooperantes más amplia en la que puedan ser explotados por otros programas. La integración de los sistemas heredados en una sociedad de agentes puede hacerse, por ejemplo, construyendo una envoltura de agente alrededor del software que le permita interactuar con otros sistemas (Genesereth y Ketchpel, 1994).
!!!side:3
Por ejemplo, en la programación de reuniones, un agente de programación que gestiona el calendario de su usuario puede considerarse autónomo e interactuar con otros agentes similares que gestionan los calendarios de distintos usuarios (Garrido y Sycara, 1996; Dent et al., 1992). Estos agentes también se pueden personalizar para que reflejen las preferencias y limitaciones de sus usuarios. Otros ejemplos son el control del tráfico aéreo (Kinny et al., 1992; Cammarata, McArt h ur y Steeb, 1983) y la negociación multilateral para la compra y venta de bienes en Internet.
* Dar solución a problemas que pueden considerarse naturalmente como una sociedad de componentes-agentes autónomos que interactúan $^3$.
!!!side:4
Algunos ejemplos son las redes de sensores (Corkill y Lesser, 1983), la vigilancia sísmica (Mason y Johannes, 1989) y la recopilación de información a través de Internet (Sycara et al., 1996).
* Ofrecer soluciones que utilicen eficazmente fuentes de información distribuidas espacialmente $^4$.
!!!side:5
Algunos ejemplos de este tipo de problemas son la ingeniería concurrente (Lewis y Sycara, 1993), la atención sanitaria y la fabricación.
* Ofrecer soluciones en situaciones en las que los conocimientos están distribuidos $^5$.
* Mejorar el rendimiento en:
1. Eficiencia Computacional: ya que se aprovecha la capacidad actual de la cooperación (siempre que la complejidad se mantenga al mínimo, por ejemplo, transmitiendo información y resultados de alto nivel en lugar de datos de bajo nivel).
2. Fiabilidad: es decir, recuperación airosa de los fallos de la cadena de suministro, ya que los agentes con capacidad de reducción o coordinación interagentes adecuada se encuentran dinámicamente (por ejemplo, asumiendo las responsabilidades de los agentes que fallan).
3. Extensibilidad: ya que el número y las capacidades de los agentes que trabajan en un problema pueden modificarse.
4. Robustez: es decir, la capacidad del sistema para tolerar incertidumbres, ya que la información adecuada está disponible para todos los agentes.
5. Mantenibilidad: ya que un sistema compuesto por múltiples agentes es más fácil de mantener debido a su modularidad.
6. Capacidad de respuesta: porque la modularidad puede resolver problemas localmente, sin propagarlos a todo el sistema.
7. Flexibilidad: porque los agentes con diferentes capacidades pueden organizarse de forma adaptativa para resolver el problema actual.
8. Reutilización: porque las capacidades específicas pueden reutilizarse en diferentes equipos de agentes para resolver diferentes problemas.
!!!side:6
Para eso, ver, por ejemplo, Huhns y Singh [1997], O'Hare y Je nnings [1996], Wooldridge y Jennings [1995], Chaibdraa et al. [1992], y Bond y Gasser [1988] para revisiones.
Los MAS son ya una realidad, al menos a nivel de investigación, y están adquiriendo rápidamente una importancia crítica en muchos entornos hombre-máquina. El propósito en este artículo no es proporcionar una revisión detallada del campo $^6$, sino presentar un análisis en profundidad y una crítica del campo, discutiendo brevemente algunas de las claves e indicando cómo están relacionadas.
# Sistema multiagente: Problemas y desafíos
!!!side:7
Esta lista incluye y extiende lo problemas planteados por primera vez en Bond y Gasser (1988).
Aunque los MAS ofrecen muchas ventajas potenciales, también plantean muchos retos difíciles. Los problemas inherentes al diseño e implementación de los MAS $^7$ son:
* ¿Cómo se formulan, describen, descomponen y asignan los problemas y se dimensionan los resultados entre un grupo de agentes inteligentes?
* ¿Cómo hacer que los agentes puedan comunicarse e interactuar? ¿Qué lenguajes de comunicación y protocolos utilizar? ¿Cómo pueden funcionar agentes heterogéneos? ¿Cómo y cuándo pueden comunicarse? ¿Cómo encontrar agentes útiles en un entorno abierto?
* ¿Cómo asegurar que los gobiernos actúan de forma coherente a la hora de tomar decisiones o emprender acciones, teniendo en cuenta los efectos no locales de las decisiones locales y evitando consecuencias perjudiciales? ¿Cómo garantizar que la MAS no se vea limitada por los recursos? ¿Cómo evitar un comportamiento inestable del sistema?
* ¿Cómo permitir que los agentes individuales representen y expliquen las acciones, planes y conocimientos de otros agentes que colaboran con ellos? ¿Cómo informar sobre el estado de su proceso coordinado (por ejemplo, inicio y finalización)?
* ¿Cómo reconocer y contrarrestar los puntos de vista divergentes y las interacciones contradictorias entre un conjunto de organismos que intentan coordinar sus acciones?
* ¿Cómo crear y restringir sistemas DAI prácticos? ¿Cómo diseñar plataformas tecnológicas y desarrollar metodologías para MAS?
Las soluciones a estos problemas están interrelacionadas (Gasser, 1991). Por ejemplo, los diferentes esquemas de modelización de un agente individual pueden limitar la variedad de regímenes de coordinación eficaces; los diferentes procedimientos de coordinación e interacción tienen repercusiones en la coherencia del comportamiento. Diferentes posiciones en cuanto a los problemas y las tareas pueden dar lugar a diferentes interacciones. Es discutible si se puede encontrar una dimensión única más importante en la que se pueda organizar de forma coherente un tratamiento de los MAS. Por ello, puede ser útil utilizar la dimensión de la coherencia efectiva en la resolución de problemas de un MAS como tema organizativo.
Garantizar que un MAS muestre un comportamiento coherente a la vez que evita un comportamiento impredecible o perjudicial (por ejemplo, el caos, la oscilación) es, de hecho, un reto importante: por su propia naturaleza, un MAS carece de perspectiva global, control global o datos globales. La coherencia es una propiedad global (o regional) de los MAS que puede medirse por la eficiencia, calidad y coherencia de una solución global (comportamiento del sistema), así como por la capacidad del sistema para degradarse con elegancia en presencia de fallos locales. Se han estudiado varios métodos para aumentar la coherencia que, junto con los problemas de estructuración de un único agente en un MAS, acotan y cubren los temas que se tratarán a continuación.
## Razonamiento de agentes individuales
### Agentes deliberativos
El razonamiento sofisticado de los agentes individuales puede aumentar la coherencia del MAS porque cada agente individual puede razonar sobre los efectos no locales de las acciones locales, crear expectativas sobre el comportamiento de los demás o explicar, y posiblemente reparar, conflictos e interacciones perjudiciales. Numerosos trabajos de investigación en IA intentan formalizar una axiomatización lógica para los agentes racionales (véase Wooldridge y Jennings [1995] para un estudio). Esta axiomatización se consigue formalizando un modelo para el comportamiento de los agentes en términos de creencias, deseos, objetivos, etcétera. Estos trabajos se conocen como sistemas de **creencias-deseos-intenciones** (**BDI**) (véase Rao y Georgeff [1991] y Shoham [1993]). También se ha llamado **deliberativo** a un organismo que tiene una arquitectura de tipo BDI.
!!!side:8
Por ejemplo, la infraestructura RETSINA.
Una posible implementación de estos agentes reactivos $^8$ considera cómo los agentes se coordinan para recopilar información en el contexto de las tareas de resolución de problemas de los usuarios. Cada agente en esta estructura es de tipo BDI que integra módulos de planificación, programación, ejecución, recopilación de información y coordinación con otros agentes (Decker, Pannu y otros, 1997; Sycara y otros, 1996):
!!!side:9
Por ejemplo, en RETSINA, el proceso de planificación del agente se basa en un formalismo de planificación de red jerárquica de tareas (HTN).
* El módulo de planificación toma como entrada un conjunto de objetivos y produce un plan que los satisface $^9$. Toma como base el conjunto actual de objetivos del agente, el conjunto actual de estructuras de tareas y una biblioteca de esquemas de reducción de tareas. Un esquema de reducción de tareas presenta una forma de llevar a cabo una tarea especificando un conjunto de subtareas-acciones y describiendo las relaciones de flujo de información entre ellas (véase Williamson, Decker y Sycara [1996]).
* El módulo de comunicación y coordinación acepta e interpreta mensajes de otros agentes en KQML. Los mensajes pueden contener peticiones de servicios, que se convierten en objetivos del agente receptor.
* El módulo de programación programa cada uno de los pasos del plan. El proceso de programación del agente toma como entrada, en general, el conjunto actual de instancias del plan del agente y, en particular, el conjunto de todas las acciones ejecutables y decide qué acción, si la hay, se ejecutará a continuación. Esta acción se identifica como una intención fija hasta que se lleva a cabo (por el componente de ejecución).
* Las consideraciones relativas a la reactividad del agente se rigen por el proceso de ejecución y supervisión. La monitorización de la ejecución toma como punto de partida la siguiente acción deducida del agente y prepara, monitoriza y finaliza su ejecución. El monitor de ejecución prepara una acción para su ejecución estableciendo un contexto (incluidos los resultados de acciones anteriores) para la acción. Supervisa la acción proporcionando opcionalmente los recursos limitados de computación asociados, por ejemplo, la acción sólo puede permitirse una cierta cantidad de tiempo, y si la acción no finaliza antes de que se agote el tiempo, la ejecución se interrumpe y la acción se marca como fallida. Las acciones fallidas son gestionadas por el proceso de gestión de excepciones.
* El agente dispone de una biblioteca principal de fragmentos de planes (estructuras de tareas) que se definen en función de los objetivos, así como de una biblioteca principal específica de fragmentos de planes que pueden recuperarse e instalarse de forma incremental en función de los parámetros de entrada actuales.
### Agentes reactivos
A partir de la la crítica de Brooks (1991) a los agentes deliberativos se han desarrollado los conocidos como **agentes reactivos**. Esta crítica puede resumirse como:
1. La inteligencia es el producto de la interacción de un agente y su entorno;
2. El comportamiento inteligente surge de la interacción de varios comportamientos similares organizados en capas a través de una relación maestro-esclavo de inhibición (arquitectura de subsunción);
Los agentes reactivos se pueden caracterizar por:
* No tener representaciones de su entorno. Actúan utilizando un comportamiento de tipo estímulo-respuesta (responden al estado actual del entorno en el que se encuentran). Esta característica es un punto fuerte del enfoque porque los agentes no necesitan revisar su modelo global a medida que cambia.
* Por ello, no tienen en cuenta la historia ni planifican el futuro. Mediante simples interacciones con otros agentes, pueda surgir un comportamiento global complejo.
* La robustez y la tolerancia a fallos son dos de las principales propiedades de los sistemas reactivos. Un grupo de agentes puede completar una tarea aunque uno de ellos falle.
Sin embargo, los sistemas puramente reactivos tienen dos limitaciones principales:
1. En primer lugar, como los agentes puramente reactivos toman decisiones basadas en información local, no pueden tener en cuenta la información global ni predecir el efecto de sus decisiones en el comportamiento global, lo que puede dar lugar a un comportamiento del sistema poco predecible e inestable (Thomas y Sycara 1998; Hubermann y Hogg 1988).
2. En los sistemas reactivos, la relación entre los comportamientos individuales, el entorno y el comportamiento general no está bien definida, lo que dificulta necesariamente la ingeniería de los agentes para realizar tareas específicas, obligando a un laborioso proceso de experimentación, ensayo y error para su diseño.
A pesar de estas desventajas, los sistemas reactivos tienen la ventaja de su rapidez (el razonamiento sofisticado de los sistemas deliberativos puede ralentizarlos, por lo que son útiles en entornos que cambian rápidamente).
!!!side:10
Por ejemplo, la arquitectura utilizado en el sistema MANTA para simular el comportamiento de las hormigas (Ferber 1996).
Un ejemplo de arquitectura reactiva se basa en considerar el comportamiento de un agente como el resultado de entidades competidoras que intentan obtener el control sobre las acciones del agente $^{10}$. Esta idea tiene su origen en la sociedad de la mente (Minsky 1986) y ha sido empleada de diferentes maneras por Maes (1990), Travers (1988) y Drogul y Ferber (Ferber 1996; Drogul y Ferber 1992):
* Un agente se define como un conjunto de tareas en conflicto en el que sólo una puede estar activa simultáneamente.
* Una tarea es una secuencia de comportamiento de alto nivel, a diferencia de las acciones de bajo nivel realizadas directamente por los actuadores.
* Se utiliza un mecanismo de refuerzo como herramienta básica de aprendizaje para que los agentes aprendan a ser más eficientes en tareas que se realizan con frecuencia.
### Aproximación Híbrida
De hecho, para la mayoría de los problemas, ni una arquitectura puramente deliberativa ni una puramente reactiva son apropiadas, pero las arquitecturas híbridas pueden combinar aspectos de ambas. Por ejemplo, en el nivel más bajo de la jerarquía suele haber una capa reactiva, que toma decisiones sobre qué hacer basándose en la información en bruto de los sensores. La capa intermedia normalmente se abstrae de la información en bruto de los sensores y se ocupa de una visión a nivel de conocimiento del entorno de la entidad, normalmente haciendo uso de representaciones simbólicas. El nivel superior de la arquitectura se ocupa de los aspectos sociales del entorno. La coordinación con otros agentes suele representarse en la capa superior. La forma en que las capas interactúan entre sí para producir el comportamiento global del agente difiere de una arquitectura a otra (Bonasso et al. 1996; Ferguson 1995, 1992; Müller y Pischel 1994).
## Organizaciones
!!!def
Una organización proporciona un marco para las interacciones de los agentes mediante la definición de funciones, expectativas de comportamiento y relaciones de autoridad.
En general, las organizaciones se conceptualizan en términos de su estructura, es decir, el patrón de relaciones de información y control que existe entre los agentes y la distribución de las capacidades de resolución de problemas entre ellos. En la resolución cooperativa de problemas, por ejemplo (Corkill y Lesser 1983), una estructura proporciona a cada agente una visión de alto nivel de cómo el grupo resuelve los problemas. La estructura también debe comunicar la información de conectividad a los agentes para que puedan distribuir subproblemas entre los agentes competentes.
En los entornos de mundo abierto, los agentes del sistema no están predefinidos estáticamente, sino que pueden entrar y salir de una organización de forma dinámica, lo que requiere mecanismos de localización de agentes. Esta tarea supone un reto, sobre todo en entornos con un gran número de agentes y con fuentes de información, redes de distribución y/o agentes que pueden aparecer y desaparecer. Se han identificado distintos tipos de agentes intermedios (Decker, Sycara y Williamson 1997) que buscan a otros que posean una determinada capacidad (por ejemplo, que pueda suministrar una determinada información o alcanzar un objetivo de resolución de problemas), por ejemplo, por medio de protocolos para emparejamiento distribuido (Jha et al. 1998).
!!!side:11
Por ejemplo, Gasser (1986) ve una organización como un *conjunto particular de cuestiones establecidas y no establecidas sobre creencias y acciones a través de las cuales los agentes ven a otros agentes*.
Otra perspectiva de la IAD define la organización menos en términos de estructura y más en términos de teoría de la organización actual $^{11}$. Desde este punto de vista,
!!!def
Una organización se define como un conjunto de agentes con compromisos mutuos, compromisos globales y creencias mutuas.
Una organización se compone de un grupo de agentes, un conjunto de actividades realizadas por los agentes, un conjunto de conexiones entre los agentes y un conjunto de objetivos o criterios de evaluación con los que se evalúan las actividades combinadas de los agentes. La estructura organizativa impone restricciones a la forma en que los agentes se comunican y coordinan.
Entre los ejemplos de organizaciones se incluyen:
* **Jerarquía**: La autoridad para la toma de decisiones y el control recae en un único solucionador de problemas (o grupo especializado) en cada nivel de la jerarquía. La interacción se realiza a través de la coordinación vertical de los agentes superiores a los inferiores y viceversa. Los agentes superiores controlan los recursos y la toma de decisiones.
* **Comunidad de expertos**: Esta organización es plana, en la que cada solucionador de problemas es un especialista en un área determinada. Los agentes interactúan mediante reglas de orden y comportamiento (Lewis y Sycara 1993; Lander, Lesser y Connell 1991). Los agentes se coordinan mediante el ajuste manual de sus soluciones para lograr una coherencia global.
* **Mercado**: El control se distribuye entre los agentes que compiten por tareas o recursos a través de licitaciones y mecanismos contractuales. Los agentes interactúan a través de una variable, el *precio*, que se utiliza para valorar los servicios (Müllen y Wellmann 1996; Davis y Smith 1983; Sandham 1993). Los agentes se coordinan mediante el ajuste mutuo de los precios.
* **Comunidad científica**: Es un modelo de cómo podría funcionar una comunidad pluralista (Kornfeld y Hewitt 1981). Las soluciones a los problemas se construyen localmente y luego se comunican a otros solucionadores de problemas que pueden probar, mejorar y perfeccionar la solución (Lesser 1991).
En entornos abiertos y dinámicos, la cuestión de la adaptabilidad organizativa es crucial. Las organizaciones que pueden adaptarse a circunstancias cambiantes alterando el patrón de interacciones entre los distintos agentes que las componen tienen la posibilidad de lograr la cohesión en entornos cambiantes y abiertos.
## Asignación de tareas
!!!def
La asignación de tareas es el problema de asignar responsabilidades y recursos de resolución de problemas a un agente.
Minimizar las interdependencias de tareas tiene dos beneficios generales en relación con la coherencia:
1. En primer lugar, mejora la eficacia de la resolución de problemas al reducir la sobrecarga de comunicación entre los agentes que los resuelven.
2. En segundo lugar, mejora las posibilidades de coherencia de la solución al minimizar los posibles conflictos. Lo que también mejora la eficiencia, ya que la resolución de conflictos puede llevar mucho tiempo.
La cuestión de la asignación de tareas fue uno de los primeros problemas que se abordaron en la investigación de la IAD. Una opción es permitir al diseñador que asigne todas las tareas de antemano, creando así una organización de resolución de problemas no adaptativa. Este enfoque es limitado e inflexible para los sistemas con un alto grado de dinamismo, apertura e incertidumbre. Para mitigar esta limitación puede hacerse una asignación de tareas dinámica y flexible (Davis y Smith 1983).
El trabajo de Davis y Smith dio lugar al conocido **Protocolo de Red de Contratos** (**CNP**), donde los agentes pueden adoptar dinámicamente dos papeles: gestor, o contratista:
* Dada una tarea que realizar, un agente determina primero si puede dividirla en subtareas que puedan realizarse de forma simultánea.
* Utiliza el protocolo para definir las tareas que podrían transferirse y solicita ofertas a los agentes que podrían realizar cualquiera de estas tareas.
* Un agente que recibe un mensaje de notificación de tarea responde con una oferta por la tarea, indicando si cree que puede realizarla.
* El contratista recoge las ofertas y adjudica la tarea al mejor postor.
Aunque muchos investigadores de IAD consideraban originalmente el CNP como un principio de negociación, en realidad es un método coordinado para la asignación de tareas, ya que permite la asignación dinámica de tareas, permite a los agentes pujar por varias tareas a la vez y proporciona un equilibrio de carga natural (los agentes ocupados no necesitan pujar).
Sus limitaciones originales son que no detecta ni resuelve conflictos, no informa de las ofertas rechazadas, los usuarios no pueden rechazar ofertas, no hay priorización en la ejecución de tareas (las tareas críticas pueden no ser atendidas) y es intensivo en costes. Para solventar algunas de estas limitaciones se introdujeron extensiones al CNP, como las penalizaciones por incumplimiento (Sandholm y Lesser 1995), o el uso de la teoría de la valoración de opciones financieras para lograr esquemas de contratación flexibles en entornos de incertidumbre (Sycara 1997).
## Planificación multiagente
Los agentes pueden mejorar la coherencia planificando sus acciones. La planificación para un único agente es un proceso de construcción de una secuencia de acciones que sólo tiene en cuenta los objetivos, las capacidades y las limitaciones del entorno. Sin embargo, la planificación en un entorno MAS también debe tener en cuenta las restricciones que las actividades de otros agentes imponen a la elección de acciones de un agente, las restricciones que los compromisos de un agente con otros imponen a su propia elección de acciones y la evolución impredecible del mundo causada por otros agentes no modelados.
Muchos de los primeros trabajos sobre IAD trataron el problema sobre grupos de agentes que persiguen objetivos comunes (Lesser 1991; Lesser, Durfee y Corkill 1989; Durfee 1988; Conry, Meyer y Lesser 1988; Cammarata, McArthur y Steeb 1983), donde las interacciones de los agentes se guían por estrategias de cooperación destinadas a mejorar su rendimiento colectivo.
!!!side:12
Por ejemplo, en (Rao y Georgeff, 1991) se incluía un agente estático para reconocer y resolver tales situaciones. Los agentes enviaban a este agente su plan; el agente lo examinaba en busca de regiones críticas en las que, por ejemplo, la escasez de recursos podía hacerles fracasar y, a continuación, la se introducían mensajes de sincronización (similares a las semáforos del sistema operativo) para que un agente esperara a que otro liberara el recurso.
La mayoría de los trabajos sobre planificación multiagente presuponen una arquitectura individual sofisticada de los agentes que les permite hacer razonamientos más complejos, y además suelen adoptar un enfoque de planificación completa antes de la acción. Para elaborar un plan coherente, los agentes deben ser capaces de reconocer los problemas que pueden presentar los subobjetivos y evitarlos o resolverlos $^{12}$.
Posteriormente se añadieron soluciones que aportaban enfoques flexibles de la coordinación sin predefinir ninguna distribución particular de subproblemas, conocimientos especializados u otros recursos, sino que permite que los nodos se coordinen en respuesta a las situaciones actuales (Durfee, 1987). Para ello, se hacía que los agentes se basaran en la coordinación de planes y objetivos a un nivel de abstracción adecuado, lo que mejora la predictibilidad del agente y la coherencia de la red (Durfee 1988). Como los agentes son cooperativos, el agente receptor utiliza la información del plan para ajustar su propia planificación local de forma adecuada, de modo que se cumplan los objetivos de la planificación común (y los criterios de eficacia de la planificación). Además de su conocimiento personal, los agentes también tienen conocimientos comunes sobre cómo y cuándo utilizar los recursos.
Otra dirección de la investigación en planificación multiagente cooperativa se ha centrado en la modelización explícita del trabajo en equipo, que es especialmente útil en entornos dinámicos en los que los miembros del equipo pueden fracasar o enfrentarse a nuevas oportunidades. En tales situaciones, es necesario que los equipos supervisen su rendimiento y se reorganicen en función de la situación. Para ello, se han creado modelos basados en actos de habla y comunicación que se basan en compromisos, responsabilidades e intenciones conjuntas (Cohen y Levesque 1990; Grosz y Kraus, 1996; Grosz y Sidner, 1990; Jennings 1995), que a veces necesita recurrir a procesos de negociación.
Cada vez más, el énfasis de la planificación multiagente se ha puesto en la comunicación flexible y la ejecución de acciones en entornos complejos y dinámicos, incluidos los agentes que pueden ser hostiles o al menos egoístas (Veloso et al. 1997) y funcionar bien en entornos dinámicamente cambiantes (Kinny et al. 1992).
## Reconocer y resolver conflictos
Como los MAS carecen de puntos de vista, conocimientos y control globales, existe la posibilidad de que se produzcan disparidades e incoherencias en los objetivos, planes, conocimientos, creencias y resultados de los agentes. Para lograr una solución común de los problemas, estas disparidades deben reconocerse y resolverse. Es difícil detectar y corregir disparidades y conflictos desde una perspectiva exclusivamente local. Para facilitar la detección y resolución de conflictos, los agentes pueden basarse en modelos del mundo y de otros agentes. Por ello, la resolución de disparidades puede verse influida por la estructura organizativa de la sociedad de agentes y el papel que desempeñan en ella, el tipo de modelos de que disponen y sus algoritmos de razonamiento.
El enfoque principal para resolver las disparidades en un MAS es la **negociación**, pero hay algunos enfoques menos utilizados (Gasser 1992) como:
1. La aparición de supuestos, donde las proposiciones inconsistentes pueden ser respaldadas por sus supuestos (Huhns y Bridgeland 1991; Mason y Johnson 1989).
2. El razonamiento y la argumentación probatorios, donde puede ser posible construir argumentos a favor de una perspectiva particular (Loui 1987; Hewitt 1986, Kornfeld y Hewitt 1981; Lesser y Corkill 1981), o puede ser posible construir argumentos persuasivos para cambiar las ideas, creencias, preferencias y acciones de un agente persuadido (Sycara 1990b), de modo que se puedan producir planes y soluciones eficaces.
3. La relajación de restricciones, en la que las restricciones conflictivas pueden resolverse relajándolas (Liu y Sycara, 1997; Sycara et al., 1991) o reformulando el problema para eliminarlas (Sycara, 1991; Liu y Sycara 1994; Garrido y Sycara 1996).
4. Normas sociales que imponen una especie de estándar de comportamiento común, que, si se considera, puede conducir a la evitación de conflictos (Castelfranc, Miceli y Cesta, 1992). Los estándares y normas sociales, aunque ayudan a evitar conflictos, pueden impedir la adaptación.
La negociación es un método de coordinación y resolución de conflictos que incluye una disversidad de aproximaciones que van desde resolver disparidades de objetivos en la planificación, a resolver restricciones en la asignación de recursos, pasando por resolver incoherencias de tareas al determinar la estructura organizativa.
Aunque es un término muy vagamente definido (como muchísimos de los que aparecen en el área), podemos caracterizarlo, al menos, fenomenológicamente:
!!!note
La presencia de algún tipo de conflicto que debe ser resuelto ...
1. de forma **descentralizada** por
2. agentes con **intereses propios** en condiciones de
3. **racionalidad limitada** e
4. **información incompleta**;
5. donde, además, los agentes se **comunican** e intercambian iterativamente propuestas y contrapropuestas.
## Modelado de otros agentes
Los agentes pueden aumentar la precisión y la eficacia de su resolución de problemas si se les proporcionan conocimientos sobre otros agentes o la capacidad de modelar y razonar sobre los demás. Pueden utilizar este conocimiento para predecir posibles conflictos e interpretar, explicar y predecir las acciones de los demás agentes en distintas circunstancias. Además, la modelización de otros agentes proporciona información a un agente sobre el conocimiento, las creencias y los objetivos de los demás, lo que resulta útil para planificar cuándo y qué comunicar o para permitir la coordinación sin comunicación. La capacidad de modelar a los demás aumenta la flexibilidad del agente. En lugar de funcionar sobre la base de un protocolo fijo de interacción, la modelización de los demás permite al agente cambiar el patrón de interacción. Disponer de un modelo permite a un agente inferir aspectos o comportamientos del otro agente que no puede percibir directamente.
!!!side:13
Por ejemplo, el anuncio de un agente de información expresa el conjunto de consultas que puede responder.
!!!side:14
Por ejemplo, en lugar de que el agente $X$ tenga un modelo del agente $Y$ incorporado en el momento del diseño o tenga que deducirlo, el agente $Y$ pone su modelo de capacidad a disposición del agente $X$ a través de un anuncio a un agente intermedio.
Algunos componentes típicos de los modelos de agencia son los **compromisos**, las **capacidades**, los **recursos**, las **creencias**, los **planes** y el **conocimiento organizativo**.
Ya hemos visto que los compromisos explícitos con la actividad conjunta son la piedra angular de los modelos de trabajo en equipo. En algunas arquitecturas el compromiso de un agente para realizar una tarea no se comunica explícitamente a los demás, sino que está implícito en su anuncio a un agente intermedio. El anuncio de un agente describe sus capacidades, es decir, el conjunto de servicios que puede prestar a los demás $^{13}$. De este modo, un agente que necesite un servicio concreto puede, a través de una consulta a un agente intermedio, averiguar quién es capaz de prestarlo y contactar con el proveedor o proveedores del servicio. Convirtiendo así el anuncio de un agente en el modelo de sí mismo que pone a disposición de la sociedad $^{14}$.
A diferencia de la comunicación directa, que sería inviable en entornos abiertos y a gran escala, ofrecer un modelo de sí mismo es una solución escalable y que funciona en un entorno abierto.
## Gestión de la comunicación
Los agentes pueden mejorar la coherencia de su resolución de problemas planificando el contenido, la cantidad, el tipo y el momento de la comunicación que intercambian. Se ha observado (Durfee, Lesser y Corkill, 1987) que el uso de la abstracción y la información a nivel meta (por ejemplo, el conocimiento organizativo) es útil porque ayuda a reducir la sobrecarga de la comunicación.
Pero, además, en entornos dinámicos y abiertos, habitados por agentes heterogéneos, hay que hacer frente a otros problemas, como la **interoperabilidad** de los agentes. Es decir, en un entorno abierto, los agentes heterogéneos que desean coordinarse entre sí (cooperar o negociar, por ejemplo) se enfrentan a dos grandes retos: en primer lugar, deben ser capaces de encontrarse (en un entorno abierto, los agentes pueden aparecer y desaparecer de forma impredecible) y, en segundo lugar, deben ser capaces de interoperar.
Para resolver el problema de encontrar agentes en un entorno abierto, se han propuesto y aplicado distintos tipos de agentes (Decker, Sycara y Williamson 1997), entre los que sestacan los **match makers** o agentes de **página amarilla**, que emparejan los anuncios con las solicitudes de capacidades anunciadas, los **agentes de pizarra**, que recogen las solicitudes, y los **brokers**, que procesan ambas cosas.
Para permitir que los agentes interoperen, se han diseñado lenguajes de comunicación, como KQML (Finin et al. 1994) y KIF (Genesereth y Ketchpel 1994). El problema de la ontología, es decir, cómo los agentes pueden compartir significados, sigue abierto (Gruber 1993).
## Gestión de recursos
Otra cuestión crítica es la asignación eficaz de recursos limitados a múltiples agentes, y como respuesta se han desarrollado varios enfoques para la asignación eficaz de recursos en estos cases. Las principales líneas de trabajo son:
* Basados en técnicas de investigación operativa para la programación de un único agente, como la búsqueda heurística de restricciones distribuidas (Sycara et al. 1991), que combina la búsqueda descentralizada con la satisfacción de restricciones y la optimización. El método se basa en (1) un conjunto de heurísticas de ordenación de variables y valores que cuantifican varias características del espacio buscado y, (2) un protocolo de comunicación que permite a los agentes coordinarse de forma eficaz.
!!!side:15
En los mercados, las empresas que controlan recursos escasos (mano de obra, materias primas, bienes, dinero) acuerdan intercambiar parte de sus respectivos recursos para alcanzar un objetivo común. Los recursos se intercambian con o sin precios explícitos.
* Basados en mecanismos económicos (Müllen y Wellmann, 1996; Hubermann y Clearwater, 1995; Samuel, 1993), como los mecanismos de mercado, donde se supone que los consumidores son maximizadores de la utilidad interesados en sí mismos $^{15}$. Los mercados suponen que los precios de intercambio se conocen públicamente. También se han propuesto sistemas de subastas, donde existe un subastador central a través del cual se produce la coordinación y, por lo tanto, los agentes intercambian cantidades mínimas de información.
Es probable que cada vez más sistemas puedan modelarse por (o dispongan de) agentes que tengan intereses propios, que simplemente eligen una forma de actuar que maximiza su propia utilidad. En una sociedad de este tipo se desea que si cada agente maximiza su utilidad local, toda la sociedad muestre un buen comportamiento; en otras palabras, un buen comportamiento local implica un buen comportamiento global. El objetivo es diseñar mecanismos para agentes con intereses propios de forma que, si los agentes los siguen, el comportamiento global del sistema sea aceptable, lo que se denomina **diseño de mecanismos**. Sin embargo, y como podemos comprobar en la sociedad humana real, una sociedad de agentes con intereses propios se enfrenta a muchos problemas:
1. En primer lugar, los agentes pueden sobreutilizar y, por lo tanto, sobrecargar, un recurso compartido, como una red de comunicaciones. Este problema se conoce como la **tragedia de los comunes** (Hardin, 1968). Generalmente, el problema de la tragedia de los comunes se resuelve mediante sistemas de precios o impuestos.
2. En segundo lugar, una sociedad de agentes computacionales interesados en sí mismos puede mostrar un comportamiento oscilatorio o caótico (Thomas y Sycara 1998; Huberman y Hogg 1988). Los resultados experimentales muestran que el conocimiento imperfecto suprime el comportamiento oscilatorio a costa de reducir el rendimiento. Además, los sistemas pueden permanecer en estados metaestables no óptimos durante tiempos extremadamente largos antes de llegar al estado globalmente óptimo.
3. En tercer lugar, los agentes pueden mentir o engañar para aumentar su utilidad individual. La mentira y el engaño pueden tener efectos perjudiciales para toda la sociedad. Se han descrito técnicas de diseño de mecanismos que favorecen que los agentes digan la verdad (Myersson, 1989).
## Adaptación y aprendizaje
La adaptabilidad del MAS a las circunstancias cambiantes mediante la alteración del comportamiento de resolución de problemas de los agentes individuales o de los patrones de interacción de los agentes proporciona el potencial para aumentar la coherencia en la resolución de problemas.
El **aprendizaje** en un entorno multiagente se complica por el hecho de que el entorno cambia efectivamente a medida que otros agentes aprenden. Además, las acciones de otros agentes a menudo no son directamente observables, y la acción emprendida por el agente que aprende puede sesgar en gran medida la gama de comportamientos que se encuentra.
En modelos específicos (Zeng y Sycara 1998, 1997) en los que se ha introducido capacidad de aprendizaje sobre los agentes se han obtenido resultados muy interesantes:
1. Cuando todos los agentes aprenden, la utilidad conjunta del sistema es casi óptima, y las utilidades individuales de los agentes son similares.
2. Cuando ningún agente aprende, las utilidades individuales de los agentes son casi iguales, pero la utilidad conjunta es baja (incluso más baja que en la condición de que todos los agentes aprendan).
3. Cuando sólo aprende un agente, su utilidad individual aumenta a expensas tanto de la utilidad individual de los otros agentes como de la utilidad conjunta global del sistema (es decir, el aprendizaje de un único agente tiene un efecto global perjudicial).
# Aplicaciones de MAS
Las primeras aplicaciones MAS aparecieron a mediados de los años ochenta y cada vez abarcan más ámbitos, desde la fabricación hasta el control de procesos, el control del tráfico aéreo y la gestión de la información (Jennings et al. 1998; Chaib-draa 1995). Algunas de esas primeras aproximaciones son:
* Monitorización distribuida de vehículos (Durfee 1996, 1987; Durfee y Lesser 1989), en la que un conjunto de agentes distribuidos geográficamente monitorizan los vehículos que pasan por sus respectivas áreas, intentan obtener interpretaciones de los vehículos que pasan por el área global y rastrean los movimientos de los vehículos.
!!!side:16
YET ANOTHER MANUFACTURING SYSTEM.
* YAMS $^{16}$ (Parunak 1987) aplica el CNP al control de la fabricación. El problema básico puede describirse del siguiente modo: Una empresa de fabricación se modela como una jerarquía de células de trabajo funcionalmente específicas. Estas células de trabajo se agrupan a su vez en sistemas de fabricación flexibles (FMS) que constituyen colectivamente una fábrica. El objetivo de YAMS es gestionar eficazmente el proceso de producción de estas fábricas con un enfoque multiagente, en el que cada fábrica y componente de fábrica se representa como un agente. Cada agente tiene una colección de planes que representan sus capacidades. El CNP permite delegar tareas (es decir, órdenes de producción) en fábricas individuales y, de fábricas individuales, en FMS y, de ahí, en células de trabajo individuales.
!!!side:17
Se han escrito otros sistemas de control de procesos basados en agentes para la supervisión y el diagnóstico de fallos en plantas de energía nuclear (Wang y Wang 1997), el control de naves espaciales (Schwuttke y Quan 1993) y el control climático (Hubermann y Clearwater 1995).
* El MAS más conocido para el control de procesos es ARCHON, una plataforma de software para crear MAS y una metodología asociada para crear aplicaciones con esta plataforma (Jennings, Corera y Laresgoiti, 1995). ARCHON se ha utilizado en varias aplicaciones de control de procesos, entre las que se incluyen la gestión del transporte de electricidad (la aplicación se utilizaba en el norte de España) y el control de aceleradores de partículas $^{17}$.
* OASIS (Ljunberg y Lucas 1992), basado en arquitectura BDI describe un sistema de control del tráfico aéreo donde se utilizan agentes para representar tanto a las aeronaves como a los distintos sistemas de control del tráfico aéreo. Así pues, la metáfora del agente ofrece una forma útil y natural de modelizar los sistemas automáticos del mundo real. Cuando una aeronave entra en el espacio aéreo, se le asigna un agente y éste se instala con la información y los objetivos correspondientes a la aeronave del mundo real.
* El sistema de gestión de carteras financieras WARREN (Sycara et al. 1996) es una aplicación que integra el filtrado y la búsqueda de información en Internet con el fin de ayudar al usuario a gestionar su cartera financiera. El sistema está formado por agentes que se autoorganizan de forma cooperativa para supervisar y seguir las cotizaciones bursátiles, las noticias financieras, los informes de los analistas financieros y los informes de beneficios de las empresas para informar al propietario de la cartera de la evolución de su situación financiera. Los agentes no sólo responden a las consultas pertinentes, sino que también vigilan continuamente las fuentes de información de Internet para detectar acontecimientos interesantes (por ejemplo, que una acción determinada haya subido por encima de un umbral) y alertar al agente gestor de la cartera o al usuario. WARREN también incluye agentes que analizan las decisiones de compra y venta del usuario con respecto a la asignación de activos y al riesgo (Sycara, Decker y Zeng 1998).
!!!side:18
Otros problemas para los que se han creado sistemas basados en agentes son el control de redes, la transmisión y conmutación de datos, la gestión de servicios y la gestión de redes.
* Además, existen diversas aplicaciones de MAS en las telecomunicaciones. En una de estas aplicaciones (Weihmayer y Velthuijsen, 1994) se utilizan agentes negociadores para abordar el problema de la interacción de características para representar a las diferentes entidades interesadas en el establecimiento de una llamada. Cuando se detectan conflictos, los agentes negocian para resolverlos y poder establecer una configuración de llamada aceptable $^{18}$.
# Conclusiones
Diseñar y construir sistemas de agentes es difícil. Tienen todos los problemas asociados a la construcción de sistemas tradicionales distribuidos y concurrentes, además de las dificultades adicionales derivadas de las interacciones flexibles y sofisticadas entre componentes autónomos de resolución de problemas. La gran pregunta que se plantea entonces es cómo diseñar e implantar MAS eficaces.
Existen dos importantes obstáculos técnicos para la adopción generalizada de la tecnología multiagente:
1. La falta de una metodología sistemática que permita a los diseñadores especificar y estructurar claramente sus aplicaciones como MAS.
2. La falta de conjuntos de herramientas MAS ampliamente disponibles en la industria.
Se necesitan conjuntos de herramientas flexibles que permitan a los diseñadores especificar el comportamiento de resolución de problemas de un agente, especificar cómo y cuándo deben interactuar los agentes, y visualizar y depurar el comportamiento de resolución de problemas de los agentes y del sistema completo.
El otro gran obstáculo a la generalización de la tecnología de agentes tiene un aspecto social, además de técnico. Para que los usuarios se sientan cómodos con la idea de delegar tareas en los agentes, primero tienen que acostumbrarse a ellos (Bradshaw 1997; Maes 1994). El proceso de ajuste mutuo entre el usuario y los agentes (tanto en lo que se refiere a que el agente aprenda las preferencias del usuario como a que el usuario aprenda las capacidades y limitaciones de los agentes) lleva tiempo. Durante este periodo, los agentes deben encontrar un equilibrio entre buscar continuamente orientación (y distraer innecesariamente al usuario) y no buscarla nunca (y exceder su autoridad).
# Bibliografía
Bonasso, R. P.; Kortenkamp, D.; Miller, D. P.; and Slack, M. 1996. Experiences with an Architecture for Intelligent, Reactive Agents. In Intelligent Agents II, eds. M. Wooldridge, J. P. Muller, and M. Tambe, 187–202. Lecture Notes in Artificial Intelligence 1037. New York: Springer-Verlag.
Bond, A. H., and Gasser, L. 1988. Readings in Distributed Artificial Intelligence. San Francisco, Calif.: Morgan Kaufmann.
Bradshaw, J. 1997. Software Agents. Menlo Park, Calif.: AAAI Press.
Brooks, R. A. 1991. Intelligence without Representation. Artificial Intelligence 47(1–3): 139–159.
Cammarata, S.; McArthur, D.; and Steeb, R. 1983. Strategies of Cooperation in Distributed Problem Solving. In Proceedings of the Eighth International Joint Conference on Artificial Intelligence (IJCAI-83), 767–770 Menlo Park, Calif.: International Joint Conferences on Artificial Intelligence.
Castelfranchi, C.; Miceli, M.; and Cesta, A. 1992. Dependence Relations among Autonomous Agents. In Decentralized Artificial Intelligence, eds. E. Werner and Y. Demazeau, 215–231. Amsterdam, The Netherlands: Elsevier/North-Holland.
Chaib-draa, B. 1995. Industrial Applications of Distributed AI. Communications of the ACM 38(11): 49–53.
Chaib-draa, B.; Moulin, B.; Mandiau, R.; and Millot, P. 1992. Trends in Distributed Artificial Intelligence. Artificial Intelligence Review 6(1): 35–66.
Cohen, P. R., and Levesque, H. J. 1990. Intention Is Choice with Commitment. Artificial Intelligence 42(2–3): 213–261.
Conry, S. E.; Meyer, R. A.; and Lesser, V. R. 1988. Multistage Negotiation in Distributed Planning. In Readings in Distributed Artificial Intelligence, eds. A. H. Bond and L. Gasser, 367–384. San Francisco, Calif.: Morgan Kaufmann.
Corkill, D. D., and Lesser, V. R. 1983. The Use of Metalevel Control for Coordination in a Distributed Problem-Solving Network. In Proceedings of the Eighth International Joint Conference on Artificial Intelligence (IJCAI-83), 767–770 Menlo Park, Calif.: International Joint Conferences on Artificial Intelligence.
Cutkosky, M.; Fikes, R.; Engelmore, R.; Genesereth, M.; Mark, W.; Gruber, T.; Tenenbaum, J.; and Weber, J. 1993. PACT: An Experiment in Integrating Concurrent Engineering Systems. IEEE Transactions on Computers 26(1): 28–37.
Darr, T., and Birmingham, W. 1996. An Attribute-Space Representation and Algorithm for Concurrent Engineering. Artificial Intelligence for Engineering Design, Analysis, and Manufacturing 10(1): 21–35.
Davis, R., and Smith, R. G. 1983. Negotiation as a Metaphor for Distributed Problem Solving. Artificial Intelligence 20(1): 63–100.
Decker, K., and Lesser, V. 1995. Designing a Family of Coordination Algorithms. In Proceedings of the First International Conference on Multiagent Systems, 73–80. Menlo Park, Calif.: AAAI Press.
Decker, K.; Pannu, A.; Sycara, K.; and Williamson, M. 1997. Designing Behaviors for Information Agents. In Proceedings of the First International Conference on Autonomous Agents (Agents-97), 404–412. New York: Association of Computing Machinery.
Decker, K.; Sycara, K.; and Williamson, M. 1997. Middle Agents for the Internet. In Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence (IJCAI-97), 578–583 Menlo Park, Calif.: International Joint Conferences on Artificial Intelligence.
Decker, K.; Williamson, M.; and Sycara, K. 1996a. Intelligent Adaptive Information Agents. Paper presented at the AAAI-96 Workshop on Intelligent Adaptive Agents, 4–7 August, Portland, Oregon.
Decker, K.; Williamson, M.; and Sycara, K. 1996b. Matchmaking and Brokering. In Proceedings of the Second International Conference on Multiagent Systems, 432. Menlo Park, Calif.: AAAI Press.
Dent, L.; Boticario, J.; McDermott, J.; Mitchell, T.; and Zabowski, D. 1992. A Personal Learning Apprentice. In Proceedings of the Tenth National Conference on Artificial Intelligence, 96–103 Menlo Park, Calif.: American Association for Artificial Intelligence.
Drogul, A., and Ferber, J. 1992. From Tom Thumb to the Dockers: Some Experiments with Foraging Robots. In From Animals to Animats: Second Conference on Simulation of Adaptive Behavior, eds. H. R. J. Meyer and S. Wilson. Cambridge, Mass.: MIT Press.
Durfee, E. 1996. Planning in Distributed Artificial Intelligence. In Foundations of Distributed Artificial Intelligence, eds. G. M. P. O'Hare and N. R. Jennings, 231–246. New York: Wiley.
Durfee, E. H. 1988. Coordination of Distributed Problem Solvers. Boston: Kluwer Academic.
Durfee, E. H. 1987. A Unified Approach to Dynamic Coordination: Planning Actions and Interactions in a Distributed Problem Solving Network, Ph.D. dissertation, Department of Computer and Information Science, University of Massachusetts.
Durfee, E. H., and Lesser, V. 1989. Negotiating Task Decomposition and Allocation Using Partial Global Planning. In Distributed Artificial Intelligence, Volume 2, eds. L. Gasser and M. Huhns, 229–244. San Francisco, Calif.: Morgan Kaufmann.
Durfee, E. H.; Lesser, V. R.; and Corkill, D. D. 1987. Coherent Cooperation among Communicating Problem Solvers. IEEE Transactions on Computers C-36(11): 1275–1291.
Ferber, J. 1996. Reactive Distributed Artificial Intelligence: Principles and Applications. In Foundations of Distributed Artificial Intelligence, eds. G. O-Hare and N. Jennings, 287–314. New York: Wiley.
Ferguson, I. A. 1995. Integrated Control and Coordinated Behavior: A Case for Agent Models. In Intelligent Agents: Theories, Architectures, and Languages, eds. M. Wooldridge and N. R. Jennings, 203–218. Lecture Notes in Artificial Intelligence, Volume 890. New York: Springer-Verlag.
Ferguson, I. A. 1992. TOURINGMACHINES: An Architecture for Dynamic, Rational, Mobile Agents, Ph.D. dissertation, Technical report 273, Computer Laboratory, University of Cambridge.
Finin, T.; Fritzson, R.; McKay, D.; and McEntire, R. 1994. KQML as an Agent Communication Language. In Proceedings of the Third International Conference on Information and Knowledge Management (CIKM94), 456–463. New York: Association of Computing Machinery.
Garrido, L., and Sycara, K. 1996. Multiagent Meeting Scheduling: Preliminary Experimental Results. In Proceedings of the Second International Conference on Multiagent Systems, 95–102. Menlo Park, Calif.: AAAI Press.
Gasser, L. 1992. An Overview of DAI. In Distributed Artificial Intelligence: Theory and Praxis, eds. N. Avouris and L. Gasser, 9–30. Boston: Kluwer Academic.
Gasser, L. 1991. Social Conceptions of Knowledge and Action. Artificial Intelligence 47(1–3): 107–138.
Gasser, L. 1986. The Integration of Computing and Routine Work. ACM Transactions on Office Information Systems 4(3): 205–225.
Genesereth, M. R., and Ketchpel, S. P. 1994. Software Agents. Communications of the ACM 37(7): 48–53.
Grosz, B., and Kraus, S. 1996. Collaborative Plans for Complex Group Actions. Artificial Intelligence 86(2): 269–357.
Grosz, B., and Sidner, C. 1990. Plans for Discourse. In Intentions in Communication, eds. P. Cohen, J. Morgan, and M. Pollack, 417–444. Cambridge Mass.: MIT Press.
Gruber, T. R. 1993. A Translation Approach to Portable Ontologies. Knowledge Acquisition 5(2): 199–220.
Hardin, G. 1968. The Tragedy of Commons. Science 162(6): 1243–1248.
Hewitt, C. 1986. Offices Are Open Systems. ACM Transactions of Office Automation Systems 4(3): 271–287.
Hu, J., and Wellman, M. P. 1996. Self-Fulfilling Bias in Multiagent Learning. In Proceedings of the Second International Conference on Multiagent Systems, 118–125. Menlo Park, Calif.: AAAI Press.
Huberman, B., and Clearwater, S. H. 1995. A Multiagent System for Controlling Building Environments. In Proceedings of the First International Conference on Multiagent Systems, 171–176. Menlo Park, Calif.: AAAI Press.
Huberman, B. A., and Hogg, T. 1988. The Behavior of Computational Ecologies. In The Ecology of Computation, ed. B. A. Huberman. Amsterdam, The Netherlands: North-Holland.
Huhns, M., and Bridgeland, D. 1991. Multiagent Truth Maintenance. IEEE Transactions on Systems, Man, and Cybernetics 216(6): 1437–1445.
Huhns, M., and Singh, M. 1997. Readings in Agents. San Francisco, Calif.: Morgan Kaufmann.
Jennings, N. 1995. Controlling Cooperative Problem Solving in Industrial Multiagent Systems Using Joint Intention. Artificial Intelligence 75(2): 195–240.
Jennings, N. R.; Corera, J. M.; and Laresgoiti, I. 1995. Developing Industrial Multiagent Systems. In Proceedings of the First International Conference on Multiagent Systems, 423–430. Menlo Park, Calif.: AAAI Press.
Jennings, N.; Sycara, K.; and Wooldridge, M. 1998. A Roadmap for Agent Research and Development. Autonomous Agents and Multiagent Systems 1(1). Forthcoming.
Jha, S.; Chalasani, P.; Shehory, O.; and Sycara, K. 1998. A Formal Treatment of Distributed Matchmaking. In Proceedings of the Second International Conference on Autonomous Agents (Agents '98). New York: Association of Computing Machinery. Forthcoming.
Jordan, J. S. 1992. The Exponential Covergence of Bayesian Learning in Normal Form Games. Games and Economic Behavior 4(2): 202–217.
Kephart, J. O.; Hogg, T.; and Huberman, B. A. 1989. Dynamics of Computational Ecosystems: Implications for DAI. In Distributed Artificial Intelligence, Volume 2, eds. L. Gasser and M. Huhns, 79–96. San Francisco, Calif.: Morgan Kaufmann.
Kinny, D.; Ljungberg, M.; Rao, A.; Sonenberg, E.; Tidhard, G.; and Werner, E. 1992. Planned Team Activity. In Artificial Social Systems, eds. C. Castelfranchi and E. Werner. New York: Springer-Verlag.
Kornfeld, W. A., and Hewitt, C. E. 1981. The Scientific Community Metaphor. IEEE Transactions on Systems, Man, and Cybernetics 11(1): 24–33.
Kraus, S.; Nirke, M.; and Sycara, K. 1993. Reaching Agreements through Argumentation: A Logical Model. Paper presented at the Twelfth International Workshop on Distributed Artificial Intelligence (IWDAI-93), 19–21 May, Hidden Valley, Pennsylvania.
Kraus, S.; Wilkenfeld, J.; and Zlotkin, G. 1995. Multiagent Negotiation under Time Constraints. Artificial Intelligence 75(2): 297–345.
Lander, S.; Lesser, V. R.; and Connell, M. E. 1991. Conflict-Resolution Strategies for Cooperating Expert Agents. In CKBS-90, Proceedings of the International Working Conference on Cooperating Knowledge-Based Systems, ed. S. M. Deen, 183–200. New York: Springer-Verlag.
Lesser, V. R. 1991. A Retrospective View of FA/C Distributed Problem Solving. IEEE Transactions on Systems, Man, and Cybernetics 21(6): 1347–1363.
Lesser, V. R., and Corkill, D. D. 1981. Functionally Accurate, Cooperative Distributed Systems. IEEE Transactions on Systems, Man, and Cybernetics 11(1): 81–96.
Lesser, V. R.; Durfee, E. H.; and Corkill, D. D. 1989. Trends in Cooperative Distributed Problem Solving. IEEE Transactions on Knowledge and Data Engineering 1(1): 63–83.
Lewis, C. M., and Sycara, K. 1993. Reaching Informed Agreement in Multispecialist Cooperation. Group Decision and Negotiation 2(3): 279–300.
Liu, J., and Sycara, K. 1997. Coordination of Multiple Agents for Production Management. Annals of Operations Research 75: 235–289.
Liu, J., and Sycara, K. 1995a. Emergent Constraint Satisfaction through Multiagent Coordinated Interaction. In From Reaction to Cognition, eds. C. Castelfranchi and J.-P. Muller, 107–121. Lecture Notes in Artificial Intelligence. New York: Springer-Verlag.
Liu, J., and Sycara, K. P. 1995b. Exploiting Problem Structure for Distributed Constraint Optimization. In Proceedings of the First International Conference on Multiagent Systems, 246–253. Menlo Park, Calif.: AAAI Press.
Liu, J., and Sycara, K. 1994. Distributed Problem Solving through Coordination in a Society of Agents. In Proceedings of the Thirteenth International Workshop on Distributed Artificial Intelligence, 190–206. Menlo Park, Calif.: AAAI Press.
Liu, J., and Sycara, K. P. 1993. Collective Problem Solving through Coordinated Reaction. In Proceedings of the IEEE International Conference on Evolutionary Computation, 575–578. Washington, D.C.: Institute of Electrical and Electronics Engineers.
Ljunberg, M., and Lucas, A. 1992. The OASIS Air-Traffic Management System. In Proceedings of the Second Pacific Rim International Conference on AI (PRICAI-92), 15–18 September, Seoul, Korea.
Loui, R. 1987. Defeat among Arguments: A System of Defeasible Inference. Computational Intelligence 3(1): 100–106.
Maes, P. 1994. Agents That Reduce Work and Information Overload. Communications of the ACM 37(7): 30–40.
Maes, P. 1990. Designing Autonomous Agents. Cambridge, Mass.: MIT Press.
Mason, C., and Johnson, R. 1989. DATMS: A Framework for Distributed Assumption-Based Reasoning. In Distributed Artificial Intelligence, Volume 2, eds. M. Huhns and L. Gasser, 293–318. San Francisco, Calif.: Morgan Kaufmann.
Minsky, M. 1986. The Society of Mind. New York: Simon and Schuster.
Müllen, T., and Wellman, M. P. 1996. Some Issues in the Design of Market-Oriented Agents. In Intelligent Agents II, eds. M. Wooldridge, J. P. Müller, and M. Tambe, 283–298. Lecture Notes in Artificial Intelligence 1037. New York: Springer-Verlag.
Müller, J. P., and Pischel, M. 1994. Modeling Interacting Agents in Dynamic Environments. In Proceedings of the Eleventh European Conference on Artificial Intelligence (ECAI-94), 709–713. Chichester, U.K.: Wiley.
Myerson, R. B. 1989. Credible Negotiation Statements and Coherent Plans. Journal of Economic Theory 48(2): 264–303.
Newell, A. 1990. Unified Theories of Cognition. Boston: Harvard University Press.
O'Hare, G., and Jennings, N. 1996. Foundations of Distributed Artificial Intelligence. New York: Wiley.
Parsons, S., and Jennings, N. R. 1996. Negotiation through Argumentation—A Preliminary Report. In Proceedings of the Second International Conference on Multiagent Systems, 267–274. Menlo Park, Calif.: AAAI Press.
Parunak, V. 1987. Manufacturing Experience with the Contract Net. In Distributed Artificial Intelligence, Volume 1, ed. M. Huhns, 285–310. London: Pitman.
Rao, A. S., and George, M. P. 1991. Toward a Formal Theory of Deliberation and Its Role in the Formation of Intentions, Technical report, Australian Artificial Intelligence Institute, Victoria, Australia.
Rick, C., and Sidner, C. 1997. COLLAGEN: When Agents Collaborate with People. In Proceedings of the First International Conference on Autonomous Agents (Agents '97), 284–291. New York: Association of Computing Machinery.
Rosenschein, J. S., and Genesereth, M. R. 1985. Deals among Rational Agents. In Proceedings of the Ninth International Joint Conference on Artificial Intelligence (IJCAI-85), 91–99 Menlo Park, Calif.: International Joint Conferences on Artificial Intelligence.
Rosenschein, J. S., and Zlotkin, G. 1994. Rules of Encounter: Designing Conventions for Automated Negotiation among Computers. Cambridge, Mass.: MIT Press.
Sandholm, T. 1993. An Implementation of the Contract Net Protocol Based on Marginal Cost Calculations. In Proceedings of the Eleventh National Conference on Artificial Intelligence, 256–262 Menlo Park, Calif.: American Association for Artificial Intelligence.
Sandholm, T., and Lesser, V. 1995. Issues in Automated Negotiation and Electronic Commerce: Extending the Contract Net Protocol. In Proceedings of the Second International Conference on Multiagent Systems, 328–335. Menlo Park, Calif.: AAAI Press.
Schwuttke, U. M., and Quan, A. G. 1993. Enhancing Performance of Cooperating Agents in Real-Time Diagnostic Systems. In Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence (IJCAI-93), 332–337 Menlo Park, Calif.: International Joint Conferences on Artificial Intelligence.
S. Sen, ed. 1996. Working Notes of the 1996 AAAI Symposium on Adaptation, Coevolution and Learning in Multiagent Systems. Menlo Park, Calif.: American Association for Artificial Intelligence.
Shehory, O.; Jha, S.; and Sycara, K. 1997. Multiagent Coordination through Coalition Formation. In Agents IV, Agent Theories, Architectures, and Languages, eds. M. Singh, A. Rao, and M. Wooldridge, 143–154. Lecture Notes in Artificial Intelligence. New York: Springer-Verlag.
Shoham, Y. 1993. Agent-Oriented Programming. Artificial Intelligence 60(1): 51–92.
Simon, H. 1957. Models of Man: Social and Rational—Mathematical Essays on Rational Human Behavior in a Social Setting. New York: Wiley.
Smith, I., and Cohen, P. 1996. Toward Semantics for an Agent Communication Language Based on Speech Acts. In Proceedings of the Fourteenth National Conference on Artificial Intelligence (AAAI-96). Menlo Park, Calif.: American Association for Artificial Intelligence.
Steeb, R.; Cammarata, S.; Hayes-Roth, F.; Thorndyke, P.; and Wesson, R. 1988. Distributed Intelligence for Air Fleet Control. In Readings in Distributed Artificial Intelligence, eds. A. H. Bond and L. Gasser, 90–101. San Francisco, Calif.: Morgan Kaufmann.
Stone, P., and Veloso, M. 1997. Multiagent Systems: A Survey from the Machine-Learning Perspective, Technical report, CMU-CS-97-193, School of Computer Science, Carnegie Mellon University.
Sycara, K. 1997. Using Option Pricing to Value Commitment Flexibility in Multiagent Systems, Technical report, CMU-CS-TR-97-169, School of Computer Science, Carnegie Mellon University.
Sycara, K. 1991. Problem Restructuring in Negotiation. Management Science 37(10): 1248–1268.
Sycara, K. 1990a. Negotiation Planning: An AI Approach. European Journal of Operational Research 46(2): 216–234.
Sycara, K. 1990b. Persuasive Argumentation in Negotiation. Theory and Decisions 28: 203–242.
Sycara, K. P. 1988. Resolving Goal Conflicts via Negotiation. In Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI-88). Menlo Park, Calif.: American Association for Artificial Intelligence.
Sycara, K. 1987. Resolving Adversarial Conflicts: An Approach to Integrating Case-Based and Analytic Methods. Ph.D. dissertation, School of Information and Computer Science, Georgia Institute of Technology.
Sycara, K.; Decker, K.; and Zeng, D. 1998. Intelligent Agents in Portfolio Management. In Agent Technology: Foundations, Applications, and Markets, eds. M. Wooldridge and N. R. Jennings, 267–283. Berlin: Springer.
Sycara, K.; Roth, S.; Sadeh, N.; and Fox, M. 1991. Distributed Constrained Heuristic Search. IEEE Transactions on System, Man, and Cybernetics 21(6): 1446–1461.
Sycara, K.; Decker, K.; Pannu, A.; Williamson, M.; and Zeng, D. 1996. Distributed Intelligent Agents. IEEE Expert 11(6): 36–46.
Tambe, M. 1997. Toward Flexible Teamwork. Journal of Artificial Intelligence Research 7(1): 83–124.
Thomas, J., and Sycara, K. 1998. Stability and Heterogeneity in Multiagent Systems. In Proceedings of the Third International Conference on Multiagent Systems. Menlo Park, Calif.: AAAI Press.
Travers, M. 1988. Animal Construction Kit. In Artificial Life, ed. C. G. Langton, 421–442. Reading, Mass.: Addison-Wesley.
Van Dyke Parunak, H. 1987. Manufacturing Experience with the Contract Net. In Distributed Artificial Intelligence, ed. M. Huhns, 285–310. London: Pitman.
Veloso, M.; Stone, P.; Han, K.; and Achim, S. 1997. CMUNITED: A Team of Robotic Soccer Agents Collaborating in an Adversarial Environment. In Proceedings of the First International Workshop on ROBOCUP. San Francisco, Calif.: Morgan Kaufmann.
Wang, H., and Wang, C. 1997. Intelligent Agents in the Nuclear Industry. IEEE Computer 30(11): 28–34.
Weihmayer, R., and Velthuijsen, H. 1994. Application of Distributed AI and Cooperative Problem Solving to Telecommunications. In AI Approaches to Telecommunications and Network Management, eds. J. Liebowitz and D. Prereau. Amsterdam, The Netherlands: IOS Press.
Williamson, M.; Decker, K.; and Sycara, K. 1996. Unified Information and Control in Hierarchical Task Networks. In Proceedings of the AAAI-96 Workshop on Theories of Planning, Action, and Control. Menlo Park, Calif.: AAAI Press.
Wooldridge, M., and Jennings, N. 1995. Intelligent Agents: Theory and Practice. Knowledge Engineering Review 10(2): 115–152.
Zeng, D., and Sycara, K. 1998. Bayesian Learning in Negotiation. International Journal of Human-Computer Studies 48: 125–141.
Zeng, D., and Sycara, K. 1997. Benefits of Learning in Negotiation. In Proceedings of the National Conference on Artificial Intelligence (AAAI-97), 36–41 Menlo Park, Calif.: American Association for Artificial Intelligence.
Zlotkin, G., and Rosenschein, J. 1991. Cooperation and Conflict Resolution via Negotiation among Autonomous Agents in Noncooperative Domains. IEEE Transactions on Systems, Man, and Cybernetics (Special Issue on Distributed Artificial Intelligence) 21(6): 1317–1324.