Sei sulla pagina 1di 36

Universidad Politcnica

de Madrid

Anexo I

Informe Tcnico:
Arquitecturas de Agente
Proyecto DAMMAD: Diseo y Aplicacin de Modelos
Multiagente para Ayuda a la Decisin (TIC2000-1370-04-01)

2
NDICE

1. Introduccin..........................................................................................................3
2. Arquitecturas de Agente en MAS.......................................................................5
3. Arquitecturas Deliberativas................................................................................8
Arquitectura formal BDI (Belief, Desire, Intention)......................................................................10
GRATE...........................................................................................................................................11
IRMA.............................................................................................................................................13
ADEPT...........................................................................................................................................15

4. Arquitecturas Reactivas....................................................................................17
Arquitectura subsumpcin.............................................................................................................19

5. Arquitecturas Hbridas......................................................................................21
Arquitectura InteRRaP...................................................................................................................22
Touring Machines...........................................................................................................................24
Arquitectura 3T..............................................................................................................................26
Arquitectura Artis...........................................................................................................................27

6. Comparacin de Arquitecturas.........................................................................29
7. Conclusiones.......................................................................................................32
8. Referencias..........................................................................................................33
1. Introduccin
El objetivo del presente documento es realizar un estudio sobre las diferentes arquitecturas que existen
para disear 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 trminos: agente y
sistema multiagente.

En los ltimos aos el rea de los agentes inteligentes y de los sistemas multiagente ha sido uno de los
campos de investigacin predominantes en la Inteligencia Artificial. Gracias a la facilidad y naturalidad
con que es posible caracterizar en trminos de agentes una gran variedad de aplicaciones, la tecnologa de
agentes inteligentes se puede considerar ms apropiada y potente que otras tecnologas para la
construccin de sistemas inteligentes complejos. Sin embargo, el hecho de que an actualmente sea un
campo que sigue evolucionando, en el que tanto mtodos como nuevas caractersticas aparecen cada da,
da lugar a que todava hoy en da exista debate sobre qu es un agente. La definicin de agente ha
resultado ser tan controvertida como la definicin 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 cientfica. Quizs por este motivo se ha optado por la definicin de un
conjunto de propiedades que caracterizan a los agentes, aunque un agente no tenga por que poseer todas
ellas. As, seguramente la definicin ms relevante sea la propuesta por Wooldridge y Jennings [Jennings,
98] segn la cual un agente es un sistema informtico que est situado en un entorno y es capaz de
actuar de forma autnoma y flexible. El hecho de que un agente sea una entidad situada en un entorno
significa que recibe informacin de entrada de sensores situados en el entorno y a partir de esta
informacin realiza acciones que de alguna forma implican cambios en el entorno. La autonoma se
refiere a que el agente debe ser capaz de actuar sin intervencin 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 oportunstico, dirigido a obtener sus metas y tomar la
iniciativa cuando sea apropiado.

Social: capaz de interactuar con otros agentes (humanos o no) a travs de un lenguaje de
comunicacin 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, ejecutndose continuamente y
desarrollando su funcin.

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 basndose en este aprendizaje.

Movilidad, capacidad de un agente de transladarse a travs de una red telemtica.

Veracidad, asuncin de que un agente no comunica informacin falsa a propsito.

4
Benevolencia, asuncin 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 ms el concepto de agente, elemento bsico 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 trmino basado en agentes significa que el sistema puede ser conceptualizado en trminos de
agentes, pero se implementa sin estructuras software que correspondan a agentes. Cuando el sistema es
diseado e implementado como varios agentes que interactan se le denomina multiagente. Los sistemas
multiagente son especialmente adecuados para problemas en los que son necesarios mltiples mtodos de
resolucin de problemas y/o existen muchas entidades para la resolucin de problemas. Este tipo de
sistemas tiene las ventajas tradicionales de los sistemas concurrentes y adems pueden utilizar patrones de
interaccin complejos (ejemplos de los tipos ms comunes de interaccin son la cooperacin, la
coordinacin y la negociacin). La flexibilidad y la naturaleza de alto nivel de estos tipos de interaccin
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 tendrn los agentes que le componen. El diseo de la arquitectura de los agentes se puede
hacer desde la nada, es decir, sin ningn punto de partida, o puede partir de alguna arquitectura existente,
bien utilizndola directamente, o bien tomndola como base y extendindola con nuevas funcionalidades
o mdulos 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 (Diseo y Aplicacin de Modelos
Multiagente para Ayuda a la Decisin).

En la seccin 2 se introducen, de forma general, las arquitecturas de agente en sistemas multiagente,


estableciendo al final de la seccin una clasificacin segn el tipo de comportamiento que tienen los
agentes, que permite diferenciar entre arquitecturas deliberativas, arquitecturas reactivas y arquitecturas
hbridas.

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 hbridas; 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 anlisis de todas ellas resulta imposible. Por este motivo
se ha realizado una seleccin representativa de cada tipo.

La seccin 6 constituye un resumen de las secciones anteriores. En esta seccin se incluyen varias tablas
en las que se establecen las principales diferencias entre unas y otras arquitecturas.

La seccin de conclusiones refleja fundamentalmente las caractersticas que es deseable estudiar para
disear la arquitectura de los agentes DAMMAD, de acuerdo con el estudio realizado.

5
2. Arquitecturas de Agente en MAS
Las arquitecturas de agentes deben describir los diferentes mdulos que forman parte de un agente y
cmo stos se interconectan para que el agente pueda exhibir una determinada conducta, de acuerdo con
la definicin realizada en el apartado anterior. Frente a otras tecnologas con componentes son fijos como
la de objetos (objetos, atributos y mtodos) 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 mdulos:

Mdulos de interaccin: cuya funcin es permitir la comunicacin y cooperacin entre el agente y su


entorno, que puede estar formado por otros agentes, usuarios humanos o cualquier otra fuente de
informacin. Normalmente, para cada uno de los componentes del entorno, el agente tiene un mdulo
de interaccin especializado, as los mdulos de interaccin proporcionan una interfaz de entrada y
salida con el entorno [Brenner, 98].

