• No se han encontrado resultados

Se puede definir una arquitectura como la porci´on de un sistema que proporciona y gestiona los recursos de un agente. La arquitectura constituye la parte pr´actica de la agencia, ya que describe

3.6. ARQUITECTURAS DE AGENTES 31

aquellos aspectos relacionados con la construcci´on de sistemas que permiten a un agente mostrar la conducta enunciada en las teor´ıas de los agentes.

Maes [Mae91] define una arquitectura de agentes como una metodolog´ıa particular para la cons- trucci´on de agentes, que especifica c´omo un agente puede descomponerse en un conjunto de m´odulos y c´omo estos m´odulos deben interaccionar a fin de proporcionar respuesta a la forma en que los datos de entrada y el estado interno de los agentes determinan las acciones y los futuros estados del agente. Por su parte, Kaelbling [Kae91] afirma que una arquitectura de agentes consiste en una colecci´on espec´ıfica de m´odulos software y/o hardware, dise˜nados t´ıpicamente como cajas con flechas que des- criben los datos y el control de flujos entre los m´odulos. Tambi´en a˜nade que una forma m´as abstracta de ver una arquitectura ser´ıa como una metodolog´ıa general que permite el dise˜no modular de tareas particulares.

En todo caso, las arquitecturas de agentes pueden ser clasificadas bas´andose en distintos criterios. La bibliograf´ıa de agentes muestra dos diferentes clasificaciones de las arquitecturas:

1. Las arquitecturas de agentes pueden clasificarse como arquitecturashorizontalesoverticales

[MPT94]. En las primeras, todas las capas tienen acceso a sensores y actuadores. Por el contra- rio, en las arquitecturas verticales s´olo la capa m´as baja tiene acceso a dichos elementos. Las arquitecturas horizontales tienen como ventaja el paralelismo entre capas y como desventaja la necesidad de tener un gran conocimiento de control para llevar a cabo la coordinaci´on entre ellas. Por su parte, las arquitecturas verticales reducen este control a cambio de una mayor complejidad de la capa m´as baja.

2. Las arquitecturas de agentes tambi´en pueden clasificarse seg´un el tipo de procesamiento emplea- do [WJ95a] en arquitecturasdeliberativas,reactivaseh´ıbridas. A continuaci´on se analizan m´as detalladamente estos tipos de arquitecturas.

3.6.1. Arquitecturas deliberativas

Este tipo de arquitecturas tienen como base la Inteligencia Artificial Simb´olica y concretamente los trabajos realizados por Newell y Simon [NS76], seg´un los cuales un sistema de entidades f´ısicas o s´ımbolos capaz de manipular estructuras simb´olicas puede mostrar una conducta inteligente. A partir de esta hip´otesis, aparece el concepto de agente deliberativo [GN87]. Estos agentes toman los fundamentos de la teor´ıa cl´asica de planificaci´on en Inteligencia Artificial [JHD90][RK94], [SMD94], seg´un la cual a partir de un estado inicial, un conjunto de planes y un estado final como objetivo, el agente deliberativo construye los pasos a seguir.

Se pueden distinguir dos tipos de arquitecturas deliberativas [WJ95a], lasarquitecturas inten- cionales y lasarquitecturas sociales.

Las arquitecturas intencionales son aqu´ellas que permiten hacer razonamientos en base a creencias e intenciones. Ejemplos destacados de arquitecturas intencionales son las arquitecturas basadas en los modelos BDI [HS96].

Las arquitecturas sociales [MCd96] incluyen agentes sociales que mantienen modelos de otros agentes y en base a los cuales son capaces de razonar. Se pueden dividir en dos grupos. El primer grupo consiste en agentes intencionales con capacidad de razonamiento sobre la existencia de otros agentes. Ejemplos de arquitecturas de este tipo lo constituyen GRATE [Jen92], [JML+92], COSY

[BS92], [Had93], [HS96] y DA-SoC [HYGO94]. El segundo grupo consta de aquellas arquitecturas cl´asicas que se han centrado en la cooperaci´on, dejando en segundo plano las intenciones de los agentes. ARCHON [Wit92], [CN96], IMAGINE [Hau94], [Ste96] y Coopera [SAvL96] constituyen ejemplos de este segundo tipo.

