Sunteți pe pagina 1din 37

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)

NDICE

1.Introduccin..............................................................................................................4 2.Arquitecturas de Agente en MAS...........................................................................6 3.Arquitecturas Deliberativas....................................................................................9


Arquitectura formal BDI (Belief, Desire, Intention)......................................................................11 GRATE ..........................................................................................................................................12 IRMA..............................................................................................................................................14 ADEPT...........................................................................................................................................16

4.Arquitecturas Reactivas.........................................................................................18
Arquitectura subsumpcin..............................................................................................................20

5.Arquitecturas Hbridas..........................................................................................22
Arquitectura InteRRaP...................................................................................................................23 Touring Machines...........................................................................................................................25 Arquitectura 3T..............................................................................................................................27 Arquitectura Artis...........................................................................................................................28

6.Comparacin de Arquitecturas.............................................................................30 7.Conclusiones............................................................................................................33 8.Referencias..............................................................................................................35

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.

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.

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.

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,

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.

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.

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 Output (actions)

Scheduler

Planner

Input (perception)

I N T E R A C T I O N

Intention Manage r Reasoner Goals Desires

Information receiver

Knowledge Base (symbolic 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

23

reconocimiento de patrones el agente puede reaccionar ante situaciones crticas. Esta capa proporciona eficiencia reactividad y robustez. 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 Agentes Deliberativos

Caractersticas Principales Elementos centralizados (planificador) 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 Sin elementos centralizados Sin representacin interna del entorno, esquema estmulorespuesta, con patrones de respuesta predefinidos No mantienen historia pasada ni estado Agentes muy simples Interaccin con otros agentes muy sencilla Arquitectura en capas Tcnicas reactivas para bajo nivel y deliberativas para generar comportamientos complejos Tabla 1: Caractersticas principales de las arquitecturas

Agentes Reactivos

Agentes Hbridos

30

Arquitecturas Agentes Deliberativos

Ejemplos Agentes BDI [Rao, Georgeff, 95] GRATE [Jennings, 92] IRMA [Bratman et al., 88] ADEPT [Alty, 94] PRS [Georgeff & Lansky, 86] MECCA [Steiner et al, 95] Agent0 [Shoham, 92, Shoham, 93] SOAR [Rosembloom et. al., 91] Subsumpcin [Brooks, 91] Pengi [Agre, 87]. Situated Automata [Kaebling & Rosenschein, 91] InteRRaP [Mller, 93] Touring Machines [Ferguson, 92] 3T [Bonasso, 96] ARTIS [Botti, 99] COSY [Burmeister & Sundermeyer, 92] RAP [Firby, 87] SIM_Agent [Sloman, 96] dMARS[dInverno, 97] AuRA [Arkin, 97]

Aplicaciones Agentes software Control de procesos dinmicos complejos Recopilacin de Informacin Simulacin

Agentes Reactivos

Agentes hardware y autnomos (robots) Juegos Existen muy pocas aplicaciones

Agentes Hbridos

Robots Sistemas de control Simulacin Cooperacin entre compaas de transporte Planificacin

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

31

Arquitecturas Agentes Deliberativos VENTAJAS: Tecnologa familiar Metodologa clara Muchas teoras adecuadas

Comparativa

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

Agentes Reactivos

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

32

Agentes Hbridos

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

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.

33

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.

34

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.

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

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

37

S-ar putea să vă placă și