2. DEFINICIÓN Y CLASIFICACIÓN

Definición:

Hípola y Vargas-Quesada (1999) definen agente inteligente “como una entidad software que, basándose en su propio conocimiento, realiza un conjunto de operaciones destinadas a satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se lo requiere.”

Otra definición que se ajusta al concepto de agentes inteligentes es la dada por Jiménez y Ramos (2000) para los que un agente inteligente es:

“Pieza de software que ejecuta una tarea dada utilizando información recolectada del ambiente, para actuar de manera apropiada hasta completar la tarea de manera exitosa. El software debe ser capaz de auto-ajustarse basándose en los cambios que ocurren en su ambiente de forma tal que un cambio en las circunstancias producirá un resultado esperado.”

En resumen, el objetivo de un agente es el de trabajar en beneficio de los usuarios que utilicen los ambientes donde ellos se desenvuelven, así como de aprender de lo que anteriormente ya ha realizado en ese ambiente y de su interacción con otros agentes que estén trabajando en su ambiente.

Características:

- Autonomía: el agente inteligente actúa sin ningún tipo de intervención humana directa y tiene control de sus propios actos.

- Capacidad de reacción o reactividad: los agentes pueden detectar cambios en su entorno y reaccionar ante ellos.

- Adaptabilidad: es una consecuencia directa de la característica de reacción, ya que los cambios producidos por el entorno provocan que los agentes se estén continuamente adaptando a dichos cambios.

- Comunicación o sociabilidad: el agente es capaz de comunicarse por medio de un lenguaje común con otros agentes e incluso con las personas.

- Iniciativa o pro-actividad: el agente tiene un propósito u objetivo determinado y emprende las acciones necesarias hasta conseguirlo.

- Continuidad temporal: los agentes no sólo realizan ejecuciones en un momento determinado sino que, desde su creación, pasan a un estado de espera hasta cualquier evento provocado por otro agente o usuario, o cualquier cambio producido en el entorno les haga reaccionar.

Las características anteriores son fundamentales, pero a su vez los agentes inteligentes pueden presentar otras peculiaridades tales como, cooperación (capacidad de interactuar con otros agentes), movilidad (de un sistema a otro para acceder a recursos remotos o reunirse con otros agentes), benevolencia (disponibilidad para ayudar a otros agentes cuando no entre en conflicto con sus propios objetivos).

Un agente inteligente esta diseñado especialmente para prestar servicio al usuario con el que se comunica a través de consultas, y para ello posee al menos unos de los siguientes elementos:

- Capacidad de proceso: es capaz de descomponer las consultas en subconsultas y asociar los términos resultantes de esta operación con otros afines.

- Conocimiento del entorno donde se mueve: un agente debe saber en todo momento a qué información acceder o a qué otro agente dirigirse para obtener esta información.

Clasificación:

Existen multitud de clasificaciones o taxonomías que hacen referencia a los agentes inteligentes dependiendo del contexto en el que se ubiquen. A continuación se exponen dos taxonomias:

La primera clasificación es la de Hyacinth Nwana (1996) una de la mas extendidas y referenciadas en la bibliografía consultada, aunque resulta un poco confusa puesto que las categorías se solapan.

Clasificación de agentes (Nwana, 1996)

1. Agentes de interfaz: apoyan y dan asistencia, principalmente al usuario, para que aprenda a utilizar una aplicación particular, estos agentes interactúan con el usuario de forma gráfica, de este modo el usuario no tiene porqué conocer todos los procesos que el agente lleva a cabo, solo los resultados que este le proporciona. Esto permite a los agentes tener un cierto grado de autonomía con respecto a los usuarios. Aprenden tanto del usuario como de otros agentes. De los usuarios aprenden cuando se lleva a cabo una de las siguientes situaciones:

· Reciben instrucciones explícitas del usuario.
· Reciben reacciones positivas y/o negativas.
· Observando e imitando las acciones realizadas por el usuario.

Y de los otros agentes aprende cuando:

· ?Preguntan a otros agentes para colaborar con ellos y así llevar a cabo su objetivo.

2. Agentes colaborativos o coopertativos: en estos agentes se acentúan las características de autonomía y cooperación con otros agentes, así como una capacidad de negociación para realizar tareas de manera conjunta. Se usan en un sistema donde los agentes desarrollados de manera separada presenten una funcionalidad solamente obtenida gracias a su trabajo en conjunto.

3. Agentes móviles: son procesos capaces de viajar por las WAN y la WWW, interactuando con otros equipos reuniendo información en beneficio de su propietario y regresando de vuelta después de haber ejecutado las tareas asignadas por su usuario y así, informar de los resultados.

4. Agentes de información: esta tecnología surge como respuesta de los retos que plantea la recuperación de la información en la WWW. Estos agentes cumplen con el papel del manejo, de la manipulación o la recopilación de la información que se encuentran en diferentes fuentes distribuida para dar una respuesta relevante a las cuestiones planteadas por el usuario

5. Agentes reactivos: responden a estímulos del entorno en el que se encuentran, no poseen un modelo simbólico de su entorno

6. Agentes híbridos: Estos agentes son la combinación de dos o mas filosofías dentro de un agente simple (móvil, interfaz, colaborativo, etc.). De este modo se maximizan las habilidades del agente y se minimizan las deficiencias de los diferentes tipos.


Una vez expuesta esta clasificación general nos vamos a centrar en los agentes de información que son los más útiles en el campo de la documentación. Carrascosa, Julián y Rebollo (2001) proponen una clasificación de los agentes de información dividiéndolos según su función. Se habla de agentes de búsqueda, agentes de filtrado y agentes de monitorización. Veamos una breve descripción de cada uno de ellos:

- Agentes de búsqueda: Son los más conocidos y actúan como si fueran auténticos gestores de la información puesto que buscan, recuperan y proporcionan información.
Permiten al usuario buscar información en servidores de una red (tanto en Internet como en una Intranet).
Las ventajas que proporcionan estos agentes son:

- Facilidad de uso
- Cuando el usuario sabe lo que quiere puede obtener más resultados.
- Asimismo el resultado será más preciso, con menos ruido.
- Se reduce la sobrecarga que se genera por los procesos de búsqueda.

- Agentes de filtrado: agentes que, mediante el borrado de los datos no deseados, se ocupan de la sobreabundancia de información.
Este tipo de agente es capaz de almacenar, aprender y manipular las preferencias y gustos de cada usuario, así como sus cambios.
La tarea de un agente de filtrado consiste en precisar si un documento es relevante o no para un determinado usuario basándose en el perfil de usuario.

- Agentes de monitorización: agentes encargados de alertar al usuario cuando sucede un determinado evento que le pueda resultar de interés.
Los agentes de monitorización se pueden considerar como un software localizado en un determinado servidor que se encarga de descubrir y notificar eventos interesantes especificados previamente por el usuario.

En base a esta clasificación, vamos a ver algunos ejemplos de agentes inteligentes.