You are on page 1of 17

Captulo 2

T EORA DE AGENTES Y S ISTEMAS


MULTIAGENTES

El trmino agente es cada vez ms conocido y se emplea en campos tan


diversos como Internet, los sistemas distribuidos, la inteligencia artificial o la
interaccin persona -computador, como ya se ha mencionado. Hoy en da se
habla de agentes inteligentes, agentes mviles, agentes software, agentes
autnomos, sistemas multiagente. Parece que ha llegado "la era de los
agentes", es importante por tanto intentar clarificar algunos aspectos bsicos
que permitan entender mejor este nuevo modelo y permitan responder a
preguntas tales como qu es un agente?, qu lo caracteriza?, cmo se
clasifican?, cules son sus componentes?, cmo se comunican?, cmo
se estructuran?, cmo se analizan y disean?, cmo se implementan?,
qu lenguajes o herramientas hay disponibles?, etc. A lo largo de este
captulo se intentarn clarificar algunas de estas cuestiones, aunque como
quedar claro en la comunidad cientfica existe muy poco consenso a la hora
de definir la mayora de los aspectos relacionados con esta tecnologa,
empezando por la definicin de agente.
Esta diversidad de opiniones se debe en parte a que este campo ha
atrado a cientficos procedentes de reas muy dispares: psicologa,
sociologa, ingeniera del software, inteligencia artificial, etc. y cada uno de
J.M. Corchado/ J.M. Molina

los miembros de estas comunidades tiende a ver el problema desde su


perspectiva (Foner 1993). Por tanto, realizar una definicin de agente o
agencia es complicado debido a la diversidad de opiniones que existen en la
comunidad cientfica sobre este tema (Franklin et al., 1996).
Dentro de la terminologa de este campo es importante clarificar la
diferencia entre un sistema basado en agentes y un sistema multiagente
(Jennings et al., 1998). Un sistema basado en agentes, es aquel que utiliza
el concepto de agente como mecanismo de abstraccin, pero aunque sea
modelado en trminos de agentes podra ser implementado sin ninguna
estructura de software correspondiente a stos, lo que puede parecer tan
inusual como contraproducente. Un sistema basado en agentes, puede
contener uno o ms agentes. Por otro lado un sistema multiagente es aquel
que se disea e implementa pensando en que estar compuesto por varios
agentes que interactuarn entre s, de forma que juntos permitan alcanzar la
funcionalidad deseada (Bussman et al 1993). En este caso hay que hacer un
mayor esfuerzo de abstraccin, identificar mecanismos de aprendizaje,
coordinacin, negociacin, etc.
Los sistemas multiagente son adecuados para solucionar problemas para
los que hay mltiples mtodos de resolucin y/o mltiples entidades capaces
de trabajar conjuntamente para solucionarlos (Chu-Carroll et al 1995). Por
ello uno de los aspectos bsicos en estos sistemas es la interaccin entre
los diferentes agentes que los forman, la cual como se ver ms adelante,
puede estar basada en modelos de cooperacin, coordinacin o negociacin
entre agentes.

2.1. Por qu utilizar agentes? Porqu Sistemas Multiagente?


La necesidad de construir aplicaciones complejas compuestas de multitud
de subsistemas que interaccionan entre si es el marco de la distribucin de
la inteligencia en diversos agentes. En este tipo de sistemas, la utilizacin de
agentes y tcnicas multiagente permite la gestin inteligente de un sistema
complejo, coordinando los distintos subsistemas que lo componen e
integrando objetivos particulares de cada subsistema en un objetivo comn.
2

J.M. Corchado/ J.M. Molina

