Está en la página 1de 37

Universidad Politécnica

de Madrid

Anexo I

Informe Técnico:
Arquitecturas de Agente

Proyecto DAMMAD: Diseño y Aplicación de Modelos


Multiagente para Ayuda a la Decisión (TIC2000-1370-04-01)
ÍNDICE

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

4. Arquitecturas Reactivas .................................................................................... 19


Arquitectura subsumpción ............................................................................................................ 21

5. Arquitecturas Híbridas ..................................................................................... 23


Arquitectura InteRRaP ................................................................................................................. 24
Touring Machines ........................................................................................................................ 26
Arquitectura 3T ............................................................................................................................ 28
Arquitectura Artis ......................................................................................................................... 29

6. Comparación de Arquitecturas ........................................................................ 31


7. Conclusiones ....................................................................................................... 34
8. Referencias ......................................................................................................... 35
1. Introducción
El objetivo del presente documento es realizar un estudio sobre las diferentes arquitecturas que existen
para diseñar un agente que forma parte de un sistema multiagente. Antes de empezar con el estudio de las
arquitecturas conviene aclarar, en la medida de lo posible, el significado de estos dos términos: agente y
sistema multiagente.

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:

 Reactivo: capaz de responder en un tiempo adecuado a cambios en el entorno en el que se encuentra


situado.

 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.

 Adaptabilidad, el agente aprende y puede cambiar su comportamiento basándose en este aprendizaje.

 Movilidad, capacidad de un agente de transladarse a través de una red telemática.

 Veracidad, asunción de que un agente no comunica información falsa a propósito.

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 la sección 2 se introducen, de forma general, las arquitecturas de agente en sistemas multiagente,


estableciendo al final de la sección una clasificación según el tipo de comportamiento que tienen los
agentes, que permite diferenciar entre arquitecturas deliberativas, arquitecturas reactivas y arquitecturas
híbridas.

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ódulos de interacción: cuya función es permitir la comunicación y cooperación entre el agente y su


entorno, que puede estar formado por otros agentes, usuarios humanos o cualquier otra fuente de
información. Normalmente, para cada uno de los componentes del entorno, el agente tiene un módulo
de interacción especializado, así los módulos de interacción proporcionan una interfaz de entrada y
salida con el entorno [Brenner, 98].

 Base/s de conocimiento: en la que el agente mantiene una representación interna de su entorno, en


caso de que ésta sea necesaria.

 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 interpretación de información: cuya función es interpretar la nueva información que


exista en la base de conocimiento, para que después el módulo de planificación determine las
acciones a realizar.

 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.

 Módulo/s de cooperación: que se encargan de la comunicación y cooperación con otros agentes.

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.

Figura 1: Arquitecturas en capas horizontales y verticales

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 .

Arquitecturas Características Principales

Agentes  Elementos centralizados (planificador)


Deliberativos  Representación interna del mundo exterior, esquema
estímulomanipulación simbólica (razonamiento lógico)respuesta
 No implica agente simple+entorno solo: Se pueden construir
arquitecturas deliberativas para coordinar comportamientos.
 Agentes complejos
Agentes  Sin elementos centralizados
 Sin representación interna del entorno, esquema estímulorespuesta,
Reactivos
con patrones de respuesta predefinidos
 No mantienen historia pasada ni estado
 Agentes muy simples
 Interacción con otros agentes muy sencilla

Agentes  Arquitectura en capas


Híbridos  Técnicas reactivas para bajo nivel y deliberativas para generar
comportamientos complejos

Tabla 1: Características principales de las arquitecturas

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]

Tabla 2: Ejemplos y aplicaciones de los tres tipos de arquitecturas

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.

 Si el agente debe llevar a cabo algún tipo de aprendizaje o no.

 Cuál debe ser el grado de autonomía del agente.

 Cuál es el grado de dinamismo del entorno en el que habitará 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.

 Para un entorno desconocido y cambiante ni las arquitecturas deliberativas, que no proporcionan


respuestas rápidas, ni las reactivas, que no realizan aprendizaje, son capaces de cubrir todos los
problemas, sería más adecuada una arquitectura híbrida.

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.

5. Arquitectura formal BDI (Belief, Desire, Intention)


En 1995 Rao y Georgeff [Rao, Georgeff, 95] desarrollaron un modelo para implementar agentes BDI. Los
agentes BDI que siguen este modelo pueden realizar tareas de control en un entorno dinámico complejo.

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 formas de que el entorno varíe.

 En un momento dado, pueden existir muchas acciones o procedimientos que el sistema puede
ejecutar.

 En un momento dado, el sistema puede tener muchos objetivos.

 El entorno sólo se puede percibir localmente.

 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 almacén de información (information store): que contiene un repositorio de toda la información


del dominio que se ha generado por el propio agente o que ha sido recibida como resultado de un
proceso de interacción con otros agentes de la comunidad.

 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.

Figura 3: Arquitectura GRATE [Jennings, 92]

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.

Figura 4: Arquitectura IRMA

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.

Figura 5: Arquitectura de un agente ADEPT [Jennings, 97]

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 comunicación (communication module), que se encarga de enrutar mensajes, tanto


entre un agente y su agencia local, como con el resto de la comunidad. Esta última incluye
planificación de servicios concurrentes, comienzo de nuevos servicios, paso de información a
servicios y monitorización del estado de los servicios en curso.

 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 agente reactivo está formado por los siguientes tipos de módulos:

 Módulos de interacción con el entorno (sensores y actuadores en la Figura 6 ).

 Módulos de competencia (cada una de la capas en la Figura 6).

Los módulos de competencia se desarrollan a partir de un conjunto de dependencias que el agente


