5. Agentes

 

Desde hace algunos años, el concepto de agente es empleado con mucha frecuencia en el ámbito computacional. Puesto que el significado varía de un autor a otro, existen esfuerzos para proveer una mejor definición del término.

 

5.1 Definición

A continuación se presentan algunas de las definiciones de agentes. Nwana [1996] menciona que un agente se puede definir como un programa de computadora que tiene cierto grado de autonomía, se comunica con otros agentes y trabaja en beneficio de un usuario en particular. Laurel [1993] se refiere a agente como el que toma la acción y ejecuta una tarea en beneficio de una persona, ya sea en tiempo real o de manera asíncrona. Riecken [1994] indica que los agentes son una oportunidad de integrar resultados significativos de diversas áreas de investigación y mostrarlos a los usuarios. Señala también, que la idea básica de la investigación en agentes es desarrollar sistemas de software que ayuden a todo tipo de usuarios y se adecuen a sus necesidades.

Se distinguen también diversas características sobre los agentes como autonomía, definición del perfil del usuario y confiabilidad. Sánchez [1997b] menciona que la autonomía se ve representada en dos actividades del agente: el agente trata de lograr sus metas de manera autónoma y trabaja en beneficio de otro con un cierto grado de independencia. Maes [1994] sugiere que el agente "aprende" su comportamiento, observando las acciones del usuario y de otros agentes y es a través del monitoreo de las acciones del usuario que el agente define las características que distinguen a su usuario (el perfil del usuario). Cypher [1991] destaca que las acciones del agente deben poder ser anuladas por el usuario, para que este perciba que en todo momento tiene el control y pueda delegar más tareas a su agente.

Para el desarrollo de esta tesis se adoptan la clasificación de agentes presentada en Sánchez [1997b] por considerla un trabajo completo que se adapta a los objetivos de la tesis. Dicha clasificación se describe a continuación.

 

5.2 Clasificación de agentes

Sánchez [1997b] propone una taxonomía para los agentes, distinguiendo diversas características que los agrupan en tres categorías. Sánchez llama agentes de programador a aquellas abstracciones utilizadas por los computólogos e ingenieros de software para diseñar e implementar sistemas complejos. Las entidades autónomas migrantes que actúan en los nodos de una red en un ambiente distribuido son llamadas agentes de red. Y se refiere a agentes de usuario como las abstracciones que tienen los usuarios finales para interactuar con sistemas computacionales.

 

5.2.1 Agentes de programador

Puesto que la complejidad de los sistemas computacionales ha incrementado, los métodos de representación tradicional de entidades de software y hardware (e.g. diagramas de flujo, diagramas de flujo de datos y modelos de objetos) pueden no ser suficientes. Con el propósito de modelar el proceso ejecutado por la computadora para el beneficio del programador, abstracciones animadas (agentes de programador) pueden ser una mejor representación para explicar el comportamiento de los sistemas.

 

5.2.2 Agentes de red

Los agentes de red, también llamados móviles, son entidades que viajan a través de los nodos de redes computacionales de acuerdo a sus tareas o requerimientos para encontrar los recursos que necesiten. Un agente de red puede comenzar su tarea en un nodo de la red y si los recursos que necesita no se encuentran en dicho nodo, el agente puede viajar al nodo que le provea de dichos recursos y continuar con su tarea. Los agentes de red requieren la autorización de cada uno de los nodos (a los que quiera dirigirse) para poder viajar.

 

5.2.3 Agentes de usuario

La representación explícita de agentes a los usuarios surge de manera natural ya que la mayoría de los usuarios está acostumbrado a atribuir decisiones autónomas o intenciones a los programas de computadora [Sánchez 1997b, Laurel 1993]. Los usuarios pueden enfrentarse a la complejidad de los sistemas viendo los programas como entidades animadas. Es útil considerar tres subclases de agentes de usuario: agentes de información, de tareas y sintéticos.

 

5.2.3.1 Agentes de información

Estos agentes ayudan al usuario a manejar grandes espacios de información que comúnmente se encuentran desorganizados o son muy dinámicos [Sánchez 1997b]. Las grandes bases de datos y el WWW presentan una oportunidad de trabajo para este tipo de agentes. Trabajos relacionados con este tipo de agentes se muestran en Lieberman et al. [1997], [1995], Balavanovic y Shoham [1997] y Wexelblat [1998].

 

5.2.3.2 Agentes de tareas