Este tipo de sistemas se emplea cuando los problemas son (Ferber, 1999)
fsicamente distribuidos, cuando la complejidad de la solucin requiere de
experiencia muy heterognea (involucra muy distintos problemas), cuando el
problema a resolver est definido sobre una red de ordenadores, la
complejidad del problema es tal que se requiere plantear la solucin desde
distintos puntos de vista, el sistema debe adaptarse a cambios en la
estructura o en el entorno y, por ltimo, la propia metodologa de
construccin de aplicaciones est evolucionando hacia la consideracin de
unidades autnomas.
Considerando cada subsistema con una capacidad de decisin local, el
problema de la gestin se puede abordar desde una perspectiva de
cooperacin coordinada/negociada entre agentes. En este caso, el problema
se puede plantear como un objetivo que no se puede alcanzar por un nico
subsistema y necesita de la colaboracin de los dems para obtener la
solucin que por s mismo no puede alcanzar (Cammarata et al., 1988). Este
es un problema asimilable a los problemas de sistemas multiagentes
cooperantes (Wesson et al., 1988), cuyas caractersticas son:
1. Existe una coleccin de agentes, definido cada uno de ellos por sus
propias habilidades: adquisicin de datos, comunicacin, planificacin y
actuacin.
2. El conjunto de todos los agentes tiene asignada una misin. La misin
puede descomponerse en diferentes tareas independientes, de forma
que se puedan ejecutar en parale lo. El conjunto de agentes debe ser
capaz de asignar las tareas apropiadas a cada uno en funcin de la
adecuacin del agente a esa tarea y teniendo en cuenta la misin a
realizar en comn.
3. Cada agente tiene un conocimiento limitado. Esta limitacin puede ser
tanto del conocimiento del entorno, como de la misin del grupo, como de
las intenciones de los dems agentes a la hora de realizar sus propias
tareas.

J.M. Corchado/ J.M. Molina

4. Cada agente tiene cierta especializacin para realizar determinadas


tareas, en funcin de lo que conoce, la capacidad de proceso y la
habilidad requerida.
La distribucin de las decisiones entre los distintos nodos de la red
fundamentalmente permite:
1. Mantener la autonoma de cada nodo de la red. Los nodos no dependen
de la comunicacin con otros nodos para realizar una priorizacin de sus
tareas. Cada uno de los nodos decide en funcin de su propio entorno las
tareas ms relevantes.
2. Las decisiones internas se toman individualmente con los datos internos
propios del nodo. No es necesario que toda la informacin del sistema se
encuentre en un nico nodo.
3. Se descarga a un hipottico sistema central de la gestin de todo el
sistema a nivel de cada tarea ejecutable por cada agente. Existen
agentes que pueden tomar decisiones que involucran a todos los agentes
e incluso planificar de manera coordinada un conjunto de tareas. El
proceso de comunicacin deber atender a estas necesidades dotando
de especial importancia a algunas de las decisiones de esos agentes
centrales, pero la mayora de las decisiones debern ser consensuadas
entre los agentes y no determinadas a priori.
4. La cooperacin entre los distintos nodos se realiza de manera explcita
mediante la comunicacin de las necesidades de cada nodo.
5. La organizacin entre los nodos es dinmica, lo que permite una
adecuacin rpida de los nodos a la situacin real de todo el sistema.
6. La informacin no estar centralizada en un nico punto lo que hace que
el sistema sea ms robusto frente a situaciones de fallos.
En el problema de coordinacin de agentes, tan importa nte es el proceso
de razonamiento interno como el proceso de comunicacin. El proceso de
razonamiento interno consistir en la toma de decisiones y en la
4

J.M. Corchado/ J.M. Molina

determinacin de la informacin que debe ser compartida. El proceso de


comunicacin debe prefijar cmo y cuando debe producirse la comunicacin
entre los nodos. La comunicacin, el qu y el cmo, entre los diversos
agentes es muy importante a la hora de definir un sistema multiagente.

2.2. Agentes
Definir con precisin el concepto de agente es extremadamente
complicado debido al gran nmero de posibilidades que ofrece este campo y
a la falta de consenso entre los integrantes de la comunidad cientfica que
trabaja en este tema. Esto ha hecho que incluso la definicin de agente
haya sido uno de los aspectos que han suscitado mayor debate en los
ltimos tiempos (Franklin et al., 1996).
En general podemos decir que un agente es un sistema informtico,
situado en algn entorno, dentro del cual actua de forma autnoma y flexible
para as cumplir sus objetivos. Un agente recibe entradas de su entorno y a
la vez ejecuta acciones para intentar cambiarlo a su gusto (Figura 2).

