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.