reconoce observando su entorno. Estos módulos son capaces de chequear continuamente el entorno,
identificar una situación específica que está ocurriendo en él e iniciar una reacción directa ante esa
situación.

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.

 Robustez ante fallos

Y los siguientes inconvenientes:

 Es necesaria una gran cantidad de información local.

 El aprendizaje es problemático.

 La construcción de agentes reactivos requiere experimentación, por lo que supone una gran cantidad
de tiempo.

 La construcción de sistemas grandes es imposible.

20
 Los sistemas reactivos únicamente pueden ser utilizados para su propósito original.

 Existen pocas aplicaciones basadas en estas arquitecturas.

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.

Como ejemplo de arquitectura reactiva se presenta a continuación la arquitectura subsumpción de Brooks


[Brooks, 91], que es la más conocida y representativa de las pocas arquitecturas reactivas que existen.

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.

Los módulos de competencia se describen utilizando un lenguaje basado en principios de máquinas de


estados finitos aumentadas con temporizadores (AFMS) que no contienen representación o modelo
simbólico de tipo alguno. Una AFSM desencadena una acción cuando su señal de entrada sobrepasa un
umbral, es decir, continuamente lleva de una entrada percibida a una acción de salida. En algunas
implementaciones esto se lleva a cabo mediante reglas situaciónacción que simplemente determinan
una acción a realizar en base al estado actual del agente. Las implementaciones de Brooks [Brooks, 91],
son algo más complicadas porque permiten, por ejemplo, retroalimentar desde decisiones previas. El
comportamiento de una AFSM se define a priori y no puede ser modificado (por ejemplo evitar
obstáculos). Cada AFSM opera independientemente y de forma asíncrona, y está en una competición
continua con las demás para conseguir el control del agente.

Figura 7: Arquitectura subsumpción [Brenner, 98]

Construir agentes que exhiban un comportamiento global coherente es un proceso de desarrollo y


experimentación, situando al agente en su entorno y observando los resultados.

Según [Jennings, 98] la arquitectura subsumpción tiene las siguientes desventajas:

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.

 El comportamiento global de un agente reactivo “emerge” de la interacción de comportamientos


simples, pero el término “emerge” sugiere que la relación entre los comportamientos individuales, el
comportamiento global y el entorno no se entiende bien. Los agentes reactivos se construyen
mediante ensayo-error, es decir mediante un laborioso proceso de experimentación, lo cual supone
un gran inconveniente..

 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.

Figura 8: Arquitectura de un agente híbrido

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.

A continuación se muestran algunos ejemplos de arquitecturas híbridas. En concreto las arquitecturas


InteRRaP [Müller, 93], Touring Machines [Ferguson, 92], 3T [Bonasso, 96] y Artis [Botti, 99].

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.

La Base de Conocimiento se estructura en tres modelos:

 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.

 Un modelo social, que contiene las creencias sobre otros agentes.

Figura 9: Figura de arquitectura InteRRaP [Volker, 97]

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.

 Capa de planificación cooperativa (CPL): Extiende la funcionalidad de planificación de un agente a


planes conjuntos con cooperación. Utiliza el modelo del mundo, el modelo mental e información
sobre otros agentes (metas, habilidades, compromisos almacenados en el modelo social).

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.

Figura 11: Figura de arquitectura Touring Machines de [Ferguson, 92]

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].

La arquitectura Touring Machines ha sido especialmente utilizada en la construcción robots [Ferguson,


92].

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 conjunto dinámicamente reprogramable de habilidades reactivas que son coordinadas por un


coordinador.

 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).

Figura 12: Figura de arquitectura 3T [Bonasso, 96]

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.

Figura 13: Arquitectura Artis

El agente ARTIS (Figura 13) cuenta con los siguientes componentes:

 Un conjunto de sensores y efectores que permiten interaccionar con el entorno.

 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:

 Un conjunto de agentes internos (in-agents).

 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:

 Reactividad: Periódicamente testea el entorno en busca de cambios.

 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.

Figura 14: Comportamiento de un agente interno

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 .

Arquitecturas Características Principales

Agentes  Elementos centralizados (planificador)


Deliberativos  Representación interna del mundo exterior, esquema
estímulomanipulación simbólica (razonamiento lógico)respuesta
 No implica agente simple+entorno solo: Se pueden construir
arquitecturas deliberativas para coordinar comportamientos.
 Agentes complejos
Agentes  Sin elementos centralizados
 Sin representación interna del entorno, esquema estímulorespuesta,
Reactivos
con patrones de respuesta predefinidos
 No mantienen historia pasada ni estado
 Agentes muy simples
 Interacción con otros agentes muy sencilla

Agentes  Arquitectura en capas


Híbridos  Técnicas reactivas para bajo nivel y deliberativas para generar
comportamientos complejos

Tabla 4: Características principales de las arquitecturas

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]

Tabla 5: Ejemplos y aplicaciones de los tres tipos de arquitecturas

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

Tabla 6: Comparativa entre los tres tipos de arquitecturas

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.

 Si el agente debe llevar a cabo algún tipo de aprendizaje o no.

 Cuál debe ser el grado de autonomía del agente.

 Cuál es el grado de dinamismo del entorno en el que habitará 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.

 Para un entorno desconocido y cambiante ni las arquitecturas deliberativas, que no proporcionan


respuestas rápidas, ni las reactivas, que no realizan aprendizaje, son capaces de cubrir todos los
problemas, sería más adecuada una arquitectura híbrida.

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).

[31] Shoham, Yoav. (1992). Agent Alpha Programming Overview.

[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.

[34] Soar, página web principal: http://ai.eecs.umich.edu/soar/

[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

También podría gustarte