Percepciones
Sensores

Entorno

Agente
Efectores

Acciones

Figura 2: Interaccin agente/entorno.

Adems de la interaccin con el medio, un agente se caracteriza por algo


ms. Desde nuestro punto de vista, y utilizando la definicin de Woldridge et

J.M. Corchado/ J.M. Molina

al. (1995) podemos decir que un agente es todo sistema informtico que
satisface las siguientes propiedades:
1. Autonoma: tiene la capacidad de actuar sin intervencin humana
directa o de otros agentes.
2. Sociabilidad: capacidad de interaccionar con otros agentes, utilizando
como medio algn lenguaje de comunicacin entre agentes.
3. Reactividad: un agente est inmerso en un determinado entorno
(hbitat), del que percibe estmulos y ante los que debe reaccionar en
un tiempo preestablecido.
4. Iniciativa: un agente no slo debe reaccionar a los cambios que se
produzcan en su entorno, sino que tiene que tener un carcter
emprendedor y tomar la iniciativa para actuar guiado por los objetivos
que debe de satisfacer.
Aunque estas propiedades definen las caractersticas bsicas de un
agente, existen numerosos sistemas software que podran satisfacer algunas
de ellas, es el caso por ejemplo de los tpicos "demonios" del UNIX,
servidores de pginas web, etc. que funcionan de manera autnoma, se
comunican con otros procesos (con cualquier equipo que disponga de un
navegador) mediante un protocolo de comunicacin (httpd), funcionan
integrados en un entorno concreto (servidor web conectado mediante una
red TCP/IP), reaccionan ante estmulos producidos, como la demanda de
una pgina determinada o la prdida de un paquete en una transmisin. A
estos sistemas les falta, entre otras cosas, cierta capacidad de iniciativa para
actuar guiados por los objetivos a satisfacer, y esto es debido a que no
disponen de mecanismos inteligentes.
Para eliminar esta ambigedad y satisfacer las necesidades de los
sistemas de agentes, se han definido otra serie de propiedades que se
utilizan para caracterizar a los distintos tipos de agentes:
1. Movilidad: habilidad de un agente de trasladarse en una red de
comunicacin informtica.
6

J.M. Corchado/ J.M. Molina

2. Veracidad: propiedad por la que un agente no comunica informacin


falsa intencionadamente.
3. Benevolencia: un agente no tiene objetivos contradictorios y siempre
intenta realizar la tarea que se le solicita.
4. Racionalidad: un agente tiene unos objetivos especficos y siempre
intenta llevarlos a cabo.
El carcter de racionalidad de un agente (Russell et al., 1995) depende de
cuatro factores:
1. De la medida con la que se evale el grado de xito logrado.
2. De la secuencia de percepciones, entendiendo por tal todo aquello que
hasta ese momento haya percibido el agente.
3. Del conocimiento que el agente posea del medio.
4. De las acciones que el agente pueda llevar a cabo.
Un agente racional debe emprender todas aquellas acciones que
favorezcan obtener el mximo de su medida de rendimiento, basndose en
las evidencias aportadas por la secuencia de percepciones y en todo el
conocimiento incorporado.
Un agente en este sentido, tiene que ser capaz de aprender de la
experiencia (Russell et al., 1995). El diseo de un agente debe basarse en
especificar qu tipo de accin deber emprender como respuesta a una
determinada secuencia de percepciones. Si las acciones que lleva a cabo el
agente se basan exclusivamente en un conocimiento interno y hace caso
omiso de sus percepciones, el agente no dispone de autonoma. La
conducta de un agente se debe basar tanto en la experiencia que acumula
como en el conocimiento inicial con el que se cre para trabajar en el medio
para el que fue concebido. Un sistema ser autnomo en la medida en que
su forma de actuar est definida por su propia experiencia. Es por tanto

J.M. Corchado/ J.M. Molina

razonable dotar a un agente con ciertos conocimientos iniciales y de


