You are on page 1of 7

Revista Cubana de Ciencias Informticas

ISSN: 1994-1536
rcci@uci.cu
Universidad de las Ciencias Informticas
Cuba

Coca Bergolla, Yuniesky


Agentes inteligentes. Aplicacin a la realidad virtual
Revista Cubana de Ciencias Informticas, vol. 3, nm. 1-2, enero-junio, 2009, pp. 49-54
Universidad de las Ciencias Informticas
Ciudad de la Habana, Cuba

Disponible en: http://www.redalyc.org/articulo.oa?id=378343636008

Cmo citar el artculo


Nmero completo
Sistema de Informacin Cientfica
Ms informacin del artculo Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal
Pgina de la revista en redalyc.org Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
RCCI Vol. 3, No. 1-2 ENERO- JUNIO, 2009 p. 49-54
Recibido: Aceptado:

Agentes inteligentes. Aplicacin a


la realidad virtual
Intelligent agents. Aplication to virtual reality
Yuniesky Coca Bergolla
Dpto. de Prctica Profesional e Ingeniera de software, Polo de Realidad Virtual,
Universidad de las Ciencias Informticas
*Autor para la correspondencia: ycoca@uci.cu
50 Resumen Introduccin
Son varios los paradigmas de programacin La computacin ha llevado un ritmo acelerado en
que coexisten en nuestros tiempos. Todos con su desarrollo desde sus inicios como ciencia en
visiones diferentes del mundo para elaborar los aos 50 del siglo pasado (Denning, 2005).
rdenes a las computadoras. Uno nuevo en- Uno de los aspectos fundamentales para lograr
tra a este mundo con mucha fuerza, dando este avance ha sido el desarrollo de los lenguajes
seales de ser el paradigma para lograr vari- de programacin, la manera de acercarlos cada
os sueos que han estado hasta el momento
vez ms a un mayor nmero de usuarios, que ya
dentro de la ciencia ficcin. Se pretende
no necesitan de conocimientos profundos de la
con este trabajo realizar una introduccin
al tema de agentes y sistemas multiagen- rama, para lograr que la computadora obedezca
tes, mostrar sus principales caractersticas y rdenes.
tipologas, adems de mostrar las principales
metodologas utilizadas actualmente para su Los lenguajes de programacin han sido agrupa-
desarrollo y los lenguajes de programacin dos en grandes paradigmas que definen la forma
que soportan esta nueva manera de concebir de pensar a la hora de escribir las rdenes a las
nuestra vida para ser llevada a las ciencias computadoras.
de la computacin; todos los temas dirigidos Algunos de los principales paradigmas que coexisten
a su aplicacin a la realidad virtual donde se en la actualidad son:
han desarrollado trabajos que se ajustan a
este paradigma, pero nunca con una visin - Estructurado:
integral del mismo. - Funcional.
Palabras claves: Agentes inteligentes, Inteli- - Lgico:
gencia artificial, Paradigmas de programacin, - Orientado a objetos:
Sistemas multiagentes, Realidad Virtual. - Orientado a servicios:
- Basado en restricciones:
Abstract Uno de los ltimos avances en el desarrollo de la
Every programming paradigm coexists today. computacin ha llevado a reconocer los llamados
All there have different visions about world software adaptativos (Norvig, 1997) que cuen-
to input order in to computers. A new tan como base fundamental con la programacin
paradigm comes with force to realize every orientada a agentes y se utilizan concretamente
dream that have been into science fiction para el desarrollo de la inteligencia artificial. A
until today. This paper pretends introduce pesar de su actualidad y que algunos autores lo
you in the world of intelligent agents and concideran el prximo avance ms significativo
multi agent systems, there characteristics, en el desarrollo de sistemas, no se ha explotado
typology, the principal and more recent al mximo su potencialidad. Un rea en la que no
methodologies to develop this paradigm, se han desarrollado trabajos siguiendo este para-
and the programming language that support digma de manera integral es la realidad virtual.
this new method to see our life to model it in Este trabajo pretende brindar un acercamiento a
computer science, all this aspect correlated
este paradigma, su utilidad y viabilidad para ser
with virtual reality, where we found works
utilizado en infinidad de reas en nuestro entor-
about this paradigm today, but never with
an integral vision about it. no, fundamentalmente en entornos virtuales en
Keywords: Artificial intelligence, Intelligent 3 dimensiones (3D).
agents, Multi-Agent systems, Programming
paradigms, Virtual reality. Agentes y Sistemas Multiagentes
La definicin de agente es muy controvertida,
son varios los autores que han dado su propia in-
terpretacin y definicin de agentes, en la actuali-
dad no hay un criterio bien definido. Un primer
pronunciamiento de agente en el ao 1996. Un
agente como una entidad que percibe y acta so-
bre un entorno (Russell, 1996), a pesar de ser
muy sencillo encierra la esencia del tema.