Base/s de conocimiento: en la que el agente mantiene una representacin interna de su entorno, en


caso de que sta sea necesaria.

Mdulo/s de integracin de informacin: que debern estar conectados con los mdulos de
interaccin y cuya funcin principal es integrar la informacin que reciben de los mdulos de
interaccin en la base de conocimiento del agente de una manera adecuada un consistente.

Mdulo/s de interpretacin de informacin: cuya funcin es interpretar la nueva informacin que


exista en la base de conocimiento, para que despus el mdulo de planificacin determine las
acciones a realizar.

Mdulo/s de planificacin: cuya funcin es construir un plan, es decir, una secuencia de acciones a
realizar para conseguir los objetivos buscados por el agente.

Mdulo/s de accin: que debern estar conectados con los mdulos de planificacin y cuya funcin
es ejecutar y monitorizar las acciones contenidas en los planes generados por stos. Si una accin
implica interaccin con el entorno, el mdulo de accin utilizar los servicios de los mdulos de
interaccin correspondientes.

Mdulo/s de cooperacin: que se encargan de la comunicacin y cooperacin con otros agentes.

Estos componentes se pueden organizar de varias maneras, pero es comn, ya que ocurre en muchas
arquitecturas, que el agente quede estructurado en capas organizadas en una jerarqua. Cada capa trata con
informacin del entorno a diferentes niveles de abstraccin, por este motivo puede que en una misma
capa no sean necesarios todos los mdulos antes mencionados. Esta estructuracin en capas da lugar a
una posible clasificacin de las arquitecturas segn 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 slo
la capa ms baja tiene acceso a sensores y actuadores (arquitecturas verticales), como muestran las dos
ilustraciones de la parte inferior de la Figura 1.