capacidad para aprender.
Para algunos investigadores el trmino agente tiene una caracterizacin
ms concreta, para que un sistema informtico pueda considerarse como un
agente tiene que modelarse e implementarse usando aspectos que
usualmente se aplican a los humanos. As, Shoham (1993) define un agente
como una entidad cuyo estado est formado por componentes mentales
(tpicas de los humanos), como creencias, capacidades, elecciones y
compromisos. Estados que determinan las acciones que llevan a cabo los
agentes y qu estn afectados por los mensajes que reciben.
Para que se extienda el uso del modelo de agentes de forma generalizada
en el desarrollo de software es necesario disponer de lenguajes y
herramientas adecuadas, que permitan tanto la implementacin de la
estructura y el comportamiento del agente, como la comunicacin con otros
agentes. Surge as una primera distincin entre los lenguajes de
comunicacin y los lenguajes de agentes propiamente dichos.
Para desarrollar agentes se pueden utilizar lenguajes de propsito
general, entre los que cabe destacar los orientados a objetos, debido al
cierto paralelismo entre objetos y agentes, como C++ o Java, o le nguajes
especficos de agentes, de los que han aparecido numerosas propuestas en
los ltimos aos, como Agent0, AgentK, Placa, Radl, Lalo, etc.
Los lenguajes de agentes han de permitir definir la estructura, estado y
comportamiento de cada agente. Gran parte de estos lenguajes estn
influenciados por la propuesta de Shoham, de considerar la programacin
orientada a agentes, como un nuevo paradigma de programacin (Shoham,
1993), en donde se representa el estado mental del agente, en base a sus
creencias, capacidades, elecciones y compromisos.
El trmino de agente se comenz a utilizar por primera vez en el campo
de la inteligencia artificial, desde el cual han surgido las principales
contribuciones. Aunque la inteligencia artificial (IA) ha proporcionado
numerosos xitos desde hace muchas dcadas, el auge y el aumento
8

J.M. Corchado/ J.M. Molina

destacado en la produccin cientfica en el mbito de la agencia se ha


producido en la ltima dcada, debido fundamentalmente a la tendencia
dentro de la IA a centrarse en abordar los diferentes componentes que dan
lugar al comportamiento inteligente por separado.
En los sistemas multiagente diversos agentes autnomos trabajan juntos
para resolver problemas, caracterizados porque cada agente tiene una
informacin o capacidad incompleta para solucionar el problema, no hay un
sistema global de control, los datos estn descentralizados y la computacin
es asncrona (Chavez et al 1997). Los agentes deciden dinmicamente que
tareas realizan.
Como ya se coment anteriormente de cara a la utilizacin generalizada
de los sistemas multiagente en el desarrollo de software, se est llevando a
cabo un trabajo intenso para disponer de tcnicas, mtodos y herramientas
que garanticen la construccin correcta de tales sistemas (Corchado et al
1997) (Fetal 1995). Tal y como se comenta en la seccin 1.2 y como
quedar de manifiesto a lo largo de este manuscrito.

2.3. Sistemas Multiagente


La Inteligencia Artificial (IA) se ocupa de la creacin de sistemas
computacionales aislados capaces de resolver un problema por mtodos
basados en el conocimiento, en la planificacin, en algoritmos de bsqueda,
en el aprendizaje, etc. En estos sistemas la solucin se alcanza con poca o
ninguna interaccin con otros sistemas. Sin embargo, desde finales de los
aos setenta los grandes avances en la tecnologa tanto del hardware como
del software abrieron una nueva perspectiva a los investigadores de la IA
(Bond y Gasser, 1988). Estos avances incluyen la introduccin de
concurrencia en mquinas paralelas y la posibilidad de distribuir los recursos
computacionales a travs de redes de ordenadores.
Estos avances tecnolgicos, apoyados tambin por la observacin de que
las soluciones humanas a los problemas del mundo real habitualmente
implican colaboracin entre personas, permitieron la expansin de una
nueva "y ms poderosa, estrategia extensible para sobrepasar los lmites
J.M. Corchado/ J.M. Molina