3.6.2. Arquitecturas reactivas

Las arquitecturas reactivas [Fer96] constituyen una alternativa frente a las arquitecturas delibe- rativas, ya que no utilizan un enfoque simb´olico, sino conductista, mostrando un comportamiento est´ımulo-respuesta. Estas arquitecturas no utilizan un modelo del mundo a partir del cual construir los planes, sino que utilizan un conjunto de sensores, que activan una serie de actuadores bajo deter- minadas condiciones.

Brooks fue una de las voces m´as cr´ıticas contra el paradigma simb´olico, afirmando que no es necesario el uso de una representaci´on expl´ıcita del modelo para que una arquitectura muestre un comportamiento inteligente [Bro86], [Bro90], [Bro91a], [Bro91b]. De hecho, propuso la llamadaarqui- tectura de subordinaci´on (subsumption architecture). Esta arquitectura se encuentra compuesta por un conjunto de niveles que siguen una determinada conducta. Cada nivel est´a formado por una red de m´aquinas de estado finitas. En base a esta arquitectura, Brooks construy´o un gran n´umero derobots. Steels [Ste90] llev´o a cabo un trabajo similar al construir un sistema que simulaba la exploraci´on de Marte (Mars Explorer), haciendo uso de agentes basados en este tipo de arquitectura.

Chapman y Agre [CA86] tambi´en exploraron alternativas al paradigma de planificaci´on de Inteli- gencia Artificial. Observaron que la mayor´ıa de las actividades son rutinarias y no requieren razona- miento abstracto nuevo, ya que una vez aprendidas, pueden llevarse a cabo de la misma forma, con pocas variaciones. Bas´andose en esto, propusieron el sistema PENGI [AC87], que utiliza una estruc- tura de bajo nivel, similar a un circuito digital, que lleva a cabo actualizaciones peri´odicas, a fin de permitir tratar nuevas clases de problemas.

Rosenschein y Kaelbling [Ros85], [RK86], [KR90], [Kae91] propusieron una arquitectura reactiva en la cual un agente se especifica de forma declarativa. Su especificaci´on es compilada y convertida en una m´aquina digital, que satisface la misma. La l´ogica utilizada para la especificaci´on de los agentes es una l´ogica modal del conocimiento. Un agente se especifica en base a dos componentes: percepci´on y acci´on.

Pattie Maes [Mae89], [Mae90a], desarroll´o una arquitectura de agentes, denominadaAgent Network Architecture[Mae91]. Dicha arquitectura est´a compuesta por un conjunto de agentes, que consisten en una serie de m´odulos que se activan de forma independiente. Cada uno de los m´odulos se enlazan entre s´ı a trav´es de sus pre-condiciones y post-condiciones, de forma an´aloga a los enlaces de una red neuronal.

Ferber [FD92] propone una arquitectura reactiva multiagente detareas competitivas, en la cual cada agente debe decidir qu´e tarea debe realizar de entre varias posibles, seleccionando aqu´ella que proporciona el mayor nivel de activaci´on. El sistema MANTA [DF92], [DCF95], [Fer96] utiliza esta misma aproximaci´on, modelizando el sistema como una colonia de hormigas, en la cual cada hormiga decide qu´e acci´on debe realizar a fin de cumplir sus objetivos.

3.6.3. Arquitecturas h´ıbridas

Una arquitecturas h´ıbrida, como su nombre indica, combina caracter´ısticas deliberativas y reac- tivas, utilizando tanto m´odulos deliberativos como reactivos, que colaboran dentro del agente. Los m´odulos reactivos llevan a cabo el procesamiento de aquellos est´ımulos que no precisan de delibe- raci´on. Por su parte, los m´odulos deliberativos establecen las acciones necesarias para satisfacer los objetivos locales y globales de los agentes. Generalmente, el m´odulo reactivo tiene prioridad en aquellas situaciones que requieren una reacci´on en un tiempo limitado.

Georgeff y Lansky [GL87] desarrollaron una de las m´as conocidas arquitecturas, PRS (Procedural Reasoning System). PRS es una arquitectura BDI, compuesta por una librer´ıa de planes y por re- presentaciones simb´olicas expl´ıcitas de las creencias, deseos e intenciones. No obstante, la librer´ıa de