6
Segn [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
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 situacin, las
arquitecturas horizontales incorporan un mediador, que toma decisiones sobre la capa que tiene el control
del agente en un momento dado, pero la introduccin de este mecanismo de control centralizado
introduce en el sistema un cuello de botella y tambin supone un problema para el diseador, 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 ms alta genera una
accin 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 ms baja, que es en este caso la que genera la accin de salida.
En ambos tipos se reduce la complejidad de las interacciones entre capas, pero esta reduccin supone una
prdida de flexibilidad ya que para que un agente que tiene una arquitectura vertical tome una decisin es
necesario que el control pase por todas las diferentes capas. Adems las arquitecturas verticales no son
tolerantes a fallos y si una capa falla, fallarn tambin las dems, 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
interacta con los sensores debe ser ms 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, segn el
comportamiento que exhiben los agentes, es decir, dependiendo del tipo de procesamiento que emplean,

7
se pueden clasificar en deliberativas, reactivas e hbridas. sta es la clasificacin que se toma como base
en este documento.

A continuacin se presentan de forma detallada cada uno es estos tipos de arquitecturas, incluyendo sus
caractersticas principales y algunos ejemplos.

8
3. Arquitecturas Deliberativas
Los agentes con una arquitectura deliberativa se caracterizan porque contienen explcitamente un modelo
simblico del entorno, y las decisiones (por ejemplo sobre que acciones realizar) son tomadas va
razonamiento lgico (o al menos pseudo-lgico) basado en equiparacin de patrones y manipulacin
simblica. Los agentes deliberativos mantienen la tradicin de la Inteligencia Artificial clsica, basada en
la hiptesis de los sistemas de smbolos fsicos enunciada por Newell y Simon [Newell & Simon, 72].

Adems de una representacin simblica del entorno, los agentes deliberativos tienen capacidad para
llevar a cabo decisiones lgicas utilizando el conocimiento que con el que cuentan y modificando su
estado interno, que frecuentemente de denomina estado mental.

Lo ms comn es que el estado mental de los agentes deliberativos, que normalmente son llamados
agentes BDI (belief, desire, intention), est formado por cinco componentes:

Creencias: conocimiento que el agente tiene de si mismo y de su entorno, que puede ser incompleta o
incorrecta.

Deseos: objetivos que el agente desea cumplir a largo plazo

Metas: subconjunto de los deseos que el agente puede conseguir. Han se ser realistas y no tener
conflictos entre ellas.

Intenciones: subconjunto de las metas que el agente intenta conseguir.

Planes: combinan las intenciones en unidades consistentes. Las intenciones constituyen subplanes del
plan global del agente, de manera que el conjunto de todos los planes refleja las intenciones del
agente.

El resultado de aplicar este el modelo BDI a la hora de disear la arquitectura de un agente deliberativo
se puede observar en la Figura 2, en la que se muestran los componentes principales de un agente de este
tipo. En esta figura la base de conocimiento del agente contiene el modelo simblico de entorno, es decir,
lo que antes se ha denominado creencias.

Un agente deliberativo funciona de forma muy parecida a un sistema de planificacin, es decir, dados un
estado inicial, un estado meta y un conjunto de operadores (acciones), intenta encontrar una secuencia de
acciones que le lleven a conseguir el estado meta [Iglesias, 97]. En concreto, siguiendo el esquema de la
Figura 2, se puede decir que el funcionamiento es como sigue: a partir de la base de conocimiento se
derivan, por medio de un resolutor, los deseos, metas e intenciones. El planificador toma las intenciones
y las combina formando un plan global consistente en un proceso incremental dinmico, es decir, el
planificador testea nuevas intenciones por si hay dependencias con los planes existentes, y de esta forma
los planes estn continuamente adaptndose a las situaciones que se producen por la llegada de nuevas
intenciones.

El organizador recibe del planificador los planes actuales, donde cada plan consiste en un nmero
determinado de acciones simples que pueden ser procesadas de forma secuencial o de forma paralela, y
decide cuando se ejecutan las acciones que contienen, asociando un tiempo de ejecucin a cada accin.
Para esto es necesario que el organizador conozca continuamente los recursos disponibles para el agente.

9
El organizador pasa cada accin con su informacin complementaria al ejecutor, que ejecuta la accin y
monitoriza su correcto funcionamiento.

Segn si los agentes son capaces de razonar sobre otros agentes o no, se pueden distinguir dos tipos
principales de arquitecturas deliberativas: arquitecturas intencionales y arquitecturas sociales [Iglesias,
97].

Los agentes intencionales son capaces de razonar sobre sus creencias e intenciones. Se pueden considerar
como sistemas de planificacin que incluyen creencias e intenciones en sus planes.

Los agentes sociales se pueden considerar como agentes intencionales que cuentan adems con modelos
explcitos de otros agentes y son capaces de razonar sobre estos modelos.

Executor Scheduler Planner


I
Output N
(actions) T Intention
E
R Manage Reasoner Goals
A r
C
Desires
T
I
Input O
(perception)
N Information Knowledge Base (symbolic
receiver environment model)

Figura 2: Arquitectura de un agente deliberativo [Brenner, 98]

La construccin de agentes con arquitectura deliberativa presenta principalmente dos problemas [Brenner,
98]:

El modelado del entorno y la eleccin de un lenguaje de representacin simblico adecuado y


prctico puede crear muchas dificultades y supone un gran esfuerzo.

Actualizar a tiempo todo el conocimiento necesario tambin ocasiona dificultades, ya que


normalmente el conocimiento y los recursos necesarios no estn disponibles en un tiempo limitado.
Si adems el entorno en el que se encuentra el agente es dinmico y por lo tanto cambia
relativamente rpido, el problema se acrecenta an ms, ya que si la visin que tiene agente sobre el
mundo no es actual no puede ser muy proactivo.

Es decir, para construir un agente deliberativo el modelo simblico del mundo deber ser lo
suficientemente complejo como para proporcionar al agente el conocimiento que necesita para realizar
razonamientos lgicos, pero por otro lado deber ser lo suficientemente simple como para que el sistema
pueda ser actualizado a tiempo. Por otro lado, las teoras BDI proporcionan un modelo conceptual claro

10
de conocimiento, metas y cometidos de un agente, pero deben de ser extendidas para soportar el diseo en
aplicaciones prcticas de agentes limitados por recursos y de agentes dirigidos a metas.

Como ejemplos de arquitecturas deliberativas se presentan: la arquitectura formal BDI [Rao, Georgeff,
95], GRATE [Jennings, 92], IRMA [Bratman et al., 88] y ADEPT [Alty, 94], [Jennings, 97] aunque
existen muchas otras como AGENT0 [Shoham, 92, Shoham, 93], PRS [Georgeff & Lansky, 86], SOAR
[Rosembloom et. al., 91] [Tambe, 97] [soar], etc.

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 dinmico complejo.

Los dominios de aplicacin dinmicos en tiempo real tienen, por lo general, las siguientes caractersticas:

En un momento dado, pueden existir muchas formas de que el entorno vare.

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

Segn Rao y Georgeff [Rao, Georgeff, 95], los rboles de decisin son unas estructuras formales
adecuadas para describir estos sistemas que son no deterministas, segn las dos primeras caractersticas.
Cada rama en el rbol representa un camino de ejecucin alternativo, cada nodo representa un estado del
mundo y cada transicin una accin primitiva del agente y/o un evento en el entorno. De las acciones
primitivas de agente resultan nodos de decisin 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 acte, debe seleccionar las acciones apropiadas de todas las opciones disponibles. Para
disear la funcin de seleccin debe tener informacin sobre el estado del entorno, contenida en algn
componente del estado del sistema (creencias). Adems debe tener informacin sobre los objetivos a
conseguir (deseos) en otro componente. El curso de ejecucin de la accin actual tambin debe ser
conocido (intenciones) por si el entorno vara durante la ejecucin de la accin elegida, o de la funcin de
seleccin.

Como los nodos casuales representan eventos que dependen exclusivamente del entorno el agente no
tiene ningn control sobre ellos. Por esta razn [Rao, Georgeff, 95] proponen eliminarlos del rbol de
decisin, creando para cada conexin que sale de un nodo casual un nuevo rbol de decisin, en el que el
nodo casual se ha eliminado y el arco que incida en l, incida ahora en su sucesor. De esta forma se
generan una serie de rboles de decisin 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

11
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 informacin para
encontrar los mejores caminos de accin, a partir de los cuales el agente conoce lo que intenta.

[Rao, Georgeff, 95] desarrollaron una lgica formal basada en este modelo, que permite al agente realizar
razonamiento y crear intenciones. Pero desde el punto de vista prctico es ms relevante la arquitectura
abstracta de un intrprete BDI (Figura 3) introducida tambin por ellos. El intrprete BDI utiliza tres
estructuras de datos dinmicas: 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.

Figura 3: Bucle principal del intrprete [Rao, Georgeff, 95]

En cada pasada en intrprete primero lee la cola de eventos y genera una lista de opciones (posibles metas
a conseguir). Despus selecciona las mejores de estas acciones y las aade a la estructura de intenciones.
Si hay alguna intencin que realice una accin atmica el agente la ejecuta. Los eventos que han ocurrido
durante el ciclo de ejecucin del intrprete se aaden 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 ms a entornos dinmicos y tambin son ms
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 gua por creencias, deseos e intenciones.
Esta arquitectura est especialmente diseada 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 cooperacin y control.

El conocimiento de los agentes GRATE se divide en tres partes, como se observa en la Figura 4 :

12
El almacn de informacin (information store): que contiene un repositorio de toda la informacin
del dominio que se ha generado por el propio agente o que ha sido recibida como resultado de un
proceso de interaccin 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 interacta.

El conocimiento que contienen estos dos ltimos mdulos se puede clasificar en funcin del tipo de
conocimiento en: conocimiento del estado (progreso de las tareas), conocimiento sobre capacidades
(descripcin de tareas, recetas, ...), conocimiento intencional (intenciones), conocimiento de evaluacin
(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 4: Un nivel del dominio y una capa de cooperacin y control.
El nivel del dominio se resuelven problemas del dominio (de control industrial, financias, transporte,
etc.). El nivel de cooperacin y control es un meta-nivel controlador que opera en el nivel del dominio,
cuyo objetivo es asegurar que las actividades del agente estn coordinadas con las de otros agentes en la
comunidad.

Figura 4: Arquitectura GRATE [Jennings, 92]

La capa de cooperacin est compuesta de tres mdulos genricos: un mdulo de control (control
module), un mdulo de evaluacin de situaciones (situation assessment module) y un mdulo de
cooperacin (cooperation module). Las funciones que realizan estos mdulos se describen a
continuacin:

Mdulo de evaluacin de situaciones: este mdulo acta 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 cules deben realizarse de forma cooperativa, qu

13
peticiones de cooperacin deben acordarse y cules no, qu prioridad tienen las tareas que el agente
debe realizar, etc.

Mdulo de control: este mdulo es el responsable de asegurar que las tareas que el agente va a
realizar son llevadas a cabo. El mdulo de evaluacin de situaciones informa al mdulo de control
de las tareas que ste debe monitorizar y de sus prioridades.

Mdulo de cooperacin: este mdulo es el responsable de realizar las actividades sociales. Tambin
es informado de estas actividades por el mdulo de evaluacin de situaciones, que previamente ha
detectado la necesidad de iniciar una actividad social.

El funcionamiento de un conjunto de agentes GRATE ha sido evaluado contra agentes que slo 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,
diseada por [Bratman et al., 88]. Esta arquitectura se ha tomado como base en el diseo de otras muchas
arquitecturas que han aparecido posteriormente.

La arquitectura IRMA mantiene cuatro estructuras de datos simblicos, denotados mediante ovales en la
Figura 5: la librera de planes, el conjunto de intenciones estructuradas como planes, el conjunto de
creencias y el conjunto de deseos.

La librera de planes contiene los planes sobre los que el agente tiene informacin, a modo de recetas.
Esta librera de planes puede ser vista como un subconjunto de las creencias del agente, que
concretamente contiene las creencias del agente sobre qu acciones deberan 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 mdulos denotados mediante
rectngulos en la Figura 5: un motor de razonamiento (means-end reasoner), un analizador (opportunity
analyser), un proceso de filtrado (filtering process) y un proceso de deliberacin (deliberation process).

Antes de comenzar con la explicacin de las funciones que realiza cada mdulo es necesario aclarar dos
cuestiones. En primer lugar, [Bratman et al., 88] asumen que los planes de un agente no slo se utilizan
para producir acciones en un momento dado, sino que tambin 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 ms
seriamente. En segundo lugar, tambin 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 ningn uso. Por este motivo, los
agentes frecuentemente deciden qu quieren conseguir, pero dejan abierta para una deliberacin posterior
las cuestiones relativas a cmo conseguirlo. Esta es la razn de que se hable de la descomposicin de

14
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 funcin 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 mdulo 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 cmo conseguir un
objetivo que ya estaba planificado.

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 deliberacin sea ms eficiente.

Proceso de deliberacin: este proceso produce nuevas intenciones a partir de las opciones que han
sobrevivido al proceso de filtrado, tomando las mejores de estas opciones. Bsicamente el proceso
de deliberacin realiza lo que se llama toma de decisiones en la teora tradicional. Las nuevas
intenciones se incorporan a los planes del agente.

Figura 5: 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 dinmico. El Tileworld consiste en
un entorno dinmico simulado que contiene un agente. ste debe portar bloques alrededor de una malla
bidimensional y depositarlos en ciertos lugares evitando obstculos.

15
En definitiva se ha llegado a la conclusin 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 tecnologa y los mtodos que se deben de utilizar para tratar la informacin,
tanto su recopilacin como su gestin, distribucin y presentacin. Para este fin, en ADEPT se construy
un sistema compuesto de muchos agentes autnomos.

En este dominio, cada agente controla y gestiona el abastecimiento de un nmero 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 6: Arquitectura de un agente ADEPT [Jennings, 97]

La arquitectura de un agente ADEPT se muestra en la Figura 6, en ella se pueden observar los siguientes
mdulos. El primero de ellos contiene la informacin con la que cuenta el agente, mientras que los otros
tres son funcionales:

El mdulo que contiene el modelo del propio agente y los modelos de los dems agentes con los que
se comunica (self and acquaitance models), que contiene informacin 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 mdulo de comunicacin (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
planificacin de servicios concurrentes, comienzo de nuevos servicios, paso de informacin a
servicios y monitorizacin del estado de los servicios en curso.

16
El mdulo de evaluacin de situaciones (situation assesment module), que sirve de link entre el rol
individual y el rol social del agente. Cuando este mdulo indica que se debe establecer algn contrato
con algn agente externo para que proporcione algn servicio, invoca al mdulo de ejecucin de
servicios.

El mdulo de ejecucin de servicios (service execution module), que gestiona la negociacin para
llevar a cabo un acuerdo.

Todos los mdulos funcionales del agente hacen uso del modelo propio del agente y del modelo de los
dems agentes.

Los agentes en ADEPT estn 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 comunicacin en forma holgada implica que no existe ningn
agente controlador. La comunicacin 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 dems agentes
de la misma agencia, pero de forma estrecha con el agente controlador. Las agencias normalmente estn
organizadas de forma jerrquica, de manera que los agentes de una agencia pueden ser controladores de
otras agencias de ms bajo nivel. Para dar un servicio es posible seleccionar agentes de diferentes
agencias y formar una agencia virtual.

17
4. Arquitecturas Reactivas
Los agentes reactivos se caracterizan porque pueden operar rpida y efectivamente sin la necesidad de
procesar una representacin simblica del entorno, ya que representan una categora de agentes que no
posee modelos simblicos 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 actan siguiendo un esquema
estmulo-respuesta segn el estado actual del entorno en el que estn embebidos. La caracterstica ms
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 interaccin con su entorno [Brenner, 98].

Un agente reactivo est formado por los siguientes tipos de mdulos:

Mdulos de interaccin con el entorno (sensores y actuadores en la Figura 7 ).

Mdulos de competencia (cada una de la capas en la Figura 7).

Los mdulos de competencia se desarrollan a partir de un conjunto de dependencias que el agente


reconoce observando su entorno. Estos mdulos son capaces de chequear continuamente el entorno,
identificar una situacin especfica que est ocurriendo en l e iniciar una reaccin directa ante esa
situacin.

Un mdulo 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 mdulo de competencia debe
poseer todas las capacidades necesarias para procesar sus tareas. Por este motivo, los mdulos de
competencia tienen completamente especificadas las tareas que resuelven y proporcionan la solucin
especfica a esas tareas, es decir, un agente reactivo no resuelve ninguna tarea para la cual no exista un
mdulo de competencia, en contraste con los agentes deliberativos, que pueden utilizar el conocimiento
de la base de conocimiento para resolver un rango de problemas.

18
Figura 7: Arquitectura de un agente reactivo [Iglesias, 97]

El funcionamiento de un agente reactivo es bsicamente como sigue: los sensores recogen informacin,
que es directamente enviada a los mdulos de competencia. La informacin que los sensores mandan a
los mdulos de competencia no recibe ningn tipo de tratamiento, es decir, no se traduce ninguna
representacin simblica. La llegada de informacin a uno de estos mdulos provoca en l una reaccin
que se transfiere al entorno a travs de los actuadores.

Si los mdulos de competencia trabajan en paralelo lo ms normal es que aparezcan dependencias, por
este motivo se deben poder comunicar entre ellos. La comunicacin normalmente utiliza tanto
mecanismos como lenguajes de comunicacin simples, y puede ser uno-a-uno o se puede realizar a travs
del entorno. La comunicacin uno-a-uno proporciona una gran capacidad de reaccin, ya que es una
comunicacin directa, que no necesita de ningn intermediario, entre los dos mdulos de competencia
que se comunican, con lo que no existen retardos. En la comunicacin a travs del entorno un mdulo
realiza cambios en el entorno que son apreciados por otro mdulo. Esta variante es ms lenta que la
comunicacin directa, pero permite reaccionar ante situaciones ms complejas.

La mayora de las arquitecturas reactivas estn basadas en reglas situacin-accin, cuyo funcionamiento
es similar al de una base de reglas. As los agentes actan de forma apropiada segn su situacin, donde
una situacin es una combinacin de eventos internos y externos potencialmente compleja [Connah, 94].
Los agentes situacin-accin se han utilizado en PENGI, un juego de ordenador [Agre, 87]. Los
investigadores de los laboratorios Philips en Redhill, UK, han implementado un lenguaje situacin-accin
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 lgica modal que est
basado en un paradigma llamado situated automata, en el que un agente se especifica en trminos
declarativos.

El rea de aplicacin 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.

Economa.

Eficiencia computacional.

Robustez ante fallos

Y los siguientes inconvenientes:

Es necesaria una gran cantidad de informacin local.

El aprendizaje es problemtico.

La construccin de agentes reactivos requiere experimentacin, por lo que supone una gran cantidad
de tiempo.

19
La construccin de sistemas grandes es imposible.

Los sistemas reactivos nicamente pueden ser utilizados para su propsito original.

Existen pocas aplicaciones basadas en estas arquitecturas.

La crtica principal que han tenido las arquitecturas reactivas es que son excesivamente rgidas y simples
como para producir comportamientos inteligentes como planificacin o aprendizaje.

Como ejemplo de arquitectura reactiva se presenta a continuacin la arquitectura subsumpcin de Brooks


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

Arquitectura subsumpcin
Un agente basado en los principios de la arquitectura subsumpcin [Brooks, 91] consiste en una serie de
mdulos de competencia (cada una de las capas de la Figura 8) orientados a tareas que estn organizados
jerrquicamente, es decir, en este caso la descomposicin no es funcional como en los agentes
deliberativos sino que es una simple divisin de tareas. Cada mdulo de competencia es responsable de
un comportamiento concreto del agente, siendo los mdulos situados abajo en la jerarqua los que se
encargan de tareas bsicas o primitivas, y los mdulos ms altos los que se encargan de patrones de
comportamiento ms complejos. Cada mdulo de competencia puede operar de forma autnoma, pero los
mdulos de alto nivel incorporan un subconjunto de tareas de los mdulos subordinados y pueden tanto
inhibir sus salidas como modificar o suprimir sus entradas.

Los mdulos de competencia se describen utilizando un lenguaje basado en principios de mquinas de


estados finitos aumentadas con temporizadores (AFMS) que no contienen representacin o modelo
simblico de tipo alguno. Una AFSM desencadena una accin cuando su seal de entrada sobrepasa un
umbral, es decir, continuamente lleva de una entrada percibida a una accin de salida. En algunas
implementaciones esto se lleva a cabo mediante reglas situacinaccin que simplemente determinan
una accin a realizar en base al estado actual del agente. Las implementaciones de Brooks [ Brooks, 91],
son algo ms 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
obstculos). Cada AFSM opera independientemente y de forma asncrona, y est en una competicin
continua con las dems para conseguir el control del agente.

Figura 8: Arquitectura subsumpcin [Brenner, 98]

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


experimentacin, situando al agente en su entorno y observando los resultados.

20
Segn [Jennings, 98] la arquitectura subsumpcin tiene las siguientes desventajas:

Como los agentes no emplean modelos de su entorno, deben tener suficiente informacin disponible
en su entorno local para determinar acciones aceptables.

Como los agentes puramente reactivos toman decisiones basndose en su informacin local
(informacin sobre el estado actual del agente) es difcil que la toma de decisiones tenga en cuenta
informacin no local

Como los agentes puramente reactivos no tienen memoria, es difcil disear agentes de este tipo que
aprendan de la experiencia y de esta forma mejoren su actuacin a lo largo del tiempo.

El comportamiento global de un agente reactivo emerge de la interaccin de comportamientos


simples, pero el trmino emerge sugiere que la relacin 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 experimentacin, lo cual supone
un gran inconveniente..

Construir agentes que contienen muchas capas es muy complicado, ya que la dinmica de la
interaccin entre diferentes comportamientos se hace muy compleja de entender, es decir, el diseo
de agentes reactivos capaces de tener comportamientos complejos es muy problemtico.

Como todas las arquitecturas reactivas sta ha sido principalmente aplicadas en la construccin de robots.
Por ejemplo, en el MIT se ha utilizado para construir al menos 10 robots. Por lo tanto, y en base a la
experimentacin que se ha realizado sobre la arquitectura subsumpcin se puede afirmar que es una
arquitectura til en aplicaciones en las que los agentes son agentes hardware y autnomos que se
encuentran en un entorno muy dinmico .

21
5. Arquitecturas Hbridas
Las arquitecturas hbridas combinan componentes de tipo reactivo con componentes de tipo deliberativo,
como se observa en la Figura 9. La parte reactiva interacciona con el entorno y reacciona rpidamente 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
abstraccin superior.

Las arquitecturas hbridas pretenden aprovechar los beneficios que proporcionan las arquitecturas
reactivas y los beneficios que proporcionan las deliberativas, ya que para la mayora de los problemas no
es adecuada ni una arquitectura puramente deliberativa ni una arquitectura puramente reactiva.

Tpicamente los sistemas hbridos se disean siguiendo una arquitectura jerrquica en capas, en la que las
capas ms bajas son principalmente reactivas y las capas ms altas son principalmente deliberativas.

Figura 9: Arquitectura de un agente hbrido

Aunque las arquitecturas hbridas como Touring Machines [Ferguson, 92], InterRRaP [Mller, 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
estn bien motivadas desde el punto de vista de diseo, no est claro que sean motivadas por una teora
muy formal, o en general no se suele especificar una teora que las soporte. En particular, arquitecturas
Touring Machines, que contienen un nmero de capas independientes que compiten unas con otras en
tiempo real para controlar la actividad del agente parecen estar faltas de formalizacin Lo que no esta
claro es que la falta de formalizacin 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 continuacin se muestran algunos ejemplos de arquitecturas hbridas. En concreto las arquitecturas


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

22
Arquitectura InteRRaP
El ejemplo ms comn de arquitectura hbrida es la arquitectura en capas InteRRaP [Mller, 93, 96],
[Mueller & Fischer, 98], [Jung, 98]. InteRRaP permite modelar agentes autnomos y limitados por
recursos, que interactan con otros en un entorno multiagente dinmico, combinando reactividad,
deliberacin y cooperacin. 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 diseo en aplicaciones prcticas de agentes
limitados por recursos y de agentes dirigidos a metas. En cambio las arquitecturas en capas son potentes
para el diseo 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 Percepcin-Accin que gestiona las comunicaciones de bajo nivel,
como se observa en la Figura 10.

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 10: Figura de arquitectura InteRRaP [Volker, 97]

La Unidad de Control consiste en tres capas que actan 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 crticas y tambin tratar con situaciones rutinarias. La capa de
comportamiento contiene un conjunto de patrones de comportamiento (PoBs) que se llevan a cabo
mediante reglas situacin-accin que describen las habilidades reactivas del agente. Con un rpido
reconocimiento de patrones el agente puede reaccionar ante situaciones crticas. Esta capa
proporciona eficiencia reactividad y robustez.

23
Capa de planificacin local (LPL): Proporciona al agente la habilidad de deliberar. Se construye
sobre informacin del modelo del mundo pero adicionalmente utiliza las metas actuales de agente,
las intenciones locales mantenidas en el modelo mental y algunos mecanismos de planificacin
dependientes del dominio.

Capa de planificacin cooperativa (CPL): Extiende la funcionalidad de planificacin de un agente a


planes conjuntos con cooperacin. Utiliza el modelo del mundo, el modelo mental e informacin
sobre otros agentes (metas, habilidades, compromisos almacenados en el modelo social).

Estas dos ltimas capas son ms 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 situacin y activacin de metas)
y PS (planificador y organizador), que interactan entre ellos y con las capas vecinas. El SG realiza todas
las funciones descritas en el modelo conceptual antes de la creacin de opciones. El PS realiza la
planificacin y organizacin y la creacin 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 ejecucin es de arriba abajo (top-down).

El proceso de control empieza en la capa ms baja y termina en la ms alta (bottom-up), teniendo slo
acceso directo al interfaz con el mundo la capa de comportamiento. Las otras capas slo reciben la
informacin que necesitan. Si ocurre una nueva situacin, la capa de comportamiento la reconoce y si
puede reaccionar apropiadamente a ella lo hace sin informar a las capas de control que estn por encima
de ella. Si la capa de comportamiento no tiene capacidades suficientes para reaccionar a la situacin, pasa
el control al proceso SG de la capa de planificacin local. Si la situacin requiere cooperacin con otros
agentes la capa de planificacin local se la pasa a la capa de planificacin cooperativa.

El proceso de ejecucin empieza en la capa ms alta y termina en la ms baja (top-down). Slo la capa de
comportamiento puede llevar a cabo una accin, porque es la nica que tiene acceso a los actuadores.

El modelo conceptual de un agente InteRRaP que se muestra en la Figura 11 puede ayudar a entender
mejor el comportamiento que tiene un agente basado en esta arquitectura, como se explica a continuacin:

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.

24
Figura 11: Modelo de agente conceptual INTERRAP [Volker, 97]

Para que el uso de las creencias sea prctico, se generan a partir de ellas situaciones. Las situaciones son
subconjuntos de creencias que representan estados en los que el agente tiene un inters concreto. Las
situaciones se organizan a su vez en tres capas: situaciones simples o de emergencia, situaciones que
requieren planificacin local y situaciones que requieren planificacin cooperativa.

Las metas del agente se dividen en reacciones, metas locales y metas cooperativas. La ocurrencia de una
situacin normalmente activa una o ms metas. Con el conjunto de metas que satisfacen una situacin
particular se construyen las opciones. El planificador y organizador permite al sistema derivar intenciones
a partir de las opciones y dependiendo de la opcin ser diferente: una simple reaccin se define como
patrones de comportamiento (PoBs), mientras que las metas locales y cooperativas requieren la aplicacin
de un proceso de planificacin. 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 actan de elevadores situados en una plataforma de carga. En este escenario los
agentes se viven en un entorno muy dinmico que continuamente demanda respuestas rpidas pero por
otra parte se requiere planificacin compleja a largo plazo. El sistema DMARS, que simula la
cooperacin entre compaas 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 hbrida para
agentes dinmicos, racionales y autnomos. Esta arquitectura, que es similar a la arquitectura
subsumpcin de Brooks [Brooks, 91], consiste en tres capas que funcionan concurrentemente (Figura 12):

25
La capa reactiva, que est compuesta por reglas situacin-accin, por lo que proporciona al agente la
capacidad de reacciones inmediatas ante cambios del entorno.

La capa de planificacin, que tiene como componente principal un planificador parcial jerrquico.
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 dems. Esta capa permite predecir conflictos entre agentes y genera nuevas metas
para resolver los conflictos.

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

Cada capa describe el mundo del agente en un nivel de abstraccin 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 poltica de control (control policy) que sirva de mediacin y posibilite que los
agente puedan comportarse adecuadamente. La poltica de control permite a cada capa examinar los datos
de las dems y tanto aadir 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 asncrona con reglas de control activadas por
el contexto, que se aplican a estas entradas y salidas en cada punto de sincronizacin. De esta forma, las
reglas actan como filtros entre los sensores y las capas internas del agente. La mediacin permanece
activa todo el tiempo y es transparente a las capas. As cada capa acta 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 poltica de control. La poltica de control global contiene un rgimen de planificacin 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 slo la
capa ms baja tiene acceso a las percepciones. Para conseguir coordinacin entre capas en una
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 actan de forma autnoma, similar al
mecanismo de inhibicin de la arquitectura subsumpcin de Brooks [Brooks, 91].

26
La arquitectura Touring Machines ha sido especialmente utilizada en la construccin 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 dinmico. Esta arquitectura, que tambin est principalmente orientada a la
construccin de robots, utiliza tres niveles de abstraccin o tres diferentes capas, que se pueden observar
en la Figura 13:

Un conjunto dinmicamente 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 especficas. 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 13: Figura de arquitectura 3T [Bonasso, 96]

3T se centra en el caso en que hay un solo agente actuando en un mundo dinmico, mientras que
InteRRaP extiende el clsico 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 mvil que reconoce a
personas, un robot mvil que recolecta basura, un robot mvil que navega por edificios de oficinas, un
robot para estaciones espaciales [Bonasso, 96].

27
Arquitectura Artis
La arquitectura ARTIS [Botti, 99] es una arquitectura de agente pensada para modelar agentes que
habitan en entornos dinmicos 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 catastrficos. Un
agente ARTIS es autnomo, reactivo, proactivo y tiene continuidad temporal.

La arquitectura ARTIS es una extensin del modelo de pizarra adaptndolo 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 estn incluidos en l. La comunicacin
entre el agente ARTIS y los agentes internos se realiza a travs de una pizarra.

Figura 14: Arquitectura Artis

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

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

Un mdulo de control que es responsable de la ejecucin en tiempo real de cada componente del
agente. Este mdulo permite que se implementen algunas caractersticas de comportamiento para
proporcionar al agente algunos atributos especficos (como comunicacin, 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 crtico 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 espordicos del entorno que no son crticos.

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 funcin de seleccin de agentes internos, que se lleva a cabo por el mdulo de control y por el
servidor inteligente.

28
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 peridicamente realiza una tarea especfica. De acuerdo con la definicin de agente, es un
agente con las siguientes caractersticas:

Reactividad: Peridicamente testea el entorno en busca de cambios.

Funcionamiento colaborativo: Todos los agentes internos cooperan para resolver un problema
particular, basando su comunicacin 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 15: Comportamiento de un agente interno

Un agente interno consiste en tres niveles (Figura 15), que le permiten tener este comportamiento:

Un nivel reactivo: Para asegurar una respuesta mnima (respuesta de baja calidad en tiempo limitado)
a un problema particular.

Un nivel cognitivo: Para calcular una respuesta razonada a travs de un proceso deliberativo (en
tiempo ilimitado).

Un nivel de accin, que ejecuta la accin independientemente del nivel que la haya generado.

En cada periodo el agente interno decide entre una respuesta reactiva o una respuesta deliberativa. Esta
decisin 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 habra que extender la arquitectura como mnimo con un lenguaje de comunicacin 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].

29
6. Comparacin de Arquitecturas
Las tablas aparecen a continuacin resumen los tres tipos de arquitecturas presentadas: deliberativas,
reactivas e hbridas. En la Tabla 1 se exponen las caractersticas principales de cada una de ellas. En la
Tabla 2 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 tambin algunos tipos aplicaciones que se
han construido utilizando cada tipo de arquitectura. Por ltimo, en la Tabla 3 se pueden consultar cules
son las ventajas e inconvenientes que las diferentes arquitecturas presentan .

Arquitecturas Caractersticas Principales

Agentes Elementos centralizados (planificador)


Deliberativos Representacin interna del mundo exterior, esquema
estmulomanipulacin simblica (razonamiento lgico)respuesta
No implica agente simple+entorno solo: Se pueden construir
arquitecturas deliberativas para coordinar comportamientos.
Agentes complejos
Agentes Sin elementos centralizados
Sin representacin interna del entorno, esquema estmulorespuesta,
Reactivos
con patrones de respuesta predefinidos
No mantienen historia pasada ni estado
Agentes muy simples
Interaccin con otros agentes muy sencilla

Agentes Arquitectura en capas


Hbridos Tcnicas reactivas para bajo nivel y deliberativas para generar
comportamientos complejos
Tabla 1: Caractersticas principales de las arquitecturas

30
Arquitecturas Ejemplos Aplicaciones

Agentes Agentes BDI [Rao, Georgeff, 95] Agentes software


GRATE [Jennings, 92] Control de procesos dinmicos
Deliberativos
IRMA [Bratman et al., 88] complejos
ADEPT [Alty, 94] Recopilacin de Informacin
Simulacin
PRS [Georgeff & Lansky, 86]
MECCA [Steiner et al, 95]
Agent0 [Shoham, 92, Shoham, 93]
SOAR [Rosembloom et. al., 91]
Agentes Reactivos Subsumpcin [Brooks, 91] Agentes hardware y autnomos
Pengi [Agre, 87]. (robots)
Situated Automata [Kaebling & Juegos
Rosenschein, 91]
Existen muy pocas aplicaciones

Agentes Hbridos InteRRaP [Mller, 93] Robots


Touring Machines [Ferguson, 92] Sistemas de control
3T [Bonasso, 96] Simulacin
ARTIS [Botti, 99] Cooperacin entre compaas de
transporte
COSY [Burmeister & Sundermeyer, 92]
Planificacin
RAP [Firby, 87]
SIM_Agent [Sloman, 96]
dMARS[dInverno, 97]
AuRA [Arkin, 97]
Tabla 2: Ejemplos y aplicaciones de los tres tipos de arquitecturas

31
Arquitecturas Comparativa
VENTAJAS:
Agentes
Deliberativos Tecnologa familiar
Metodologa clara
Muchas teoras adecuadas
Algunas facilitan la construccin de sistemas sociales y cooperativos en los que
existen muchos agentes autnomos.
Se puede introducir fcilmente un mecanismo de aprendizaje.
Permiten la construccin de agentes realmente autnomos

INCONVENIENTES:
Problemas para actualizar a tiempo el conocimiento, sobre todo en entornos de
tiempo real altamente dinmicos en los que los recursos no estn 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 representacin simblica.
VENTAJAS:
Agentes Reactivos
Buen funcionamiento en entornos altamente dinmicos
Simplicidad
Robustez y tolerancia a fallos
Eficiencia, reacciones ante eventos muy rpidas.
Autonoma limitada

INCONVENIENTES:
No hay consenso sobre la tecnologa
No hay metodologa y slo algunas teoras aisladas
Es necesaria una gran cantidad de informacin local
El aprendizaje es problemtico
Construccin por ensayo-error. Largo proceso de experimentacin
Los agentes reactivos slo pueden ser utilizados para su propsito original
Interacciones entre agentes muy simples
La construccin de sistemas grandes es extremadamente complicada
VENTAJAS:
Agentes Hbridos
Combinan las ventajas de arquitecturas deliberativas y las ventajas de
arquitecturas reactivas.

INCONVENIENTES:
Solucin pragmtica, pero ad-hoc
No hay consenso claro pero si muchas similitudes
No hay ni metodologa ni teora formal que la soporte
Muy dificiles de generalizar
Muy difcil reproducir sus resultados en diferentes dominios
Tabla 3: Comparativa entre los tres tipos de arquitecturas

32
7. 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 todava ha de resolverse ad hoc.
Inicialmente el diseador debe caracterizar los requisitos de la arquitectura en funcin de cmo debe ser
el comportamiento de sus agentes y del sistema global. A continuacin debe evaluar las arquitecturas
existentes de acuerdo con las caractersticas que ha obtenido y elegir la que mejor encaje. Si ninguna
arquitectura encaja ser necesario disear una nueva. Incluso en este caso la evaluacin de las
arquitecturas existentes ser provechosa ya que ayudar a evitar problemas que en otro caso se podran
presentar en la nueva arquitectura que se disee.

Algunas preguntas que permiten determinar caractersticas importantes para dirigirse hacia uno u otro
tipo de arquitectura son:

Cules deben ser las capacidades de razonamiento del agente y si este debe llevar a cabo
planificacin.

Las limitaciones de recursos, es decir, qu recursos estarn disponibles para el agente.

Si el agente debe llevar a cabo algn tipo de aprendizaje o no.

Cul debe ser el grado de autonoma del agente.

Cul es el grado de dinamismo del entorno en el que habitar el agente.

En cualquier caso, los principios que generalmente se toman como vlidos son los siguientes:

Las arquitecturas deliberativas son ms adecuadas para agentes en los que la planificacin y el
razonamiento a largo plazo son esenciales.

Las arquitecturas reactivas son ms adecuadas para agentes situados en un entorno que est
continuamente cambiando y las respuestas rpidas son esenciales.

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


respuestas rpidas, ni las reactivas, que no realizan aprendizaje, son capaces de cubrir todos los
problemas, sera ms adecuada una arquitectura hbrida.

En resumen, la adopcin de algn tipo de arquitectura hbrida que incorpore tanto aspectos reactivos
como deliberativos suele ser la opcin ms adecuada para asegurar el xito de una arquitectura, ya que
con sta pueden abordarse un rango ms amplio de problemas, aunque son difciles de generalizar, y por
lo tanto, de aplicar a diferentes dominios y su diseo es un problema que todava ha de resolverse ad hoc.

33
8. 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] DInverno, 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.

34
[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 Tcnico 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] Mller, J. P. (1996). The Design of Intelligent Agents : A Layered Approach, volume 1177 of LNAI :
Lecture Notes in Articial Intelligence. Springer.

[25] Mller, J. P., Pischel, M (1993). The agent architecture inteRRaP: Concept and application. Research
Report RR- 93-26, Deutsches Forschungszentrum fur Kunstliche Intelligenz, Kaiserslautern,
Germany.

35
[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, pgina 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 198202. 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.

36

Potrebbero piacerti anche