inherentes a la inteligencia presente en cualquier sistema individual de IA o


en cualquier sistema natural" (Durfee, 1991). Esto signific la aparicin en
los aos 80 de una nueva disciplina: la Inteligencia Artificial Distribuida (IAD)
(Decker, 1987).
La

IAD

se

encarga

del

estudio

la

definicin

de

sistemas

computacionales semiautnomos as como de las tcnicas para su


coordinacin inteligente. La IAD se preocupa de formar un grupo de
sistemas/agentes que permita superar las limitaciones individuales de
recursos y conocimientos (Durfee et al., 1989). Ms an, bajo ciertas
condiciones particulares, el rendimiento resultante del grupo puede ser
mayor que la suma de los rendimientos individuales, por lo que un grupo de
sistemas/agentes puede realizar tareas que un sistema individual no podra.
La IAD es en realidad una disciplina diversa y cambiante, quiz por su
naturaleza multidisciplinaria.
En cuanto a su definicin, algunos investigadores han tratado de describir
la IAD utilizando sus propiedades, como por ejemplo la que los clasifica en
ocho dimensiones (Sridharan, 1987)
1. El modelo computacional, se refiere al nivel de distribucin.
2. El nivel de descomposicin del problema, granularidad.
3. El nivel de paralelismo.
4. El nivel de organizacin del sistema, que determina si la estructura de
un sistema est programada o no, en funcin de si se puede cambiar
dinmicamente creando o eliminando agentes en tiempo de ejecucin.
5. El nivel de autonoma de los agentes.
6. La construccin del resultado, puede obtenerse a travs de la sntesis
o descomposicin, o cualquier mezcla de ambas.
7. Los recursos de los agentes disponibles en el sistema.

10

J.M. Corchado/ J.M. Molina

8. El nivel de interaccin entre los agentes, que puede ser ms o menos


complejo, permitiendo el intercambio de informacin a alto nivel y
soportando estructuras de conocimiento sofisticadas en la interaccin
y la comunicacin.
La granularidad es una propiedad muy importante de los sistemas IAD.
Representa el nivel de descomposicin del problema y tiene en
consideracin el nivel de los detalles del conocimiento. Va desde los agentes
con alta granularidad, como por ejemplo programas complejos o sistemas
expertos, hasta los agentes de baja granularidad sin organizacin del
conocimiento. Los agentes con una granularidad baja se consideran slo
marginalmente dentro la IAD porque son ms estudiados en otro campos
como las Redes de Neuronas Artificiales o la IA paralela.
Otros autores han tratado de proporcionar una clara subdivisin de la IAD
en subcampos. Una taxonoma interesante es la propuesta en la Figura 3
(Sommaruga, 1993).
Inteligencia Artificial Distribuida

Inteligencia Artificial
Paralela

Resolucin Distribuida de Problemas

Pizarras

Sistemas Multiagente

Resolucin Distribuida de
Problemas

Agentes Cooperativos

Figura 3. Taxonoma de la Inteligencia Artificial Distribuida.


En los ltimos tiempos, la IAD se ha utilizado ampliamente, tanto con fines
de investigacin como de aplicacin, en dominios muy diferentes, como por
ejemplo: reconocimiento y procesado del habla, control del trfico areo,
interpretacin de sensores remotos, etc. Una descripcin ms amplia de la
IAD en estos dominios puede encontrase en (Bond y Gasser, 1988) y en
(Gasser, 1992).

J.M. Corchado/ J.M. Molina

11

Para la concepcin de esquemas de gestin de sensores autnomos los


sistemas multiagente (SM) resultan apropiados. En general los SM tratan
sobre la coordinacin inteligente entre una coleccin de 'agentes'
autnomos, cmo pueden coordinar sus conocimientos, metas, propiedades
y planes para tomar una decisin o resolver un problema (Bond y Gasser,
1988).
Los SM se caracterizan por una serie de propiedades: descripcin de
competencias, modelos de agentes, comunicacin, comportamiento y puntos
de interaccin.

Descripcin de Competencias

A partir de la abstraccin de un problema concreto, la descripcin de