Segn diccionarios de la lengua espaola, en su


primera acepcin, un agente es una Persona que
trabaja en una agencia prestando determinados paradigmas pueden cumplir sus axiomas dentro
servicios. Llevando esta definicin al mundo de de una misma aplicacin sin entrar en contradic- 51
la computacin y vindolo de manera genrica cin uno con otro.

Agentes inteligentes. Aplicacin


a la realidad virtual
se puede sustituir el trmino persona por enti-
dad, la frase trabaja en una agencia por acta Existen otras caractersticas que en la literatura
en un entorno y la frase prestando determina- se suelen atribuir a los agentes en mayor o menor
dos servicios por transformando dicho entorno; grado para resolver problemas particulares y que
elaborando un poco el nuevo concepto se puede han sido descritos por varios cientficos (Franklin,
concluir que un agente es una entidad que ac- 1996), algunas de estas caractersticas son:
ta de manera autnoma en un entorno, trans-
formndolo mediante la interrelacin con otras Continuidad Temporal: Se considera un agente
entidades. un proceso sin fin, ejecutndose continuamente
y desarrollando su funcin.
Lo abarcador de este concepto lo hace ser recono- Autonoma: Un agente es autnomo si es capaz
cido como un nuevo paradigma de programacin, de actuar basndose en su experiencia, siendo ca-
una nueva forma de ver el mundo para ser llevado paz de adaptarse a cambios en el entorno.
al lenguaje de la computacin. Reconocido den- Racionalidad: El agente siempre realiza lo cor-
tro de la rama de la Inteligencia artificial, ya ha recto a partir de los datos que percibe del en-
sido generalizado a una amplia gama de aspectos torno.
de la sociedad. Los principales avances se han Adaptatividad: El agente es capaz de aprender
alcanzado en sistemas de agentes para la web y y de alguna manera cambiar su comportamiento
en agentes de interfaz, explicados ms adelante, sin basndose en ese aprendizaje.
embargo, como nueva filosofa de trabajo puede ser Movilidad: Es la capacidad de un agente de
aplicada a todos los mbitos de la programacin, trasladarse a travs de una red (Internet, intranet
y es eso precisamente lo que muchas personas, u otro medio).
incluso que trabajan los temas de la inteligen- Veracidad: Un agente no comunica informacin
cia artificial y la programacin, an no llegan a falsa a propsito.
comprender. Benevolencia: Un agente est dispuesto a ayudar
a otros agentes si esto no entra en conflicto con
Son varias las caractersticas que se le atribuyen sus propios objetivos.
a los agentes, sin embargo hay tres principales
Los principales tipos de agentes que hasta hoy
en las que se ha llegado a conscenso, que son
se han trabajado son:
indispensables para considerar que estamos en
presencia de un agente. Agentes de interfaz: Ayudan a ensear determi-
nadas materias en un entorno virtual, o a dirigir
Reactivo: El agente debe ser capaz de responder el trabajo en un software.
a cambios en el entorno en que se encuentra Agentes mviles: Se mueven a travs de un en-
situado. Acta como resultado de esos cambios. torno, para esto deben estar soportados sobre
Pro-activo: El agente debe ser capaz de intentar alguna plataforma comn, la Web fundamental-
cumplir sus propios planes u objetivos. Debe ser mente, cumpliendo algn rol especfico.
capaz de controlar sus propios objetivos a pesar Agentes de Internet o de informacin: Se en-
de cambios en el entorno. Cumplir con su tarea cargan fundamentalmente de seleccionar textos inte-
a toda costa. resantes o que le sean solicitados por los usuarios,
Social: El agente debe comunicarse con otros sobre temticas, de sitios especficos.
agentes mediante algn tipo de comunicacin. Agentes robticos: Incorporan todas estas es-
trategias a objetos reales, su explotacin lleva
Estas caractersticas deben ser definitorias, son muchos recursos. Se han logrado resultados inte-
los axiomas principales, en los elementos del resantes en pases altamente desarrollados.
entorno para saber si el sistema est elaborado Agentes crebles: (virtuales). Simulan el com-
mediante el paradigma orientado a agentes, lo portamiento de humanos, animales u otros obje-
cual no quiere decir que todos los elementos cum- tos en un entorno virtual. Estos son los que nos
plan con estas caractersticas. Como se deca an- mueven a este trabajo.
teriormente este paradigma puede aparecer mez-
clado con otros como sucede en muchos casos, el
ejemplo ms comn es la mezcla existente entre
el estructurado y el orientado a objetos. Varios
Sistemas Multiagentes FIPA (IEEE, 2005) que tienen reglamentaciones
52 Los agentes se pueden ver de manera aislada, in- de lenguajes de comunicacin, construccin y
cluso hay varias aplicaciones ya realizadas donde hasta de reas de aplicacin de los agentes.
interviene un agente resolviendo determinado
problema, sin embargo la potencialidad de este Poo contra Poa en entornos virtuales
paradigma est en los sistemas multiagentes, o Como todo nuevo paradigma la Programacin Orien-
sea, en la interrelacin entre agentes dentro de tada a Agentes (POA) no cuenta en este momento
un entorno especfico. con una herramienta fuerte para su desarrollo, sin
embargo debe apoyarse en lo que ya existe para
El concepto de sistema multi-agente (MAS por ir formando el pensamiento y dando tiempo a que
sus siglas en Ingles) supone el siguiente paso el avance de las herramientas les construya las
en la evolucin de la IA y el enfoque con el que bases fundamentales para su propio desarrollo.
va a ser abordado en el futuro el desarrollo de
sistemas inteligentes... (Julin, 1999). Este co- No existe contradiccin alguna entre la programacin
mentario bastante futurista y osado puede llegar basada en agentes y la programacin orientada a
a ser una verdadera profeca, no tan espectacular objetos (POO), de hecho es una especializacin
por el verdadero avance en ese tema alcanzado ya de esta ltima. Vase de la siguiente manera:
en nuestros das. Tomando cada elemento expuesto anteriormente
de un sistema multiagente, se muestra la manera
Los MAS estn formados por varios aspectos fun- de lograrlo mediante la programacin orientada a
damentales (Ferber, 1999) objetos en un entorno virtual.
1. Un entorno.
2. Un conjunto de objetos. Se encuentran inte- 1. El entorno es el mismo y puede ser tratado de
grados con el entorno, es posible en un momento la misma manera con cualquier paradigma.
dado asociar uno de estos objetos con un lugar 2. Los objetos siguen siendo objetos en ambos
en el entorno. Estos objetos son pasivos, pueden paradigmas.
ser percibidos, creados, destruidos y modificados 3. Cada agente es un objeto con caractersticas
por agentes. especiales (las que se relacionaron anteriormente,
3. Un conjunto de agentes. Se consideran obje- todas alcanzables mediante la POO).
tos especiales que representan las entidades ac- 4. Las relaciones entre agentes y de agentes con
tivas del sistema. (Cumpliendo las caractersticas objetos no son ms que mtodos bien definidos
antes expuestas). en cada uno de ellos o en clases controladoras
4. Un conjunto de relaciones. Unen a los obje- (Que como programacin orientada a objetos cada
tos, y, por lo tanto, agentes. instancia es tambin un objeto). Existen tcnicas
5. Un conjunto de operaciones. Hacen posible de comunicacin entre elementos virtuales (Ork-
que los agentes perciban, produzcan, consuman, ing, 2002) que bien organizadas lograran los re-
transformen y manipulen objetos. sultados esperados.
6. Operadores. Representan la aplicacin de 5. Las operaciones sobre el entorno tambin son
operaciones sobre el mundo y la reaccin de mtodos en cada clase que representa los obje-
ste al ser alterado. Estos operadores se pueden tos y accesos a varios aspectos del entorno. Es
entender como las leyes del universo. imprescindible un buen sistema de percepcin
genrico que pueda ser utilizado por cada agente,
El hecho de tener como primer aspecto el en- o sistemas particulares para cada tipo de agente,
torno es la base para pensar esta tcnica como adems de herramientas para poder modificar el
paradigma, el entorno puede ser tan variado entorno.
que va desde un entorno real hasta un entorno 6. El tema de los operadores tiene solucin medi-
completamente virtual, incluidos entornos web, ante una mquina finita de estado o un sistema
entornos simulados etc. experto basado en reglas fundamentalmente.
Como tcnica novedosa y muy afn con este
Ya existen entidades que han manejado normas paradigma est el pensamiento basado en metas
para la estandarizacin de los agentes y lograr (Buckland, 2005) que permite definir metas ge-
una comunicacin entre ellos, por supuesto que nerales a los agentes que pueden ser interrumpi-
estas normas son hechas generalmente para en- das temporalmente por determinadas situaciones
tornos especficos, muy concretamente entornos emergentes.
Web donde pueden interactuar varios sistemas
multiagentes. Entre ellas tenemos los standares
Para ver algunas de las diferencias principales Sin embargo una de las ms acabadas en el mo-
entre los paradigmas orientado a objetos y orien- mento es el JADE (Bellifemine, 2003), una biblio- 53
tado a agentes consultar (Biswas, 2007). teca desarrollada sobre Java para el desarrollo de

