Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ar Quite Ctur As Agente
Ar Quite Ctur As Agente
de Madrid
Anexo I
Informe Técnico:
Arquitecturas de Agente
1. Introducción ......................................................................................................... 3
2. Arquitecturas de Agente en MAS ...................................................................... 5
3. Arquitecturas Deliberativas ............................................................................... 7
Arquitectura formal BDI (Belief, Desire, Intention) ...................................................................... 8
GRATE ........................................................................................................................................ 13
IRMA ........................................................................................................................................... 15
ADEPT ......................................................................................................................................... 16
En los últimos años el área de los agentes inteligentes y de los sistemas multiagente ha sido uno de los
campos de investigación predominantes en la Inteligencia Artificial. Gracias a la facilidad y naturalidad
con que es posible caracterizar en términos de agentes una gran variedad de aplicaciones, la tecnología de
agentes inteligentes se puede considerar más apropiada y potente que otras tecnologías para la
construcción de sistemas inteligentes complejos. Sin embargo, el hecho de que aún actualmente sea un
campo que sigue evolucionando, en el que tanto métodos como nuevas características aparecen cada día,
da lugar a que todavía hoy en día exista debate sobre qué es un agente. La definición de agente ha
resultado ser tan controvertida como la definición de Inteligencia Artificial ya que en la literatura se han
propuesto muchas definiciones para este concepto sin que ninguna de ellas haya sido aceptada
plenamente por la comunidad científica. Quizás por este motivo se ha optado por la definición de un
conjunto de propiedades que caracterizan a los agentes, aunque un agente no tenga por que poseer todas
ellas. Así, seguramente la definición más relevante sea la propuesta por Wooldridge y Jennings [Jennings,
98] según la cual un agente es un sistema informático que está situado en un entorno y es capaz de actuar
de forma autónoma y flexible. El hecho de que un agente sea una entidad situada en un entorno significa
que recibe información de entrada de sensores situados en el entorno y a partir de esta información realiza
acciones que de alguna forma implican cambios en el entorno. La autonomía se refiere a que el agente
debe ser capaz de actuar sin intervención de humanos o de otros agentes. Que un agente sea capaz de
actuar de forma flexible para conseguir sus objetivos implica que el agente debe ser:
Proactivo: capaz de exhibir un comportamiento oportunístico, dirigido a obtener sus metas y tomar la
iniciativa cuando sea apropiado.
Social: capaz de interactuar con otros agentes (humanos o no) a través de un lenguaje de
comunicación entre agentes.
Otras propiedades que se les suelen atribuir en mayor o menor medida a los agentes son:
Continuidad temporal, se considera un agente como un proceso sin fin, ejecutándose continuamente y
desarrollando su función.
Racionabilidad, el agente siempre realiza “lo correcto” a partir de los datos que percibe del entorno.
3
Benevolencia, asunción de que un agente está dispuesto a ayudar a otros agentes si esto no entra en
conflicto con sus propios objetivos.
No existe un consenso sobre el grado de importancia de cada una de estas propiedades para un agente. Sin
embargo, se puede afirmar que estas propiedades son las que distinguen a un agente de un mero
programa.
Una vez aclarado un poco más el concepto de agente, elemento básico del tipo de sistemas con los que se
trata en este documento, se puede definir lo que es un sistema basado en agentes y lo que se denomina
sistema multiagente. Un sistema basado en agentes es un sistema que contiene uno o varios agentes. En
principio el término basado en agentes significa que el sistema puede ser conceptualizado en términos de
agentes, pero se implementa sin estructuras software que correspondan a agentes. Cuando el sistema es
diseñado e implementado como varios agentes que interactúan se le denomina multiagente. Los sistemas
multiagente son especialmente adecuados para problemas en los que son necesarios múltiples métodos de
resolución de problemas y/o existen muchas entidades para la resolución de problemas. Este tipo de
sistemas tiene las ventajas tradicionales de los sistemas concurrentes y además pueden utilizar patrones de
interacción complejos (ejemplos de los tipos más comunes de interacción son la cooperación, la
coordinación y la negociación). La flexibilidad y la naturaleza de alto nivel de estos tipos de interacción
permite distinguir entre los sistemas multiagente y otros tipos de sistemas software, y proporciona una
gran potencia al paradigma de agentes.
A la hora de construir un Sistema Multiagente es imprescindible plantearse, entre otras cuestiones, qué
arquitectura tendrán los agentes que le componen. El diseño de la arquitectura de los agentes se puede
hacer desde la nada, es decir, sin ningún punto de partida, o puede partir de alguna arquitectura existente,
bien utilizándola directamente, o bien tomándola como base y extendiéndola con nuevas funcionalidades
o módulos que la adecuen para que los agentes a construir puedan comportarse como el sistema global
requiere. Teniendo en cuenta estas consideraciones, es importante, para elegir la arquitectura de los
agentes de un nuevo sistema, tener en mente qué tipos de arquitecturas existen y para qué tipo de
aplicaciones se han utilizado. Este es el objetivo principal de este estudio, que ha venido motivado como
uno de los primeros pasos a realizar en el proyecto DAMMAD (Diseño y Aplicación de Modelos
Multiagente para Ayuda a la Decisión).
En cada una de las secciones siguientes (secciones 3, 4 y 5) se presentan, respectivamente, los esquemas
generales de los agentes que siguen arquitecturas deliberativas, reactivas e híbridas; explicando, de forma
detallada, algunos ejemplos de cada tipo. Existe una gran cantidad de arquitecturas propuestas por los
diferentes investigadores en el área y realizar un análisis de todas ellas resulta imposible. Por este motivo
se ha realizado una selección representativa de cada tipo.
La sección 6 constituye un resumen de las secciones anteriores. En esta sección se incluyen varias tablas
en las que se establecen las principales diferencias entre unas y otras arquitecturas.
La sección de conclusiones refleja fundamentalmente las características que es deseable estudiar para
diseñar la arquitectura de los agentes DAMMAD, de acuerdo con el estudio realizado.
4
2. Arquitecturas de Agente en MAS
Las arquitecturas de agentes deben describir los diferentes módulos que forman parte de un agente y
cómo éstos se interconectan para que el agente pueda exhibir una determinada conducta, de acuerdo con
la definición realizada en el apartado anterior. Frente a otras tecnologías con componentes son fijos como
la de objetos (objetos, atributos y métodos) o la de sistemas basados en el conocimiento (motor de
inferencia, base de hechos, base de conocimiento y otros elementos opcionales), en los agentes es posible
encontrar una gran variedad de arquitecturas.
Desde un punto de vista muy general un agente puede contar con los siguientes módulos:
Módulo/s de integración de información: que deberán estar conectados con los módulos de
interacción y cuya función principal es integrar la información que reciben de los módulos de
interacción en la base de conocimiento del agente de una manera adecuada un consistente.
Módulo/s de planificación: cuya función es construir un plan, es decir, una secuencia de acciones a
realizar para conseguir los objetivos buscados por el agente.
Módulo/s de acción: que deberán estar conectados con los módulos de planificación y cuya función
es ejecutar y monitorizar las acciones contenidas en los planes generados por éstos. Si una acción
implica interacción con el entorno, el módulo de acción utilizará los servicios de los módulos de
interacción correspondientes.
Estos componentes se pueden organizar de varias maneras, pero es común, ya que ocurre en muchas
arquitecturas, que el agente quede estructurado en capas organizadas en una jerarquía. Cada capa trata con
información del entorno a diferentes niveles de abstracción, por este motivo puede que en una misma
capa no sean necesarios todos los módulos antes mencionados. Esta estructuración en capas da lugar a
una posible clasificación de las arquitecturas según si todas las capas tienen acceso a sensores y
actuadores (arquitecturas horizontales), como se puede observar en la parte superior de la Figura 1, o
sólo la capa más baja tiene acceso a sensores y actuadores (arquitecturas verticales), como muestran las
dos ilustraciones de la parte inferior de la Figura 1.
Según [Weiss, 99], la principal ventaja de las arquitecturas horizontales es que son conceptualmente muy
simples: Si se necesita que el agente tenga n comportamientos diferentes, se implementan n capas. Sin
5
embargo como las capas compiten entre si para recomendar acciones, existe el peligro de que el
comportamiento global del agente no sea coherente. Normalmente, para evitar esta situación, las
arquitecturas horizontales incorporan un mediador, que toma decisiones sobre la capa que tiene el control
del agente en un momento dado, pero la introducción de este mecanismo de control centralizado
introduce en el sistema un cuello de botella y también supone un problema para el diseñador, ya que tiene
que considerar todas las interacciones posibles entre capas.
Este problema se soluciona parcialmente en las arquitecturas verticales [Weiss, 99]. Las arquitecturas
verticales se pueden dividir en dos tipos: arquitecturas verticales de una pasada (Figura 1: parte inferior
izquierda) y arquitecturas verticales de dos pasadas (Figura 1: parte inferior derecha). En las de una
pasada el flujo de control atraviesa secuencialmente cada capa hasta que la capa más alta genera una
acción de salida. En las de dos pasadas, el flujo de control atraviesa primero las capas hacia arriba y luego
hacia abajo, hasta llegar otra vez a la capa más baja, que es en este caso la que genera la acción de salida.
En ambos tipos se reduce la complejidad de las interacciones entre capas, pero esta reducción supone una
pérdida de flexibilidad ya que para que un agente que tiene una arquitectura vertical tome una decisión es
necesario que el control pase por todas las diferentes capas. Además las arquitecturas verticales no son
tolerantes a fallos y si una capa falla, fallarán también las demás, lo que puede dar lugar a graves
consecuencias en el comportamiento del agente.
En resumen, las arquitecturas horizontales tienen la ventaja de que permiten un gran paralelismo entre
capas, pero es necesaria una gran cantidad de conocimiento de control para coordinar las capas, mientras
que en las arquitecturas verticales se reduce el control para coordinar las capas, pero la capa que
interactúa con los sensores debe ser más compleja y no son tolerantes a fallos.
Las arquitecturas de agente se pueden clasificar atendiendo a diferentes criterios. En concreto, según el
comportamiento que exhiben los agentes, es decir, dependiendo del tipo de procesamiento que emplean,
se pueden clasificar en deliberativas, reactivas e híbridas. Ésta es la clasificación que se toma como base
en este documento.
6
A continuación se presentan de forma detallada cada uno es estos tipos de arquitecturas, incluyendo sus
características principales y algunos ejemplos.
7
3. Comparación de Arquitecturas
Las tablas aparecen a continuación resumen los tres tipos de arquitecturas presentadas: deliberativas,
reactivas e híbridas. En la Tabla 4 se exponen las características principales de cada una de ellas. En la
Tabla 5 aparecen ejemplos de algunas arquitecturas existentes de cada tipo, de los cuales algunos han
sido descritos en este documento. En esta misma tabla se muestran también algunos tipos aplicaciones
que se han construido utilizando cada tipo de arquitectura. Por último, en la Tabla 6 se pueden consultar
cuáles son las ventajas e inconvenientes que las diferentes arquitecturas presentan .
8
Arquitecturas Ejemplos Aplicaciones
Agentes
Agentes BDI [Rao, Georgeff, 95] Agentes software
GRATE [Jennings, 92] Control de procesos dinámicos
Deliberativos
IRMA [Bratman et al., 88] complejos
ADEPT [Alty, 94] Recopilación de Información
Simulación
PRS [Georgeff & Lansky, 86]
MECCA [Steiner et al, 95]
Agent0 [Shoham, 92, Shoham, 93]
SOAR [Rosembloom et. al., 91]
Agentes Reactivos
Subsumpción [Brooks, 91] Agentes hardware y autónomos
Pengi [Agre, 87]. (robots)
Situated Automata [Kaebling & Juegos
Rosenschein, 91]
Existen muy pocas aplicaciones
Agentes Híbridos
InteRRaP [Müller, 93] Robots
Touring Machines [Ferguson, 92] Sistemas de control
3T [Bonasso, 96] Simulación
ARTIS [Botti, 99] Cooperación entre compañías de
transporte
COSY [Burmeister & Sundermeyer, 92]
Planificación
RAP [Firby, 87]
SIM_Agent [Sloman, 96]
dMARS[d’Inverno, 97]
AuRA [Arkin, 97]
9
Arquitecturas Comparativa
VENTAJAS:
Agentes
Deliberativos Tecnología familiar
Metodología clara
Muchas teorías adecuadas
Algunas facilitan la construcción de sistemas sociales y cooperativos en los que
existen muchos agentes autónomos.
Se puede introducir fácilmente un mecanismo de aprendizaje.
Permiten la construcción de agentes realmente autónomos
INCONVENIENTES:
Problemas para actualizar a tiempo el conocimiento, sobre todo en entornos de
tiempo real altamente dinámicos en los que los recursos no están disponibles o
son limitados. (aunque se han propuesto algunas variantes en las que se mejora
este problema)
Problemas a la hora de traducir el entorno a una representación simbólica.
VENTAJAS:
Agentes Reactivos
Buen funcionamiento en entornos altamente dinámicos
Simplicidad
Robustez y tolerancia a fallos
Eficiencia, reacciones ante eventos muy rápidas.
Autonomía limitada
INCONVENIENTES:
No hay consenso sobre la tecnología
No hay metodología y sólo algunas teorías aisladas
Es necesaria una gran cantidad de información local
El aprendizaje es problemático
Construcción por ensayo-error. Largo proceso de experimentación
Los agentes reactivos sólo pueden ser utilizados para su propósito original
Interacciones entre agentes muy simples
La construcción de sistemas grandes es extremadamente complicada
VENTAJAS:
Agentes Híbridos
Combinan las ventajas de arquitecturas deliberativas y las ventajas de
arquitecturas reactivas.
INCONVENIENTES:
Solución pragmática, pero ad-hoc
No hay consenso claro pero si muchas similitudes
No hay ni metodología ni teoría formal que la soporte
Muy dificiles de generalizar
Muy difícil reproducir sus resultados en diferentes dominios
10
Tabla 3: Comparativa entre los tres tipos de arquitecturas
4. Conclusiones
A partir del estudio realizado se puede afirmar que identificar la mejor arquitectura para un agente que
debe comportarse atendiendo a una serie de roles es un problema que todavía ha de resolverse ad hoc.
Inicialmente el diseñador debe caracterizar los requisitos de la arquitectura en función de cómo debe ser
el comportamiento de sus agentes y del sistema global. A continuación debe evaluar las arquitecturas
existentes de acuerdo con las características que ha obtenido y elegir la que mejor encaje. Si ninguna
arquitectura encaja será necesario diseñar una nueva. Incluso en este caso la evaluación de las
arquitecturas existentes será provechosa ya que ayudará a evitar problemas que en otro caso se podrían
presentar en la nueva arquitectura que se diseñe.
Algunas preguntas que permiten determinar características importantes para dirigirse hacia uno u otro tipo
de arquitectura son:
Cuáles deben ser las capacidades de razonamiento del agente y si este debe llevar a cabo
planificación.
Las limitaciones de recursos, es decir, qué recursos estarán disponibles para el agente.
En cualquier caso, los principios que generalmente se toman como válidos son los siguientes:
Las arquitecturas deliberativas son más adecuadas para agentes en los que la planificación y el
razonamiento a largo plazo son esenciales.
Las arquitecturas reactivas son más adecuadas para agentes situados en un entorno que está
continuamente cambiando y las respuestas rápidas son esenciales.
En resumen, la adopción de algún tipo de arquitectura híbrida que incorpore tanto aspectos reactivos
como deliberativos suele ser la opción más adecuada para asegurar el éxito de una arquitectura, ya que
con ésta pueden abordarse un rango más amplio de problemas, aunque son difíciles de generalizar, y por
lo tanto, de aplicar a diferentes dominios y su diseño es un problema que todavía ha de resolverse ad hoc.
11
Los dominios de aplicación dinámicos en tiempo real tienen, por lo general, las siguientes características:
En un momento dado, pueden existir muchas acciones o procedimientos que el sistema puede
ejecutar.
El tiempo en el que las acciones son llevadas a cabo debe estar limitado de una forma razonable,
teniendo en cuenta la rapidez con la que evoluciona el entorno.
Según Rao y Georgeff [Rao, Georgeff, 95], los árboles de decisión son unas estructuras formales
adecuadas para describir estos sistemas que son no deterministas, según las dos primeras características.
Cada rama en el árbol representa un camino de ejecución alternativo, cada nodo representa un estado del
mundo y cada transición una acción primitiva del agente y/o un evento en el entorno. De las acciones
primitivas de agente resultan nodos de decisión y de los eventos, nodos casuales.
En este modelo formal se pueden identificar los objetivos del sistema como caminos concretos en la
estructura de árbol.
Para que el agente actúe, debe seleccionar las acciones apropiadas de todas las opciones disponibles. Para
diseñar la función de selección debe tener información sobre el estado del entorno, contenida en algún
componente del estado del sistema (creencias). Además debe tener información sobre los objetivos a
conseguir (deseos) en otro componente. El curso de ejecución de la acción actual también debe ser
conocido (intenciones) por si el entorno varía durante la ejecución de la acción elegida, o de la función de
selección.
Como los nodos casuales representan eventos que dependen exclusivamente del entorno el agente no
tiene ningún control sobre ellos. Por esta razón [Rao, Georgeff, 95] proponen eliminarlos del árbol de
decisión, creando para cada conexión que sale de un nodo casual un nuevo árbol de decisión, en el que el
nodo casual se ha eliminado y el arco que incidía en él, incida ahora en su sucesor. De esta forma se
generan una serie de árboles de decisión donde cada uno de ellos representa un estado potencial del
entorno (mundo posible) con su probabilidad de ocurrencia asociada y con el beneficio que obtiene el
agente con cada camino. Con las probabilidades asociadas a los mundos posibles el agente obtiene lo que
cree que es posible, con los beneficios lo que desea que sea posible y utiliza esta información para
encontrar los mejores caminos de acción, a partir de los cuales el agente conoce lo que intenta.
[Rao, Georgeff, 95] desarrollaron una lógica formal basada en este modelo, que permite al agente realizar
razonamiento y crear intenciones. Pero desde el punto de vista práctico es más relevante la arquitectura
abstracta de un intérprete BDI (Figura 2) introducida también por ellos. El intérprete BDI utiliza tres
estructuras de datos dinámicas: una para creencias, otra para deseos y otra para intenciones, y una cola de
eventos en la que se encuentran todos los eventos que ocurren.
12
Figura 2: Bucle principal del intérprete [Rao, Georgeff, 95]
En cada pasada en intérprete primero lee la cola de eventos y genera una lista de opciones (posibles metas
a conseguir). Después selecciona las mejores de estas acciones y las añade a la estructura de intenciones.
Si hay alguna intención que realice una acción atómica el agente la ejecuta. Los eventos que han ocurrido
durante el ciclo de ejecución del intérprete se añaden a la cola. Por último el agente modifica las
estructuras de intenciones y de deseos eliminando tanto las intenciones y deseos que se han llevado a cabo
con éxito como las que no son posibles.
Con este modelo los sistemas deliberativos se adecuan más a entornos dinámicos y también son más
adecuados para aplicaciones que funcionan en tiempo real.
GRATE
La arquitectura GRATE (Generic Rules and Agent model Tesbed Environment) [Jennings, 92] sigue un
esquema en capas en él que el comportamiento del agente se guía por creencias, deseos e intenciones.
Esta arquitectura está especialmente diseñada para construir aplicaciones en las que los agentes deben
cooperar entre si para conseguir una serie de metas. Por este motivo se deben reflejar en la arquitectura
los dos posibles roles que un agente puede tomar: como entidad individual, y como miembro de una
comunidad. Los agentes que se construyen siguiendo esta arquitectura se caracterizan porque contienen
una cantidad significativa de conocimiento de cooperación y control.
El conocimiento de los agentes GRATE se divide en tres partes, como se observa en la Figura 3 :
El modelo propio (self model): que contiene conocimiento sobre el propio agente.
El modelo de otros agentes (acquaitances model): que contiene representaciones de los agentes de la
comunidad con los que el agente interactúa.
El conocimiento que contienen estos dos últimos módulos se puede clasificar en función del tipo de
conocimiento en: conocimiento del estado (progreso de las tareas), conocimiento sobre capacidades
13
(descripción de tareas, recetas, ...), conocimiento intencional (intenciones), conocimiento de evaluación
(tiempo para completar las tareas) y conocimiento del dominio.
Desde un punto de vista funcional, los agentes GRATE se dividen en dos componentes bien
diferenciados, como se aprecia en la Figura 3: Un nivel del dominio y una capa de cooperación y control.
El nivel del dominio se resuelven problemas del dominio (de control industrial, financias, transporte,
etc.). El nivel de cooperación y control es un meta-nivel controlador que opera en el nivel del dominio,
cuyo objetivo es asegurar que las actividades del agente están coordinadas con las de otros agentes en la
comunidad.
La capa de cooperación está compuesta de tres módulos genéricos: un módulo de control (control
module), un módulo de evaluación de situaciones (situation assessment module) y un módulo de
cooperación (cooperation module). Las funciones que realizan estos módulos se describen a
continuación:
Módulo de evaluación de situaciones: este módulo actúa de interfaz entre los mecanismos de control
locales y cooperativos. Las actividades que realiza son relativas a las decisiones sobre qué
actividades deben ser llevadas a cabo localmente y cuáles deben realizarse de forma cooperativa, qué
peticiones de cooperación deben acordarse y cuáles no, qué prioridad tienen las tareas que el agente
debe realizar, etc.
Módulo de control: este módulo es el responsable de asegurar que las tareas que el agente va a
realizar son llevadas a cabo. El módulo de evaluación de situaciones informa al módulo de control
de las tareas que éste debe monitorizar y de sus prioridades.
Módulo de cooperación: este módulo es el responsable de realizar las actividades sociales. También
es informado de estas actividades por el módulo de evaluación de situaciones, que previamente ha
detectado la necesidad de iniciar una actividad social.
14
El funcionamiento de un conjunto de agentes GRATE ha sido evaluado contra agentes que sólo tienen
intenciones individuales y contra agentes que se comportan de una manera interesada en problemas de
dominio real.
IRMA
IRMA (Intelligent Resource-bounded Machine Architecture) es una arquitectura que sigue el modelo
BDI, diseñada por [Bratman et al., 88]. Esta arquitectura se ha tomado como base en el diseño de otras
muchas arquitecturas que han aparecido posteriormente.
La arquitectura IRMA mantiene cuatro estructuras de datos simbólicos, denotados mediante ovales en la
Figura 4: la librería de planes, el conjunto de intenciones estructuradas como planes, el conjunto de
creencias y el conjunto de deseos.
La librería de planes contiene los planes sobre los que el agente tiene información, a modo de recetas.
Esta librería de planes puede ser vista como un subconjunto de las creencias del agente, que
concretamente contiene las creencias del agente sobre qué acciones deberían ser útiles para conseguir qué
efectos bajo unas determinadas condiciones. Por el contrario, el conjunto de intenciones estructuradas
como planes contiene los planes del agente en el momento actual.
Analizando la arquitectura desde un punto de vista funcional, se puede decir que un agente IRMA debe
realizar un conjunto de procesos. Estos procesos son llevados a cabo por los módulos denotados mediante
rectángulos en la Figura 4: un motor de razonamiento (means-end reasoner), un analizador (opportunity
analyser), un proceso de filtrado (filtering process) y un proceso de deliberación (deliberation process).
Antes de comenzar con la explicación de las funciones que realiza cada módulo es necesario aclarar dos
cuestiones. En primer lugar, [Bratman et al., 88] asumen que los planes de un agente no sólo se utilizan
para producir acciones en un momento dado, sino que también pueden ser de ayuda en razonamientos que
haya que realizar posteriormente: dirigiendo el razonamiento que hay que realizar para conseguir ciertas
metas finales y proporcionando restricciones sobre las opciones que necesitan ser consideradas más
seriamente. En segundo lugar, también se debe tener en cuenta que los planes del agente deben ser
parciales, en el sentido de que no deben ser muy detallados, porque se puede dar el caso de que el entorno
del agente cambie de forma que el agente no esté preparado para anticiparse a ese cambio. Si ocurre esto
y los planes del agente son muy detallados, se les podrá dar muy poco o ningún uso. Por este motivo, los
agentes frecuentemente deciden qué quieren conseguir, pero dejan abierta para una deliberación posterior
las cuestiones relativas a cómo conseguirlo. Esta es la razón de que se hable de la descomposición de
planes en intenciones. Una vez realizadas estas aclaraciones, veamos de qué se encarga cada uno de los
procesos que aparecen en la arquitectura:
Motor de razonamiento: el motor de razonamiento es invocado por cada uno de los planes parciales
existentes y su función es proponer subplanes para completarlo. El motor de razonamiento puede
proponer una serie de opciones diferentes para conseguir el objetivo de cada plan parcial.
Analizador: este módulo propone nuevas opciones en respuesta a los cambios que se perciban en el
entorno. No todas las opciones se proponen por el motor de razonamiento. Las opciones que propone
en analizador, al provenir de cambios en el entorno, no tienen por qué referirse a cómo conseguir un
objetivo que ya estaba planificado.
15
Proceso de filtrado: este proceso se encarga de filtrar las opciones que han sido propuestas por el
motor de razonamiento o por el analizador. Los planes del agente deben ser consistentes tanto
internamente como con las creencias que éste tiene. Por este motivo las opciones que no son
consistentes con los planes y las creencias del agente se pueden descartar. El filtrado se realiza para
que el proceso de deliberación sea más eficiente.
Proceso de deliberación: este proceso produce nuevas intenciones a partir de las opciones que han
sobrevivido al proceso de filtrado, tomando las mejores de estas opciones. Básicamente el proceso
de deliberación realiza lo que se llama toma de decisiones en la teoría tradicional. Las nuevas
intenciones se incorporan a los planes del agente.
La arquitectura IRMA que se diseñó principalmente para agentes inteligentes que tienen recursos
limitados, ha sido evaluada en un escenario conocido como Tileworld [Pollack and Ringuette, 90], que se
ha desarrollado para experimentar con agentes situados en un entorno dinámico. El Tileworld consiste en
un entorno dinámico simulado que contiene un agente. Éste debe portar bloques alrededor de una malla
bidimensional y depositarlos en ciertos lugares evitando obstáculos.
En definitiva se ha llegado a la conclusión de que es apropiado que se realice un proceso de filtrado como
el que IRMA propone, tanto en un agente individual como en un sistema multiagente, ya que ayuda a un
agente tanto a focalizar su razonamiento como a coordinar sus actividades con otros.
ADEPT
El proyecto ADEPT (Advanced Decision Environment for Process Tasks) [Alty, 94], [Jennings, 97] fue
un proyecto para investigar la tecnología y los métodos que se deben de utilizar para tratar la información,
tanto su recopilación como su gestión, distribución y presentación. Para este fin, en ADEPT se construyó
un sistema compuesto de muchos agentes autónomos.
16
En este dominio, cada agente controla y gestiona el abastecimiento de un número de servicios a otros
agentes en la infraestructura, de forma que cada agente se caracteriza por los servicios que proporciona.
Para este abastecimiento de servicios es necesario que los agentes se comuniquen y negocien.
La arquitectura de un agente ADEPT se muestra en la Figura 5, en ella se pueden observar los siguientes
módulos. El primero de ellos contiene la información con la que cuenta el agente, mientras que los otros
tres son funcionales:
El módulo que contiene el modelo del propio agente y los modelos de los demás agentes con los que
se comunica (self and acquaitance models), que contiene información sobre los servicios que
proporciona el agente, sobre las capacidades de negociar con otros agente, sobre los agentes que
proporcionaron servicios en el pasado, sobre los contratos que el agente realizó con otros agente, etc.
El módulo de evaluación de situaciones (situation assesment module), que sirve de link entre el rol
individual y el rol social del agente. Cuando este módulo indica que se debe establecer algún contrato
con algún agente externo para que proporcione algún servicio, invoca al módulo de ejecución de
servicios.
El módulo de ejecución de servicios (service execution module), que gestiona la negociación para
llevar a cabo un acuerdo.
Todos los módulos funcionales del agente hacen uso del modelo propio del agente y del modelo de los
demás agentes.
17
Los agentes en ADEPT están organizados de la siguiente manera: los agentes se agrupan en agencias. Un
agente tiene bajo su control una serie de tareas y se puede comunicar con otros agentes bien de forma
holgada, o bien de forma estrecha. La comunicación en forma holgada implica que no existe ningún
agente controlador. La comunicación en forma estrecha implica la existencia de un agente controlador,
de forma que los agentes de fuera de la agencia tienen restringido el acceso.
En la agencia residen los agentes servidores, que se comunican de forma holgada con los demás agentes
de la misma agencia, pero de forma estrecha con el agente controlador. Las agencias normalmente están
organizadas de forma jerárquica, de manera que los agentes de una agencia pueden ser controladores de
otras agencias de más bajo nivel. Para dar un servicio es posible seleccionar agentes de diferentes
agencias y formar una agencia virtual.
18
6. Arquitecturas Reactivas
Los agentes reactivos se caracterizan porque pueden operar rápida y efectivamente sin la necesidad de
procesar una representación simbólica del entorno, ya que representan una categoría de agentes que no
posee modelos simbólicos externos del entorno en el que se encuentran [Nwana, 96]. Los agentes
reactivos toman decisiones basadas totalmente en el presente, sin hacer uso de lo que ha ocurrido en el
pasado, porque no conocen su historia [Weiss, 99]. Este tipo de agentes actúan siguiendo un esquema
estímulo-respuesta según el estado actual del entorno en el que están embebidos. La característica más
importante de los agentes reactivos es el hecho de que los agentes son relativamente simples e
interaccionan con otros agentes de manera sencilla. Sin embargo, si se observa de una forma global el
conjunto de agentes, las interacciones pueden dan lugar a patrones de comportamiento muy complejos.
Por el hecho de ser agentes sencillos, la capacidad de realizar razonamientos complejos desaparece en su
mayor parte, y al contrario que los agentes deliberativos la inteligencia que puedan mostrar no proviene
de modelos internos, sino de la interacción con su entorno [Brenner, 98].
Un módulo de competencia es responsable de una tarea claramente definida, aunque no tiene por qué
serlo de una tarea completa. En los agentes reactivos no existen componentes centralizados como el
planificador o el organizador en los agentes deliberativos, así que cada módulo de competencia debe
poseer todas las capacidades necesarias para procesar sus tareas. Por este motivo, los módulos de
competencia tienen completamente especificadas las tareas que resuelven y proporcionan la solución
específica a esas tareas, es decir, un agente reactivo no resuelve ninguna tarea para la cual no exista un
módulo de competencia, en contraste con los agentes deliberativos, que pueden utilizar el conocimiento
de la base de conocimiento para resolver un rango de problemas.
19
Figura 6: Arquitectura de un agente reactivo [Iglesias, 97]
El funcionamiento de un agente reactivo es básicamente como sigue: los sensores recogen información,
que es directamente enviada a los módulos de competencia. La información que los sensores mandan a
los módulos de competencia no recibe ningún tipo de tratamiento, es decir, no se traduce ninguna
representación simbólica. La llegada de información a uno de estos módulos provoca en él una reacción
que se transfiere al entorno a través de los actuadores.
Si los módulos de competencia trabajan en paralelo lo más normal es que aparezcan dependencias, por
este motivo se deben poder comunicar entre ellos. La comunicación normalmente utiliza tanto
mecanismos como lenguajes de comunicación simples, y puede ser uno-a-uno o se puede realizar a través
del entorno. La comunicación uno-a-uno proporciona una gran capacidad de reacción, ya que es una
comunicación directa, que no necesita de ningún intermediario, entre los dos módulos de competencia
que se comunican, con lo que no existen retardos. En la comunicación a través del entorno un módulo
realiza cambios en el entorno que son apreciados por otro módulo. Esta variante es más lenta que la
comunicación directa, pero permite reaccionar ante situaciones más complejas.
La mayoría de las arquitecturas reactivas están basadas en reglas situación-acción, cuyo funcionamiento
es similar al de una base de reglas. Así los agentes actúan de forma apropiada según su situación, donde
una situación es una combinación de eventos internos y externos potencialmente compleja [Connah, 94].
Los agentes situación-acción se han utilizado en PENGI, un juego de ordenador [Agre, 87]. Los
investigadores de los laboratorios Philips en Redhill, UK, han implementado un lenguaje situación-acción
llamado RTA [Grahan & Wavish, 91] y lo han utilizado para implementar caracteres en juegos de
computador. [Kaebling & Rosenschein, 91] han propuesto otro lenguaje que utiliza lógica modal que está
basado en un paradigma llamado situated automata, en el que un agente se especifica en términos
declarativos.
El área de aplicación usual de los agentes sotfware reactivos es el mundo de los juegos o la industria del
entretenimiento y robots.
De forma resumida, las arquitecturas reactivas presentan las siguientes ventajas [Weiss, 99] :
Simplicidad.
Economía.
Eficiencia computacional.
El aprendizaje es problemático.
La construcción de agentes reactivos requiere experimentación, por lo que supone una gran cantidad
de tiempo.
20
Los sistemas reactivos únicamente pueden ser utilizados para su propósito original.
La crítica principal que han tenido las arquitecturas reactivas es que son excesivamente rígidas y simples
como para producir comportamientos inteligentes como planificación o aprendizaje.
Arquitectura subsumpción
Un agente basado en los principios de la arquitectura subsumpción [Brooks, 91] consiste en una serie de
módulos de competencia (cada una de las capas de la Figura 7) orientados a tareas que están organizados
jerárquicamente, es decir, en este caso la descomposición no es funcional como en los agentes
deliberativos sino que es una simple división de tareas. Cada módulo de competencia es responsable de
un comportamiento concreto del agente, siendo los módulos situados abajo en la jerarquía los que se
encargan de tareas básicas o primitivas, y los módulos más altos los que se encargan de patrones de
comportamiento más complejos. Cada módulo de competencia puede operar de forma autónoma, pero los
módulos de alto nivel incorporan un subconjunto de tareas de los módulos subordinados y pueden tanto
inhibir sus salidas como modificar o suprimir sus entradas.
21
Como los agentes no emplean modelos de su entorno, deben tener suficiente información disponible
en su entorno local para determinar acciones aceptables.
Como los agentes puramente reactivos toman decisiones basándose en su información local
(información sobre el estado actual del agente) es difícil que la toma de decisiones tenga en cuenta
información no local
Como los agentes puramente reactivos no tienen memoria, es difícil diseñar agentes de este tipo que
aprendan de la experiencia y de esta forma mejoren su actuación a lo largo del tiempo.
Construir agentes que contienen muchas capas es muy complicado, ya que la dinámica de la
interacción entre diferentes comportamientos se hace muy compleja de entender, es decir, el diseño
de agentes reactivos capaces de tener comportamientos complejos es muy problemático.
Como todas las arquitecturas reactivas ésta ha sido principalmente aplicadas en la construcción de robots.
Por ejemplo, en el MIT se ha utilizado para construir al menos 10 robots. Por lo tanto, y en base a la
experimentación que se ha realizado sobre la arquitectura subsumpción se puede afirmar que es una
arquitectura útil en aplicaciones en las que los agentes son agentes hardware y autónomos que se
encuentran en un entorno muy dinámico .
22
7. Arquitecturas Híbridas
Las arquitecturas híbridas combinan componentes de tipo reactivo con componentes de tipo deliberativo,
como se observa en la Figura 8. La parte reactiva interacciona con el entorno y reacciona rápidamente a
los eventos que en él se producen sin invertir tiempo en realizar razonamiento, mientras que la parte
deliberativa planifica y se encarga de la parte de toma de decisiones, es decir, realiza tareas a un nivel de
abstracción superior.
Las arquitecturas híbridas pretenden aprovechar los beneficios que proporcionan las arquitecturas
reactivas y los beneficios que proporcionan las deliberativas, ya que para la mayoría de los problemas no
es adecuada ni una arquitectura puramente deliberativa ni una arquitectura puramente reactiva.
Típicamente los sistemas híbridos se diseñan siguiendo una arquitectura jerárquica en capas, en la que las
capas más bajas son principalmente reactivas y las capas más altas son principalmente deliberativas.
Aunque las arquitecturas híbridas como Touring Machines [Ferguson, 92], InterRRaP [Müller, 93] y
COSY [Burmeister & Sundermeyer, 92] tienen algunas ventajas sobre las puramente deliberativas y las
puramente reactivas, tienen la dificultad potencial de que tienden a ser ad-hoc y aunque sus estructuras
están bien motivadas desde el punto de vista de diseño, no está claro que sean motivadas por una teoría
muy formal, o en general no se suele especificar una teoría que las soporte. En particular, arquitecturas
Touring Machines, que contienen un número de capas independientes que compiten unas con otras en
tiempo real para controlar la actividad del agente parecen estar faltas de formalización Lo que no esta
claro es que la falta de formalización sea una desventaja seria ya que al menos se cuenta con un buen
modelo para un agente particular, a pesar de que sea muy dificultoso generalizar y reproducir sus
resultados en dominios distintos.
23
Arquitectura InteRRaP
El ejemplo más común de arquitectura híbrida es la arquitectura en capas InteRRaP [Müller, 93, 96],
[Mueller & Fischer, 98], [Jung, 98]. InteRRaP permite modelar agentes autónomos y limitados por
recursos, que interactúan con otros en un entorno multiagente dinámico, combinando reactividad,
deliberación y cooperación. Para esto combina las ventajas de BDI y de las arquitecturas en capas. Las
arquitecturas BDI proporcionan un modelo conceptual claro de los conocimiento, metas y cometidos de
un agente, pero deben de ser extendidas para soportar el diseño en aplicaciones prácticas de agentes
limitados por recursos y de agentes dirigidos a metas. En cambio las arquitecturas en capas son potentes
para el diseño de agentes limitados por recursos.
Un agente InteRRaP está compuesto de una Base de Conocimiento que está asociada a una Unidad de
Control situada sobre un Componente Percepción-Acción que gestiona las comunicaciones de bajo nivel,
como se observa en la Figura 9.
Un modelo del mundo, que contiene las creencias relacionadas con el entorno del agente.
Un modelo mental, que contiene las creencias del agente sobre si mismo.
La Unidad de Control consiste en tres capas que actúan asincronamente y corresponden a diferentes
niveles funcionales del agente:
Capa de comportamiento (BBL): Implementa la parte reactiva, por lo que permite al agente
reaccionar ante situaciones críticas y también tratar con situaciones rutinarias. La capa de
comportamiento contiene un conjunto de patrones de comportamiento (PoBs) que se llevan a cabo
mediante reglas situación-acción que describen las habilidades reactivas del agente. Con un rápido
reconocimiento de patrones el agente puede reaccionar ante situaciones críticas. Esta capa
proporciona eficiencia reactividad y robustez.
24
Capa de planificación local (LPL): Proporciona al agente la habilidad de deliberar. Se construye
sobre información del modelo del mundo pero adicionalmente utiliza las metas actuales de agente,
las intenciones locales mantenidas en el modelo mental y algunos mecanismos de planificación
dependientes del dominio.
Estas dos últimas capas son más deliberativas. Todas las capas trabajan con los diferentes modelos que se
encuentran en la base de conocimiento: La capa BBL opera con el modelo del mundo, la capa LPL con el
modelo mental y la capa CPL con el social.
Cada capa de InteRRaP consiste en dos procesos, SG (reconocimiento de situación y activación de metas)
y PS (planificador y organizador), que interactúan entre ellos y con las capas vecinas. El SG realiza todas
las funciones descritas en el modelo conceptual antes de la creación de opciones. El PS realiza la
planificación y organización y la creación de intenciones.
La arquitectura en capas que sigue InteRRaP se puede clasificar como vertical, ya que el proceso de
control es de abajo arriba (bottom-up), mientras que el de ejecución es de arriba abajo (top-down).
El proceso de control empieza en la capa más baja y termina en la más alta (bottom-up), teniendo sólo
acceso directo al interfaz con el mundo la capa de comportamiento. Las otras capas sólo reciben la
información que necesitan. Si ocurre una nueva situación, la capa de comportamiento la reconoce y si
puede reaccionar apropiadamente a ella lo hace sin informar a las capas de control que están por encima
de ella. Si la capa de comportamiento no tiene capacidades suficientes para reaccionar a la situación, pasa
el control al proceso SG de la capa de planificación local. Si la situación requiere cooperación con otros
agentes la capa de planificación local se la pasa a la capa de planificación cooperativa.
El proceso de ejecución empieza en la capa más alta y termina en la más baja (top-down). Sólo la capa de
comportamiento puede llevar a cabo una acción, porque es la única que tiene acceso a los actuadores.
El modelo conceptual de un agente InteRRaP que se muestra en la Figura 10 puede ayudar a entender
mejor el comportamiento que tiene un agente basado en esta arquitectura, como se explica a continuación:
Los hechos que el agente obtiene de los sensores forman sus creencias, que se van actualizando a medida
que los sensores proporcionan nuevos hechos [Brenner, 98]. Las creencias se agrupan, como ya se ha
mencionado, en tres modelos separados: el modelo del mundo, el modelo mental, y el modelo social.
25
Figura 10: Modelo de agente conceptual INTERRAP [Volker, 97]
Para que el uso de las creencias sea práctico, se generan a partir de ellas situaciones. Las situaciones son
subconjuntos de creencias que representan estados en los que el agente tiene un interés concreto. Las
situaciones se organizan a su vez en tres capas: situaciones simples o de emergencia, situaciones que
requieren planificación local y situaciones que requieren planificación cooperativa.
Las metas del agente se dividen en reacciones, metas locales y metas cooperativas. La ocurrencia de una
situación normalmente activa una o más metas. Con el conjunto de metas que satisfacen una situación
particular se construyen las opciones. El planificador y organizador permite al sistema derivar intenciones
a partir de las opciones y dependiendo de la opción será diferente: una simple reacción se define como
patrones de comportamiento (PoBs), mientras que las metas locales y cooperativas requieren la aplicación
de un proceso de planificación. Cuando las intenciones han sido generadas, se ejecutan.
La arquitectura InteRRaP ha sido evaluada al menos en tres aplicaciones [Muller, 93]: el sistema FORKS
que simula robots que actúan de elevadores situados en una plataforma de carga. En este escenario los
agentes se viven en un entorno muy dinámico que continuamente demanda respuestas rápidas pero por
otra parte se requiere planificación compleja a largo plazo. El sistema DMARS, que simula la
cooperación entre compañías de transporte, y el sistema COSMA, un planificador distribuido de citas.
Touring Machines
La arquitectura Touring Machines [Ferguson, 92] es otro buen ejemplo de arquitectura híbrida para
agentes dinámicos, racionales y autónomos. Esta arquitectura, que es similar a la arquitectura
26
subsumpción de Brooks [Brooks, 91], consiste en tres capas que funcionan concurrentemente (Figura
11):
La capa reactiva, que está compuesta por reglas situación-acción, por lo que proporciona al agente la
capacidad de reacciones inmediatas ante cambios del entorno.
La capa de planificación, que tiene como componente principal un planificador parcial jerárquico.
Esta capa es responsable de decidir que acciones realiza el agente en circunstancias normales.
La capa de modelos, que representa las entidades del mundo del agente, incluyendo tanto al propio
agente como a los demás. Esta capa permite predecir conflictos entre agentes y genera nuevas metas
para resolver los conflictos.
Cada capa describe el mundo del agente en un nivel de abstracción diferente y por lo tanto, está dotada de
capacidades diferentes. Como las acciones propuestas por una capa pueden estar en conflicto con las de
otra es necesaria alguna política de control (control policy) que sirva de mediación y posibilite que los
agente puedan comportarse adecuadamente. La política de control permite a cada capa examinar los datos
de las demás y tanto añadir como eliminar datos en las mismas, es decir, puede alterar el flujo de control
normal de las capas.
Las entradas y salidas de las capas son generadas de forma asíncrona con reglas de control activadas por
el contexto, que se aplican a estas entradas y salidas en cada punto de sincronización. De esta forma, las
reglas actúan como filtros entre los sensores y las capas internas del agente. La mediación permanece
activa todo el tiempo y es transparente a las capas. Así cada capa actúa como si controlara al agente ella
sola, sin ser consciente de interferencias con sus entradas y salidas, bien producidas por las otras capas o
por la política de control. La política de control global contiene un régimen de planificación que la
permite ser sensitiva a las metas con alta prioridad de bajo nivel, mientras da servicio a las tareas de alto
nivel del agente.
La principal diferencia con InteRRaP es que Touring Machines es una arquitectura en capas horizontal,
mientras que InteRRaP es vertical. En las arquitecturas horizontales todas las capas tienen acceso a los
datos de sensores y pueden contribuir en las acciones mientras que en las arquitecturas verticales sólo la
capa más baja tiene acceso a las percepciones. Para conseguir coordinación entre capas en una
27
arquitectura horizontal como Touring Machines es necesario contar con unas reglas de control que
permitan suprimir la entrada de una determinada capa, es decir, que actúan de forma autónoma, similar al
mecanismo de inhibición de la arquitectura subsumpción de Brooks [Brooks, 91].
Arquitectura 3T
La arquitectura 3T [Bonasso, 96] es útil para coordinar en tiempo real el comportamiento de un agente
que habita en un mundo dinámico. Esta arquitectura, que también está principalmente orientada a la
construcción de robots, utiliza tres niveles de abstracción o tres diferentes capas, que se pueden observar
en la Figura 12:
Un secuenciador, que activa y desactiva conjuntos de habilidades para crear redes que cambien el
estado del mundo y lleven a cabo tareas específicas. Para esto de usa el sistema Reactive Action
Packages (RAPs).
Un planificador deliberativo que pueda realizar razonamientos complejos sobre las metas, los
recursos y las restricciones de tiempo. Para este planificador se utiliza un sistema llamado
Adversative Planner (AP).
3T se centra en el caso en que hay un solo agente actuando en un mundo dinámico, mientras que
InteRRaP extiende el clásico planificador reactivo con la capa cooperativa, para agentes que viven en un
mundo multiagente, donde el dinamismo es causado por la presencia de otros agentes.
Se ha implementado en una gran variedad de robots, por ejemplo: un robot móvil que reconoce a
personas, un robot móvil que recolecta basura, un robot móvil que navega por edificios de oficinas, un
robot para estaciones espaciales [Bonasso, 96].
28
Arquitectura Artis
La arquitectura ARTIS [Botti, 99] es una arquitectura de agente pensada para modelar agentes que
habitan en entornos dinámicos y tienen impuestas unas restricciones de tiempo muy fuertes, hasta el
punto de que no realizar una tarea en un determinado tiempo puede llevar a efectos catastróficos. Un
agente ARTIS es autónomo, reactivo, proactivo y tiene continuidad temporal.
La arquitectura ARTIS es una extensión del modelo de pizarra adaptándolo para trabajar en entornos de
tiempo real con fuertes restricciones de tiempo. Esta arquitectura cuenta con dos niveles de agentes: El
agente ARTIS y un conjunto de agentes internos (in-agents) que están incluidos en él. La comunicación
entre el agente ARTIS y los agentes internos se realiza a través de una pizarra.
Un módulo de control que es responsable de la ejecución en tiempo real de cada componente del
agente. Este módulo permite que se implementen algunas características de comportamiento para
proporcionar al agente algunos atributos específicos (como comunicación, adaptatividad, interfaz de
usuario, movilidad, etc.), con los que el agente deberá contar o no dependiendo del tipo de problema
que deba resolver.
Un nivel reactivo que asegura una respuesta ante cualquier evento crítico del entorno. Este nivel
reactivo está formado por los niveles reactivos de los diferentes agentes internos que forman el
agente ARTIS.
Un servidor inteligente, que se utiliza para construir respuestas de alta calidad (calculadas por los
niveles cognitivos de los diferentes agentes internos), cuando hay tiempo suficiente para ello, y para
gestionar eventos esporádicos del entorno que no son críticos.
Desde un punto de vista formal un agente ARTIS puede ser visto como una tupla formada por tres
elementos:
Una función de selección de agentes internos, que se lleva a cabo por el módulo de control y por el
servidor inteligente.
29
Un conjunto de creencias que representan el entorno y los estados internos del agente, compuesto por
las creencias de todos los agentes internos y un conjunto de creencias globales.
Un agente interno es una entidad interna que tiene el conocimiento necesario para resolver un problema
particular, y periódicamente realiza una tarea específica. De acuerdo con la definición de agente, es un
agente con las siguientes características:
Funcionamiento colaborativo: Todos los agentes internos cooperan para resolver un problema
particular, basando su comunicación en el modelo de pizarra.
Actividad en tiempo real: Cada agente interno debe tener un plazo y un periodo que le permita
trabajar en entornos con fuertes restricciones de tiempo.
Un agente interno consiste en tres niveles (Figura 14), que le permiten tener este comportamiento:
Un nivel reactivo: Para asegurar una respuesta mínima (respuesta de baja calidad en tiempo limitado)
a un problema particular.
Un nivel cognitivo: Para calcular una respuesta razonada a través de un proceso deliberativo (en
tiempo ilimitado).
Un nivel de acción, que ejecuta la acción independientemente del nivel que la haya generado.
En cada periodo el agente interno decide entre una respuesta reactiva o una respuesta deliberativa. Esta
decisión depende principalmente del tiempo disponible para mejorar la respuesta
Un agente que sigue la arquitectura ARTIS puede ser integrado en un sistema multiagente, aunque para
ello habría que extender la arquitectura como mínimo con un lenguaje de comunicación entre agentes.
La arquitectura ARTIS ha sido evaluada mediante algunos prototipos para controlar de sistemas
simulados, por ejemplo en un purificador de plantas y en una cinta transportadora [Botti, 99].
30
8. Comparación de Arquitecturas
Las tablas aparecen a continuación resumen los tres tipos de arquitecturas presentadas: deliberativas,
reactivas e híbridas. En la Tabla 4 se exponen las características principales de cada una de ellas. En la
Tabla 5 aparecen ejemplos de algunas arquitecturas existentes de cada tipo, de los cuales algunos han
sido descritos en este documento. En esta misma tabla se muestran también algunos tipos aplicaciones
que se han construido utilizando cada tipo de arquitectura. Por último, en la Tabla 6 se pueden consultar
cuáles son las ventajas e inconvenientes que las diferentes arquitecturas presentan .
31
Arquitecturas Ejemplos Aplicaciones
Agentes
Agentes BDI [Rao, Georgeff, 95] Agentes software
GRATE [Jennings, 92] Control de procesos dinámicos
Deliberativos
IRMA [Bratman et al., 88] complejos
ADEPT [Alty, 94] Recopilación de Información
Simulación
PRS [Georgeff & Lansky, 86]
MECCA [Steiner et al, 95]
Agent0 [Shoham, 92, Shoham, 93]
SOAR [Rosembloom et. al., 91]
Agentes Reactivos
Subsumpción [Brooks, 91] Agentes hardware y autónomos
Pengi [Agre, 87]. (robots)
Situated Automata [Kaebling & Juegos
Rosenschein, 91]
Existen muy pocas aplicaciones
Agentes Híbridos
InteRRaP [Müller, 93] Robots
Touring Machines [Ferguson, 92] Sistemas de control
3T [Bonasso, 96] Simulación
ARTIS [Botti, 99] Cooperación entre compañías de
transporte
COSY [Burmeister & Sundermeyer, 92]
Planificación
RAP [Firby, 87]
SIM_Agent [Sloman, 96]
dMARS[d’Inverno, 97]
AuRA [Arkin, 97]
32
Arquitecturas Comparativa
VENTAJAS:
Agentes
Deliberativos Tecnología familiar
Metodología clara
Muchas teorías adecuadas
Algunas facilitan la construcción de sistemas sociales y cooperativos en los que
existen muchos agentes autónomos.
Se puede introducir fácilmente un mecanismo de aprendizaje.
Permiten la construcción de agentes realmente autónomos
INCONVENIENTES:
Problemas para actualizar a tiempo el conocimiento, sobre todo en entornos de
tiempo real altamente dinámicos en los que los recursos no están disponibles o
son limitados. (aunque se han propuesto algunas variantes en las que se mejora
este problema)
Problemas a la hora de traducir el entorno a una representación simbólica.
VENTAJAS:
Agentes Reactivos
Buen funcionamiento en entornos altamente dinámicos
Simplicidad
Robustez y tolerancia a fallos
Eficiencia, reacciones ante eventos muy rápidas.
Autonomía limitada
INCONVENIENTES:
No hay consenso sobre la tecnología
No hay metodología y sólo algunas teorías aisladas
Es necesaria una gran cantidad de información local
El aprendizaje es problemático
Construcción por ensayo-error. Largo proceso de experimentación
Los agentes reactivos sólo pueden ser utilizados para su propósito original
Interacciones entre agentes muy simples
La construcción de sistemas grandes es extremadamente complicada
VENTAJAS:
Agentes Híbridos
Combinan las ventajas de arquitecturas deliberativas y las ventajas de
arquitecturas reactivas.
INCONVENIENTES:
Solución pragmática, pero ad-hoc
No hay consenso claro pero si muchas similitudes
No hay ni metodología ni teoría formal que la soporte
Muy dificiles de generalizar
Muy difícil reproducir sus resultados en diferentes dominios
33
9. Conclusiones
A partir del estudio realizado se puede afirmar que identificar la mejor arquitectura para un agente que
debe comportarse atendiendo a una serie de roles es un problema que todavía ha de resolverse ad hoc.
Inicialmente el diseñador debe caracterizar los requisitos de la arquitectura en función de cómo debe ser
el comportamiento de sus agentes y del sistema global. A continuación debe evaluar las arquitecturas
existentes de acuerdo con las características que ha obtenido y elegir la que mejor encaje. Si ninguna
arquitectura encaja será necesario diseñar una nueva. Incluso en este caso la evaluación de las
arquitecturas existentes será provechosa ya que ayudará a evitar problemas que en otro caso se podrían
presentar en la nueva arquitectura que se diseñe.
Algunas preguntas que permiten determinar características importantes para dirigirse hacia uno u otro tipo
de arquitectura son:
Cuáles deben ser las capacidades de razonamiento del agente y si este debe llevar a cabo
planificación.
Las limitaciones de recursos, es decir, qué recursos estarán disponibles para el agente.
En cualquier caso, los principios que generalmente se toman como válidos son los siguientes:
Las arquitecturas deliberativas son más adecuadas para agentes en los que la planificación y el
razonamiento a largo plazo son esenciales.
Las arquitecturas reactivas son más adecuadas para agentes situados en un entorno que está
continuamente cambiando y las respuestas rápidas son esenciales.
En resumen, la adopción de algún tipo de arquitectura híbrida que incorpore tanto aspectos reactivos
como deliberativos suele ser la opción más adecuada para asegurar el éxito de una arquitectura, ya que
con ésta pueden abordarse un rango más amplio de problemas, aunque son difíciles de generalizar, y por
lo tanto, de aplicar a diferentes dominios y su diseño es un problema que todavía ha de resolverse ad hoc.
34
10.Referencias
[1] Alty, J.L.,Griffiths, D., Jennings, N.R., Mamdani, E.H., Struthers, A., Wiegand, M.E., (1994).
ADEPT -- Advanced Decision Environment for Process Tasks: Overview and Architecture. Proc.
BCS Expert Systems Conference 94, pp. 359-371, Cambridge, UK.
[2] Agre, P.E., Chapman, D. (1987). An implementation of a theory of activity. Proceedings of AAAI-
87, pp. 268-272, Seatle, WA.
[3] Arkin, R.C., Balch, T. (1997). AuRA: Principles and Practice in Review. Journal of Experimental
& Theoretical Artificial Intelligence, Vol. 9, No. 2/3, pp.175-188.
[4] Bonasso, P., Firby, J., Gatet E., (1997). Experiences with an architecture for intelligent, reactive
agents. J. Expt. Theor. Artif. Intell., 9, 237--256.
[5] Botti, V., Carrascosa, V.J., Soler, J. (1999). Modelling agents in hard-time environments. In Proc.
MAAMAW-99, pages 63-76.
[6] Bratman, M. E., Israel, D. J. and Pollack, M E., (1988). Plans and Resource Bounded Practical
Reasoning. Computational Intelligence 4 pp 349-355.
[7] Brenner, W., Zarnekov, R., Wittig, H. (1998). Intelligent Software Agents. Foundations and
applications. New York. Springer-Verlag Berlin Heidelberg.
[8] Brooks, R.A.. (1991). How to build complete creatures rather than isolated cognitive simulators.
In K. VanLehn (ed.), Architectures for Intelligence, pp. 225-239, Lawrence Erlbaum Assosiates,
Hillsdale, NJ.
[9] Burmeister, B., Sundermeyer, K. (1992). Cooperative problem solving guided by intentions and
perception. In Werner, E. and Demazeau, Y., editors, Decentralized AI 3 - Proceedings of the
Third European Workshop on Modelling Autonomous Agents and Multi-Agent Worlds
(MAAMAW-91) pages 77-92. Elsevier Science Publishers B.V.: Amsterdam, The Netherlands.
[10] Connah, D. (1994). The Design of Interacting Agents for Use in Interfaces. In Brouwer-Janse, D.
& Harringdon, T. L. (eds.), Human-Machine Communication for Educational Systems Design.
NATO ASI Series, Series F, Computer and Systems Sciences 129, Heidelberg: Springer Verlag.
[11] D’Inverno, M., Kinny, D., Lick, M., Wooldridge, M.(1997). A formal specification of dMARS.
Australian Artificial Intelligence Institute, Technical Note 72.
[12] Ferguson, I.A. (1992) Touring-machines: autonomous agents with attitudes, IEEE Computer, vol.
25.
35
[13] Georgeff, M. P., Lansky, A. L. (1987). Reactive reasoning and planning. In Proceedings of the
Sixth National Conference on Artificial Intelligence (AAAI-87), pages 677-682, Seattle, WA.
[14] Firby, R.J. (1987). An investigation into reactive planning in complex domains. In Proceedings of
the Sixth National Conference on Artificial Intelligence, 202-- 206.
[15] Graham, M., Wavish, P.R. (1991). Simulating and Implementing Agents and Multi-Agent
Systems. Proc. European Simulation Multi-Conference. Copenhagen.
[16] Haddadi, A. (1994). A hybrid architecture for multi-agent systems. In Deen, S. M., editor,
Proceedings of the 1993 Workshop on Cooperating Knowledge Based Systems (CKBS-93), pages
13-26, DAKE Centre, University of Keele, UK.
[17] Iglesias, C.A (1997) Fundamentos de los Agentes Inteligentes. Informe Técnico UPM/DIT/GSI
16/97.
[18] Jennings, N.R., Mamdani, E.H., Laresgoiti, I.., Perez, J., and Corera, J., (1992). GRATE: A
General Framework for Cooperative Problem Solving. IEE-BCS Journal of Intelligent Systems
Engineering, 1(2).
[19] Jennings, N. R. (1997) ADEPT: Advanced Decision Environment for Process Tasks.
http://www.elec.qmw.ac.uk/dai/projects/adept/.
[20] Jennings, N.R., Sycara, S., and Wooldridge, M. (1998). A Roadmap of Agent Research and
Development. Autonomous Agents and Multi-Agent Systems I. Kluwer, 275-306.
[21] Jung, C.G., Fischer, K. (1998) Methodological Comparison of Agents Models. Technical Report
D-98-1, DFKI, Saarbrucken.
[22] Kaebling, L. P., Rosenschein, S. J. (1991). Action and Planning in Embedded Agents. In Maes, P.
(ed). Designing Autonomous Agents: Theory and Practice from Biology to Engineering and Back.
London: The MIT press, 35-48.
[23] Mueller, J.P., Fischer, K., Pischel, M. (1998) A Pragmatic BDI Architecture. In M.N. Huhns, M.
P. Singh (eds.), Readings in Agents, pages 217-225, Morgan Kaufman, 1998.
[24] Müller, J. P. (1996). The Design of Intelligent Agents : A Layered Approach, volume 1177 of
LNAI : Lecture Notes in Articial Intelligence. Springer.
[25] Müller, J. P., Pischel, M (1993). The agent architecture inteRRaP: Concept and application.
Research Report RR- 93-26, Deutsches Forschungszentrum fur Kunstliche Intelligenz,
Kaiserslautern, Germany.
36
[26] Newell, A., Simon, H. (1972). Human Problem Solving. Englewood Cliffs, NJ: Prentice-Hall.
[27] Nwana, H. (1996). Software agents: an overview. The Knowledge Engineering Review,
11(3):205--244. http://www.btexact.com/projects/agents/publish/papers/review3.htm).
[28] Pollack M., Ringuette, M., (1990). Introducing the Tileworld: Experimentally evaluating agent
architectures. Proceedings of Eigth National Conference on Artificial Intelligent, pages 183-189,
Boston, MA.
[29] Rao, Anand S., Georgeff, Michael P. (1995). BDI agents: from theory to practice. In Victor
Lesser, editor, Proceedings of the First International Conference on Multi--Agent Systems, pages
312--319, San Francisco, CA. MIT Press.
[30] Rosenbloom, P.S., Laird, J.E., Newell, A. and McCarl, R., (1991). A Preliminary Analysis of the
Soar Architecture as a Basis for General Intelligence. Artificial Intelligence (47).
[32] Shoham, Yoav. (1993) Agent oriented programming. Artificial Intelligence, 60:51-92.
[33] Sloman A., Poli, R. (1996). SIM_AGENT: A toolkit for exploring agent designs. Intelligent
Agents II(n/a):392-407.
[35] Steiner, D., Lux, A. (1995). Understanding Cooperation: An Agent's Perspective. In Proceedings
of First International Conference on Multi-Agent Systems (ICMAS'95), pages 261268, MIT and
AAAI.
[36] Tambe, M., (1997). Agent architectures for flexible, practical teamwork. In Proceedings of the
National Conference on Artificial Intelligence, pages 198—202. AAAI Press.
[37] Volker, R. The Agent Architecture InteRRaP. (1997) Lecture seminar “Agent-Oriented
Programming”.
[38] Weiss, G. Multiagent Systems (1999). A Modern Approach to Distributed Artificial Intelligence .
London.
37