competencias define el problema en trminos de tareas, subtareas y sus
relaciones. De este modo se determina cmo resolver el problema, cmo
distribuirlo entre los diferentes agentes y las interacciones entre los mismos.
La correcta definicin del problema es determinante para realizar su
descomposicin, su distribucin y para fijar el comportamiento de los
agentes a la hora de resolver un problema cooperativamente.
El proceso de descomposicin de un problema se realiza en dos pasos.
En primer lugar, durante la definicin del problema, a nivel de aplicacin, y
en segundo lugar durante la fase de resolucin del problema para asignar la
actividad de los agentes. Esta asignacin puede variar desde una
completamente determinstica, fijada a priori, hasta una dinmica, es decir,
en funcin de la evolucin de la situacin. Dependiendo del tipo de
asignacin emergen las organizaciones adaptativas y las no adaptativas.

Modelos de Agentes Conocidos

Los SM se componen de agentes que interaccionan con un ambiente


externo. En este entorno existen otros agentes, por lo que resulta necesario
representar, de forma local a cada agente, la informacin relativa a los otros
agentes. Esta informacin se organiza habitualmente como conocimiento
12

J.M. Corchado/ J.M. Molina

estructurado en modelos de agentes conocidos (agentes familiares al que


est creando el modelo).
Los modelos de agentes conocidos contienen las caractersticas de los
agentes externos: sus capacidades, conocimientos y creencias. El modelo
de agentes contiene informacin que el agente puede utilizar para razonar
sobre otros agentes y para satisfacer sus necesidades de comunicacin con
otros agentes.
El modelo de agentes conocidos se utiliza para predecir, o al menos para
esperar, el comportamiento de otros agentes, planear y coordinar
actividades locales de acuerdo con una meta global, y permitir una
estructura flexible de la arquitectura de un agente, mejorando la posibilidad
de agrupar agentes.
Una caracterstica deseable en un sistema distribuido es que sea
dinmicamente autoconfigurable. As, un sistema se puede adaptar a las
nuevas configuraciones del grupo, o a nuevos entornos, sin intervencin o
rediseo por parte del desarrollador. Simplemente actualizando los modelos
de agentes conocidos se puede permitir la inclusin o exclusin de un
agente en un grupo.

Comunicacin

La definicin del problema, su descomposicin y distribucin, genera


implcitamente cana les de comunicacin entre los agentes, que representan
puntos de interaccin en el grupo. A travs de ellos tienen lugar todas las
interacciones entre los agentes. Estos canales permiten que un agente tenga
conocimiento sobre los otros agentes y la coordinacin entre ellos.
El intercambio de informacin, o de forma ms genrica, un acto de
comunicacin, se realiza por medio de un protocolo o lenguaje que puede
tener diferentes niveles de complejidad. Pueden ir desde patrones
predefinidos con una sintaxis estructurada y un tipo limitado de mensajes,
hasta conversaciones flexibles no estructuradas que implican semnticas
elaboradas.
J.M. Corchado/ J.M. Molina

13

Algunos

ejemplos

de

lenguajes

desarrollados

por

los

primeros

investigadores de la IAD son por ejemplo, el distribuidor adaptativo de tareas


del Protocolo de Contrato de Red (Davis and Smith, 1983), el protocolo de
intercambio de metas y planes de PGP (Durfee, 1988), o finalmente, un
lenguaje global comn que permite la integracin oportunista de las bases
de conocimiento heterogneas de los agentes, como el Protocolo de
Comunicacin del CooperA (Sommaruga et al., 1989).

Comportamiento del Sistema

El comportamiento global coherente de los agentes en un sistema es el