Ayudar a usuarios en tareas realizas por computadora es la intención de este tipo de agentes. Este tipo de agentes se ejecuta de manera concurrente con las aplicaciones con las que el usuario trabaje para observar su actividad y ofrecerle algunas acciones automatizadas [Sánchez 1997b]. Existen dos clases de agentes de tareas: los que ayudan a un usuario en particular (agentes personales); y los que asisten a un grupo de individuos en tareas colaborativas (agentes de grupo).

 

5.2.3.3 Agentes sintéticos

Estos agentes crean ambientes para usuarios introduciendo caracteres vivientes en interfaces de computadora [Sánchez 1997b]. Es por esta característica que son populares en áreas como el entretenimiento.

Actualmente existe mucho trabajo de investigación relacionado con agentes de información. Algunos trabajos se presentan a continuación puesto que su enfoque es de interés para el trabajo de esta tesis.

 

5.3 Yenta

El propósito de Yenta es encontrar grupos de gente con intereses similares, dentro de Internet, reunirlos y formar alianzas y grupos de interés [Foner 1997]. Esto se logra utilizando un sistema multi-agentes y una arquitectura descentralizada de agente a agente.

Los agentes que llevan a cabo este sistema de "compaginación" se encuentran inmersos en un ambiente distribuido, se agrupan entre ellos en grupos (clusters) que reflejan usuarios con intereses similares; utilizan estos clusters para presentar a los usuarios que pertenecen a él o para mandar mensajes entre ese grupo de usuarios. Estos agentes utilizan referencias de un agente a otro para localizar a los usuarios.

Foner menciona que entre las principales razones de lograr ese objetivo están: utilizar el gran potencial de colaboración que Internet puede ofrecer, encontrar expertos (sin consumir mucho tiempo en la búsqueda) y mostrar qué gente puede estar trabajando en proyectos similares.

 

5.4 Let's Browse

Como en otros medios (por ejemplo la televisión), la navegación en Internet puede ser realizada por grupos de gente [Lieberman et al. 1997]. Let's browse muestra como un agente puede asistir a un grupo de gente en su navegación, sugiriéndoles materiales nuevos que puedan ser de interés común entre ellos.

Este trabajo es una extensión del agente Letizia [Lieberman 1995], el cual selecciona páginas de Web. Letizia inicia una búsqueda por niveles, visita las ligas que encuentra a partir de la página que su usuario esté revisando y selecciona aquellas que sean similares a los intereses que ha aprendido de su usuario (observando su navegación). Posteriormente muestra sus recomendaciones en un "canal de navegación".

El trabajo del agente consiste en seleccionar, de la misma forma que Letizia lo hace, aquellas páginas que mejor satisfagan los intereses de todos los participantes. Las características de Let’s browse son la detección automática de la presencia de usuarios, navegación automática (en canal de navegación), el despliege dinámico de las preferencias de los usuarios y la explicación de las recomendaciones. Permite además revisar las páginas desde el punto de vista de otra persona (con sus preferencias) y así estimar cual sería su posible opinión acerca de dicha página, aún cuando aquella persona no la haya revisado anteriormente.

 

5.5 Friend of a friend finder

Minar et al. [1998] toman como punto de partida que las redes entre amigos son la base de la sociedad, ya que los amigos proveen recomendaciones, contactos (con otras personas) y el sentido de vivir en comunidad. Friend of a friend finder (FFF) es un agente que lleva el registro de los amigos del usuario, por ejemplo, quién está en su directorio o con quién se reúne. Los agentes de los amigos se comunican, un agente pregunta al agente del amigo de su usuario y este a su vez pregunta al agente de un amigo de su usuario, de ahí forman una red de conexiones entre amigos para responder cualquier pregunta que el usuario pudiera plantearle. La comunicación entre los agentes no viola la privacidad de los participantes.

El análisis y el estudio de los conceptos descritos en estos capítulos sirven de base para el diseño de una aplicación que los integra. El contexto es la Biblioteca Digital Florística, el problema es ofrecer una solución para incrementar la colaboración y creación de grupos de usuarios dentro de ésta.

 

[índice] [figuras] [1] [2] [3] [4] [5] [6] [7] [8] [Referencias] [A] [B] [C]

Fernández Ramírez, M. L. 1998. Ágora: Creación de grupos virtuales en bibliotecas digitales. Tesis Licenciatura. Ingeniería en Sistemas Computacionales. Universidad de las Américas-Puebla. Diciembre.
© copyright 1998, Missouri Botanical Garden & UDLA