Agentes inteligentes. Aplicacin


a la realidad virtual
Con el desarrollo normal de la POO se puede llegar sistemas multi-agentes sobre la Web.
a objetos activos que:
Sin embargo para el desarrollo de agentes en
Controlan su estado, pero no su comporta- entornos virtuales hay que seguir utilizando len-
miento. guajes como el C++ que brinda facilidades para
Si un mtodo es pblico, este debe ser eje- el desarrollo de aplicaciones de bajo nivel y to-
cutado cuando sea invocado. mando el paradigma orientado a objetos como
La ejecucin de un mtodo est relacionada con base para modelar una aplicacin que cumpla los
la llamada al objeto. principales axiomas del paradigma orientado a
agentes.
Los agentes en cambio:
Conclusiones
Controlan su estado y su comportamiento.
Pueden rechazar la ejecucin de una accin. La programacin de agentes es una realidad hoy
La decisin de ejecutar una accin depende del en el mundo, existen metodologas y lenguajes
agente, est basada en sus propios intereses. con los que se han obtenido resultados concretos
e interesantes en varias reas, sin embargo an
Estas nuevas caractersticas, que vienen a definir no est arraigado en la forma de pensar de muchos
a los agentes, se han obtenido desde hace algn desarrolladores. En el rea de la realidad virtual
tiempo en mayor o menor medida en aplicaciones se han obtenido resultados interesantes de agen-
de realidad virtual, sobre todo en juegos, pero sin tes crebles con las caractersticas fundamentales
una formalizacin que permita verlas claramente bien definidas; sin embargo falta un trabajo con-
como desarrollo del nuevo paradigma, sin pen- ciente y dirigido a desarrollar este paradigma en
sar intensionadamente en la creacin de agen- este importante campo para el desarrollo de la
tes, sino de elementos virtuales, muchas veces sociedad actual y futura. Como nuevo paradigma
ni siquiera con un buen diseo de Programacin est en pleno desarrollo, lo que exige la colabo-
Orientada a Objetos. racin y el atrevimiento de muchos para avanzar
hacia un nuevo escaln dentro de este mundo de
Varias han sido las arquitecturas propuestas para la inteligencia artificial aplicada a cada aspecto
el desarrollo de agentes. Como resultado de varios del desarrollo de la computacin.
aos, se tienen reconocidas las arquitecturas
de subsuncin (Brooks, 1990) arquitecturas de Referencias
pizarra (Corkill, 1991), arquitecturas BDI (In- [Bellifemine, 2003] Bellifemine, F. Caire, G. Poggi,
grand, 1992) y otras para la resolucin genrica de A. Rimassa G. JADE A White Paper.
problemas que no han tenido un gran desarrollo. Disponible en: http://jade.tilab.com
[Biswas, 2007] Biswas, Pratik K. Toward
Para una profunda y actualizada comparacin en- Agent-Oriented Conceptualization and
tre las principales metodologas propuestas en la Implementation. Architectural Design of
bibliografa hasta el momento consulte (Numi, Multi-Agent Systems: Technologies and
2005). Para el desarrollo de aplicaciones de reali- Techniques. pp. 1-25. 2007.
dad virtual no se han utilizado ninguna de estas [Brooks, 1990] Brooks, R. A., Elephants Dont
metodologas. Como propuesta inicial los modelos Play Chess, Robotics and Autonomous
BDI seran una buena opcin para una aplicacin Systems, pp. 3-15. 1990.
no tan compleja. Para el desarrollo de una gran [Buckland, 2005] Buckland, Mat. Programming
aplicacin INGENIAS (Gmez, 2002) puede ser la Game AI by Example. Chapter 9: Goal-
mejor opcin. Driven Agent Behavior. Wordware
Publishing. 2005.
Uno de los primeros trabajos en lenguajes de [Corkill, 1991] Corkill. D. Blackboard systems.
agentes fue Agent0 (Shoham, 1993) que acu el BBTech Corporation. 1991. Disponible
trmino programacin orientada a agentes. Otro en: http://www.bbtech.com/papers/ai-
trabajo realizado es el JavaLog (Zunino, 2001), expert.pdf
una unin del Java orientado a objetos con el [Denning, 2005] Denning, Peter J. Is Computer
Prolog, programacin lgica. Science Science? Communications of
the ACMabril de 2005.
54
[Ferber, 1999] J. Ferber Multi-Agent Systems
Addison-Wesley. 1999.
[Franklin, 1996] Franklin, Stan. y Graesser, Art.
Is it an Agent, or just a Program?: A
Taxonomy for Autonomous Agents.
Third International Workshop on Agent
Theories, Architectures, and Languages.
1996. Disponible en: http://www.msci.
memphis.edu/~franklin/AgentProg.html
[Gmez, 2002] Gmez Sanz, Jorge J. MODELADO
DE SISTEMAS MULTI-AGENTE Memoria para
optar al grado de Doctor. Departamento
de Sistemas Informticos y Programacin
Facultad de Informtica Universidad
Complutense de Madrid. Junio 2002.
[IEEE, 2005] Institute of Electrical and
Electronics Engineers (IEEE). Policies and
Procedures. FIPA Standards Committee
(FIPA SC). October 1, 2005. Disponible
en: http://www.jamesodell.com/FIPA_
PandP.pdf
[Ingrand, 1992] Ingrand, F. Georgeff, M. and
A Rao. An architecture for real-time
reasoning and system control. IEEE
Expert, 1992.
[Julin, 1999] V. Julin, V. Botti. Agentes
Inteligentes: el siguiente paso en la
Inteligencia Artificial. NOVATICA Edicin
Especial mayo junio. 1999. Disponible
en: www.ati.es/novatica/2000/145/
vjulia-145.pdf
[Norvig, 1997] Norvig, Peter. y Cohn, David.
ADAPTIVE SOFTWARE. PC AI Pginas: 27
30 Volumen 11, 1997. ISSN:0894-0711.
Disponible en: http://www.norvig.com/
adapaper-pcai.html.
[Numi, 2005] Numi Tran, Q., & Low, G. Agent-
Oriented Methodologies pp. 341-367
Editor: B. Henderson-Sellers & P. Giorigini.
2005.
[Orking, 2002] Orking. Jeff A General-Purpose
Trigger System. AI Game Programing
Wisdom. Editado por Steve Rabin. ISBN:
1-58450-077-8. 2002.