objetivo primario del sistema. Dicha coherencia se define como una
propiedad del sistema medida por la eficiencia, calidad y claridad de una
solucin global y el nivel de fallos no crticos del sistema (Bond y Gasser,
1988). Un fallo no crtico es aquel que produce uno de los agentes y no
influye de forma drstica sobre la solucin global del grupo.
El comportamiento de un sistema se ve influido fundamentalmente por el
tipo de organizacin de los agentes, es decir por los distintos modos de
interaccin. Los distintos tipos de organizacin incluyen: la organizacin
centralizada, donde la toma de decisiones la realiza un solo agente;
organizacin tipo mercado, donde las interacciones se regulan mediante
ofertas y contratos; la comunidad plural, donde las soluciones locales de un
agente son refinadas globalmente por el resto de los agentes; la comunidad
con reglas de comportamiento, donde un conjunto de expertos (agentes) con
capacidades muy diferentes se controla mediante un protocolo de
interaccin, principalmente de preguntas y respuestas.
Otros factores que influyen en la coherencia global del sistema, y por
consiguiente en su comportamiento, son:
1. Sincronizacin de acciones a travs de una planificacin global.
2. Reduccin de los puntos de interaccin y, por tanto, de la
comunicacin.

14

J.M. Corchado/ J.M. Molina

3. La

comunicacin

en

misma,

simplemente

estudiando

cuidadosamente qu, cmo, cundo y si es necesario, intercambiar


informacin.
4. Mejora de los modelos de agentes conocidos y de los meta -niveles de
conocimiento en general, lo cual puede aprovecharse tambin para el
control.
5. Interaccin oportunista.

Puntos de Interaccin de un Agente

En general, cada agente de un grupo puede tener la necesidad de


comunicar a otros agentes informacin procesada, o bien, pedirles
informacin que no est a su disposicin. Esto lo suele realizar el agente
mediante llamadas a funciones de peticin, o de envo, de informacin. A
todos los puntos presentes en la aplicacin, donde se produce una
interaccin con otros agentes, se les denomina Puntos de Interaccin (IP).
Los IP son importantes porque son las localizaciones iniciales para las
actividades cooperativas entre los agentes.

2.4. Resumen y Conclusiones


En este captulo se han presentado las ventajas de la utilizacin de
agentes y sistemas multiagente para la resolucin de problemas. Adems se
ha profundizado en los dos conceptos desde un punto de vista terico. Por
una parte, se ha presentado el concepto de agente desde diversas
perspectivas, y, por otro, se han introducido los aspectos ms relevantes de
los sistemas multiagente. Los sistemas multiagente aun no son una
tecnologa madura y es necesario solucionar numerosos interrogantes como
por ejemplo:

Cmo formular, describir, descomponer problemas y sintetizar


resultados entre un grupo de agentes inteligentes?

Cmo permitir a los agentes comunicarse e interactuar?

J.M. Corchado/ J.M. Molina

15

Qu lenguajes de comunicacin y protocolos se pueden usar?

Qu arquitectura es la ms adecuada para construir sistemas


multiagente prcticos?

Qu lenguajes y herramientas de desarrollo se pueden utilizar?

Cmo construir herramientas para soportar las metodologas de


desarrollo?, etc.

En prximos captulos nos adentraremos en las diversas arquitecturas de


los agentes, en las aplicaciones de los mismos y en la problemtica
asociada a la comunicacin y negociacin que aparece cuando se trabaja
con comunidades de agentes inteligentes que se integran en un sistema
multiagente.

2.5. Referencias
Bond A.H., Gasser L. (1988) Readings in Distributed Artificial Intelligence. Morgan
Kaufman.
Bussman S. Y Mller H. J. (1993) A communication achitecture for cooperating agentes.
Compt. Artif. Intell. 12(1), 37-54.
Cammarata S., McArthur D., Steeb R., "Strategies of Cooperation in Distributed Problem
Solving", en Readings in Distributed Artificial Intelligence, Ed. Alan H. Bond and
Les Gasser, Morgan Kaufmann 1988.
Chavez A., Moukas a. y Pattie M. (1997) Challenger: A Multi-Agent System for
Distributed Resource Allocation, AUTONOMOUS AGENTS 97, Proceedings of
the First International Conference on Autonomous Agents, pp 323-332, Marina del
Rey CA, Feb 5-8, 1997, ACM Press.
Chu-Carroll C. y Carberry S. (1995) Conflict Detection and Resolution in Collaborative
Planning INTELLIGENT AGENTS II:
Agent Theories, Architectures and
Languages, pp 111-127, Wooldridge, Michael J, Mueller, P and Tambe, Milind,
(Eds), Springer Verlag, Berlin 1995.
Corchado J. M., Lees B., Fyfe C. y Rees N. (1997) A Multi-agent System Test Bed For
Evaluating Autonomous Agents. Proceedings of the First International Conference
on Autonomous Agents, Marina del Rey, California, USA. febrero 5-8.
Davis, R., Smith, R.G., Negotiantion as a Metaphor for Distributed Problem Solving,
Artificial Intelligence vol 20, n 1, pp 63-109, 1983.
Decker, Keirh S., "Distributed Problem-Solving Techniques: A
Transactions on Systems, Man, and Cybernetics, Sep/Oct 1987.

16

Survey",

IEEE

J.M. Corchado/ J.M. Molina

Durfee E.H., Lesser V.R., Corkill D.D., Cooperative Distributed Problem Solving, Cap.
XVII, The Handbook of AI (Vol IV), ed. Barr A., Cohen P.R., Feigembaum E.A.,
Addison-Wesley 1989.
Durfee, E. H., Coordinating Distributed Problem Solvers, Kluwer Academic Publishers,
Boston, 1988.
Durfee, E. H., The Distributed Artificial Intelligence Melting Pot, IEEE Transactions on
Systems, Man and Cybernetics, vol 21, n 6, Noviembre/Diciembre, 1991.
Ferber, J., (1999) Multi-Agent Systems. An Introduction to Distributed Artificial
Intelligence, Addison-Wesley.
Fetal A. (1995) Cognition Based MultiAgent Architecture, INTELLIGENT AGENTS II:
Agent Theories, Architectures and Languages, pp 267-283, Wooldridge, Michael J,
Mueller, P and Tambe, Milind, (Eds), Springer Verlag, Berlin 1995.
Foner L. N. (1993) Whats an agent, anyway? A sociological case study. Agents Memo
93-01, Agents Group, MIT Media Lab. 1993.
Franklin S. y Graesser A. (1996) Is it an Agent, or just a Program?: A Taxonomy for
Autonomous Agents. Proceedings of the Third International Workshop on Agent
Theories, Architectures, and Languages. Springer-Verlag, 1996.
Gasser L., (1992) An Overview of DAI, en Distributed Artificial Intelligence: Theory and
Praxis, editado por N.M. Avouris y L. Gasser, Kluwer.
Jennings R., Sycara K., Wooldridge M., (1998) A Roadmap of Agent Reasearch and
Development, Autonomous Agents and Multiagent Systems, vol 1, n 1 pp 275306.
Russell S. y Norvig P. (1995) Artificial Intelligence: A Modern Approach. Englewood
Cliffs, NJ: Prentice-Hall, 1995.
Shoham Y., (1993) Agent Oriented Programming, Artificial Intelligence, vol 60, n1, pp
51-92.
Sommaruga, L., Avouris, A., Van Liedekerke, M. , An environment for experimenting with
interactive cooperating knowledge based systems, en Reasearch and
Development in Expert Systems, vol VI, editado por Nigel Shadbolt, Cambridge
University Press, Cambridge, UK, 1989.
Sommaruga, L., Cooperative Heuristics for Autonomous Agents: an Artificial Intelligence
Perspective, Tesis Doctoral. Universidad de Nottingham, Mayo 1993.
Sridharan N., Report on the 1986 Workshop on Distributed Artificial Intelligence, The AI
Magazine, pp. 75-85, Otoo, 1986.
Wesson R. et all "Network Structures for Distributed Situation Assessment", Readings in
Distributed Artificial Intelligence, Ed. Alan H. Bond and Les Gasser, Morgan
Kaufmann 1988.
Wooldridge M. y Jennings N. R. (1995) Intelligent Agents: Theory and Practice. The
Knowledge Engineering Review, vol. 10(2) pp. 115-152, 1995.

J.M. Corchado/ J.M. Molina

17

You might also like