Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
25
¿Qué son los Agentes Inteligentes de Software?
M.C. Luis Ernesto Mancilla Espinosa1
Introducción
En esta era de grandes avances, la
tecnología juega un papel trascendental;
los científicos se preocupan por el
desarrollo de nuevas teorías que les
permitan a los ingenieros crear técnicas
y herramientas de apoyo para una vida
más sencilla y práctica. En el área
computacional, los expertos se están
dedicando al diseño, creación e
implementación de sistemas inteligentes,
que permitan una mejor interrelación con
el usuario. Los avances propuestos por
las ciencias computacionales son muy
útiles ya que al relacionarse con otras
áreas proveen la simplificación de
algunas actividades.
Una rama de las ciencias
computacionales, que está tomando
1 Ingeniero en Comunicaciones y Electrónica, es Maestro en Ciencias en Ciencias de la Computación y actualmente es Candidato a Doctor en Ingeniería especialidad en Mecatrónica. Es profesor de la Maestría en Ciencia en Ciencias de la Computación. [email protected]
mucho auge en la actualidad es la
Inteligencia Artificial, y dentro de ella se
encuentra el área de Agentes
Inteligentes, que está dedicada a la
creación de sistemas que permitan la
optimización de actividades humanas así
como emular el comportamiento humano
aportando un grado más de inteligencia a
la experticia de sistemas que están
simplificando y optimizando actividades
en las cuales no habían sido capaces de
implementarse.
En el artículo abordamos el
estudio de los agentes inteligentes, su
historia, clasificación y sus aplicaciones.
Inteligencia Artificial y Agentes Inteligentes
En las últimas décadas la inteligencia
Artificial ha tomado un papel relevante
en nuestras vidas, está enfocada en crear
una forma de programación no
convencional, que mediante reglas
prácticas y procedimientos heurísticos
haga que las máquinas se comporten de
una manera inteligente y sean capaces de
discernir.
Podemos definir a la Inteligencia
Artificial, nombrada por John MacCarty,
como el campo de las ciencias
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
26
computacionales que trata de mejorar el
desempeño de las computadoras al
dotarlas de características asociadas con
la inteligencia humana, como la
capacidad de entender el lenguaje
natural, o de razonar bajo condiciones de
incertidumbre para tomar las mejores
decisiones.
Desde su surgimiento hasta
nuestros días, la Inteligencia Artificial ha
transitado por grandes etapas, desde la
implementación de juegos en
computadora, demostraciones de
teoremas, pasando por el surgimiento de
nuevas técnicas como Robótica;
Procesamiento de Lenguaje Natural;
Reconocimiento de Patrones; Sistemas
Expertos; Tutores Inteligentes; Redes
Neuronales; Manipulación Inteligente de
Base de Datos; Web Inteligentes;
Minería de Datos; Programación
Automática; Visión Computarizada hasta
llegar a los Agentes Inteligentes (Blanco,
2002).
¿Qué son los agentes? Un Agente,
de manera general, es todo aquello que
puede considerarse que percibe su
ambiente mediante sensores y que
responde o actúa en tal ambiente
mediante efectores (Russell,1996).
De esta manera es posible
encontrar diversos tipos de agentes,
entre ellos los agentes humanos, en los
que los cinco sentidos sirven de sensores
y las extremidades sirven de efectores;
los agentes robóticos, en el que los
sensores son suplantados por cámaras de
video y los efectores son ciertos
mecanismos; y los agentes de software,
que son un programa de computación
que se ejecuta en un ambiente y realiza
acciones dentro de éste para alcanzar las
metas para las cuales fue diseñado y sus
percepciones y acciones están dadas por
instrucciones de programas en algún
lenguaje en particular. (Franklin 1996).
Figura 1. Diagrama de Agente en interacción con el ambiente. [Russell,1996].
Figura 2. Diagrama de tipos de Agentes. [Franklin 1996]
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
27
La cuestión de qué es un agente
(Foner, 1993), está aún siendo debatida
al correr el riesgo de que cualquier
programa sea denominado agente
(Franklin, 1996). Se pueden distinguir
dos nociones extremas de agentes
(Wooldrige, 1995):
• Una noción débil de agente
consiste en definir un agente como a una
entidad que es capaz de intercambiar
mensajes utilizando un lenguaje de
comunicación de agentes. Esta definición
es la más utilizada dentro de la ingeniería
software basada en agentes, cuyo fin es
conseguir la interoperabilidad entre
aplicaciones a nivel semántico utilizando
la emergente tecnología de agentes.
• Una noción más fuerte o
restrictiva de agente es la enunciada por
Shoham, en su propuesta de
programación orientada a agentes (AOP),
donde un agente se define como una
entidad cuyo estado es visto como un
conjunto de componentes mentales, tales
como creencias, capacidades, elecciones y
acuerdos. (Shoham, 1993)
Un tipo de agente de software
muy particular son los Agentes Inteligentes,
de los que hablaremos más tarde. Antes
de abordar a los agentes inteligentes, es
importante considerar el papel de la
inteligencia, la razón de esto es que al
partir de una base conceptual que soporte
los mecanismos del comportamiento
inteligente, tales como son el uso
adecuado del conocimiento y la capacidad
de razonamiento, permitirá proporcionar
inteligencia a los agentes de software.
El Rol de la Inteligencia
La inteligencia es la capacidad de
reconocer estructuras y resolver
problemas en situaciones análogas y
modificarlas para lograr algún objetivo,
haciendo uso del conocimiento, la mente y
la inteligencia han resultado ser
elementos muy difíciles de entender
completamente y por esta razón han
surgido varias explicaciones basadas en
teorías. Cada una de estas teorías
explicativas, ha dado origen a algún
movimiento filosófico en particular, y
dentro de cada uno de ellos se produce
una definición y clasificación del
conocimiento a partir de los principios
que apoyen. (Ramos, 1997)
Es claro que la base sobre la cual
se sustenta la inteligencia es el
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
28
conocimiento. Y definir este concepto no
es sencillo dada su complejidad. Una
definición de conocimiento más completa
(McGraw, 1989), menciona que es un
conjunto de descripciones, relaciones y
procedimientos, tales como: descripciones
simbólicas de conceptos, descripciones
simbólicas de relaciones y
procedimientos para manipular ambos
tipos de descripciones. Es la inteligencia,
la característica que se agrega a los
agentes de software para convertirse en
agentes inteligentes.
Agentes Inteligentes
Se considera a los Agentes Inteligentes
como una 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. (Gilbert, 1995)
Los Agentes Inteligentes son
racionales, es decir, hacen lo correcto. Lo
correcto es lo que le permite al agente
obtener el mejor desempeño. Para
evaluar el desempeño es necesario decidir
cómo, que es el criterio que sirve para
definir qué tan exitoso ha sido un agente
en la consecución de los objetivos para el
cual fue programado, ésta medida se
establece como una norma por parte del
diseñador y la comparación contra la
misma, permite determinar la satisfacción
de desempeño del agente; y cuándo
medir dicho desempeño que se refiere al
tiempo empleado en la realización de la
tarea que se considere aceptable,
dependiendo del ambiente de acción.
Los Agentes Inteligentes
proporcionan una técnica para resolver
problemas actuando en representación
del usuario, para realizar diversas tareas
tales como, búsqueda y filtraje de
información, automatización de tareas,
etc. Y en la actualidad son objeto de
estudio por disciplinas como la
psicología, sociología y en algunas otras
ramas de las ciencias sociales.
Breve evolución de los Agentes Inteligentes
Los estudios de Agentes Inteligentes
comienzan cuando se adquiere la
capacidad de representar simbólicamente
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
29
aspectos del mundo real, (Physcal Symbol
System Hypotesis), para tener un
comportamiento inteligente, que se
identifica con la utilización del
razonamiento lógico explícito para decir
que es lo que se tiene que hacer. Entre
1984 y 1985, surgen problemas con el
razonamiento simbólico creando así los
primeros agentes reactivos; y es hasta
1990 cuando comienzan a aparecer
algunas arquitecturas híbridas
estratificadas por capas, que simulan los
primero agentes inteligentes. (Antoine,
2003)
General Magic en 1990 fue la
primera compañía en invertir en
tecnología de agentes para construir un
sistema basado en agentes para
dispositivos portátiles. Fue llamada
“Telscrip” y lo utilizó Motorola y AT&T.
(Lawton, 1996). Más tarde Telscrib
evoluciona en “Tabriz AgentWare”, que
desarrolló para trabajo en servidores en
Internet.
Lo que se pretendía con la
tecnología de agentes era lograr un gran
parecido con la actividad humana y una
gran capacidad de raciocinio, se creó el
lenguaje de manipulación y consultas de
conocimiento (KQLM), que funciona para
compartir conocimiento y comunicación
entre los mismos agentes.
En 1995, con Windows 95 y las
interfaces gráficas, nace Microsoft Agent.
Posteriormente al tomar más auge el
lenguaje java, con su plataforma
independiente, dio más seguridad al
desarrollo de agentes móviles.
Genesereth propone los agentes
como un medio de integración del
software. Los agentes encapsulan los
programas y mediante la definición de
unas primitivas, permiten el intercambio
de órdenes y datos entre los programas.
(Genesereth 1992). La principal
diferencia del enfoque de agentes es la
flexibibilidad de la comunicación, que se
basa en la existencia de una ontología
compartida por las aplicaciones definida
en un lenguaje de representación del
conocimiento denominado KIF (Formato
de Intercambio del Conocimiento;
Knowledge Interchange Format) y un
lenguaje y protocolo para definir las
primitivas de comunicación denominado
KQML (Lenguaje de manipulación y
consulta de conocimiento; Knowledge
Query and Manipulation Language)
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
30
Características y Clasificación de los agentes
Puede encontrarse un sinfín de
definiciones de agente y lo que apoya a
estas son las características que posee
dicho agente y también contribuyen a
que un agente pertenezca o no a una
clasificación. A continuación se citan las
características más importantes de los
Agentes Inteligentes (Russell, 1996)
• Autonomía. Un agente opera
sin la intervención directa de un
humano, además tiene control
sobre sus acciones y su estado
interno.
• Habilidad Social. Capacidad
para interactuar con otros
Agentes Inteligentes o el
usuario humano.
• Reactividad: perciben el
entorno y responden en un
tiempo razonable a los cambios
que ocurren en el.
• Pro actividad: los agentes
pueden reaccionar por iniciativa
propia sin necesidad de que el
usuario tenga que activarlo.
• Orientación hacia el objeto
final. Divide su tarea compleja
en varias actividades pequeñas
para así poder lograr la meta
compleja.
• Racionalidad. El agente
siempre actuará para lograr sus
metas y nunca actúa de forma
que evite la consecución de las
mismas
• Adaptabilidad. El agente debe
ser capaz de ajustarse a los
hábitos, formas de trabajo y
necesidades del usuario.
• Colaboración. El agente debe
ser capaz de determinar
información importante ya que
el usuario puede proporcionar
información ambigua.
Los Agentes Inteligentes son
Racionales. Utilizan el razonamiento
basado en el conocimiento, suelen
considerar una base de conocimiento, que
incorpora una serie de hechos y reglas, de
los cuales se valdrá de un “motor” de
inferencias.
Al hablar de un Agente Racional
Ideal, existe un elemento al que hay que
prestarle atención y es la “Parte de
Conocimiento Integrado”, Si las acciones
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
31
que emprende el agente se basan
exclusivamente en un conocimiento
integrado, con lo que se hace caso omiso
de sus percepciones, se dice que el agente
es autónomo. El Auténtico Agente
Inteligente Autónomo debe ser capaz de
funcionar satisfactoriamente en una
amplia gama de ambientes, considerando
que se le da tiempo suficiente para
adaptarse.
Una vez que se ha revisado las
características de los agentes se permite
clasificarlos, ya que es posible encontrar
bastantes, como se ve en la figura 3; sin
embargo, es necesario reclasificarlos para
su mejor comprensión.
Figura. 3 Tipología de Agentes (KE Magazine, 1996)
A continuación describiremos, de
manera general, una clasificación de los
Agentes Inteligentes en base la relación
existente entre percepciones y acciones,
la aplicación a la que sirven, y
características especiales.
Clasificación dependiendo de la relación entre percepciones y acciones
• Agentes de Reflejo Simple.
Actúa encontrando una regla cuya
condición coincida con la
situación actual (definida por la
percepción) y efectuando la acción
que corresponda a tal regla.
• Agentes Bien Informados de
todo lo que Pasa. Actualiza
constantemente la información
que le permita discernir entre
estados del mundo y su evolución;
además de necesitar conocer como
las acciones del propio agente
están afectando al mundo; así se
mantiene informado acerca de
esas partes no visibles de él.
• Agentes Basados en Metas. Es
sencillo cuando con una sola meta
se alcanza con una acción. Debe
ser flexible con respecto a
dirigirse a diferentes destinos, ya
que al marcar un nuevo destino,
se crea en el agente una nueva
conducta.
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
32
• Agentes Basados en Utilidad.
La utilidad es una función que
correlaciona un estado y un
número real mediante el cual se
caracteriza el correspondiente
grado de satisfacción.
Clasificación de acuerdo al del tipo de aplicación
• Agente de interfaz o usuario.
Funciona como un asistente
personal, sus características
principales son: la autonomía y el
aprendizaje. Enseñan al usuario a
utilizar una aplicación en
particular, poseen una base de
conocimiento donde almacena el
conocimiento adquirido por el
usuario o por otros agentes
• Agentes de Búsqueda. No son
simplemente técnicas de
búsqueda, sino que tienen que
interpretar patrones de búsqueda.
Debe ser capaz de crear
información útil para el usuario a
partir de pedazos de información.
• Agentes de Monitoreo. Estos
avisan a los agentes de interfaz
sobre algún cambio en el
contenido de alguna página Web.
• Agentes de Filtrado. Trabaja en
base al perfil definido por el
usuario. Interactúa el de
monitoreo para tener siempre
actualizada la información de la
Web como de los intereses del
usuario.
Clasificación de acuerdo a características especiales
• Agentes Deliberantes o
Proactivos. Son agentes que
poseen mucho conocimiento del
entorno en el que se encuentran y
son capaces de crear nuevos
planes y adelantarse a lo que va a
ocurrir en su entorno. En esta
clasificación encontramos el
modelo BDI (Belief, Desire,
Intention) y BVG.
• Agentes Reactivos. Son sistemas
estímulo-respuesta que actúan a
partir de la observación directa y
continua del entorno. Se adaptan
perfectamente a los entornos
dinámicos ya que no tienen que
actualizar ninguna representación
interna del entorno como los
agentes BDI.
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
33
• Agentes Estacionarios. Son un
tipo de agente que no poseen la
capacidad de desplazarse y salir
del entrono.
• Agentes Móviles. Son agentes
que tienen la capacidad de
desplazarse a través de una red;
de esta forma cambian el entorno
en el que se ejecutan. Se reduce el
consumo de recursos en la
máquina en la que se encontraba
inicialmente el agente.
Estructura y Construcción de los Agentes Inteligentes
Para realizar una correcta
implementación de los agentes
inteligentes es necesario conocer su
estructura interna. Ésta contiene, como
lo muestra la figura 4, dos partes
fundamentales, la arquitectura y el
programa de agente; obedeciendo a la
ecuación:
Agente = Programa de Agente +
Arquitectura
Figura 4 . Esquema de un agente inteligente[Russell, 1996]
La arquitectura se refiere la parte
Hardware (sensores y efectores) que
están entre el entorno y el Programa de
Agente; proporciona al programa las
percepciones del entorno que se obtienen
a partir de los sensores e indica a los
efectores los comandos asociados a las
acciones que tienen que ejecutar. Para
ejemplificarla podemos mencionar una
computadora, una cámara, un brazo
robótico u otro dispositivo que funcione
como sensor.
El programa de agente es la parte
Software que se encarga de procesar las
percepciones obtenidas a partir de los
sensores para determinar qué acciones
deben ejecutar los efectores. Procesa la
información que proviene de los sensores
Sensores
Efectores
Ambiente A R Q U I T E C T U R A
Programa de Agente
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
34
para determinar la acción más adecuada
en cada momento.
La parte más importante de la
estructura para el desarrollo del sistema
de agente planteado en esta investigación
es sin duda el diseño del programa de
agente, para esto es necesario tomar en
cuenta puntos como el entorno en el que
se desarrollará, las percepciones que se
obtienen del ambiente, las acciones que
realizará el agente y los objetivos que
debe alcanzar el agente. Podemos
mencionar una serie de pasos para la
construcción de un programa de agente:
1. Analizar el tipo de problema que
vamos a tratar para poder definir
claramente el problema.
2. Definir el entorno, las
percepciones, las acciones y las
metas
3. Representar el conocimiento
definiendo una técnica de
representación
4. Diseñar el agente con la base de
conocimiento y el mecanismo de
inferencia respectivo.
5. Realizar las pruebas
correspondientes.
Hablando en términos de
programación, existe también un
programa esqueleto de agente, en el que
de manera general se establece las
funciones que realizará el agente
inteligente de manera interna ([Russell,
1996). El programa esqueleto es:
1. function AGENTE-
ESQUELETO(percepción)
returns acción
2. static: memoria, memoria del
agente respecto a su entorno
3. memoria <= ACTUALIZAR-
MEM(percepción, memoria);
4. acción <= ELEGIR-MEJOR-
ACC(memoria);
5. memoria <= ACTUALIZAR-
MEM(acción, memoria)
6. returns acción
En este caso, cada vez que se pida,
se actualiza la memoria para que refleje la
nueva percepción, se escoge la mejor
acción y también se consigna en la
memoria la acción realizada. La memoria
persiste de una actualización a otra. Es
posible agregar una función llamada,
margen de error, en la que el agente
pueda evaluar si la acción es correcta o
qué grado de satisfacción se está
brindando al usuario, y dependiendo de
esto se agregue o no a la memoria. Podría
agregarse antes de la última actualización
de la memoria. Esta función no es tan
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
35
necesaria pero proporcionaría una mayor
ventaja al programa de agente.
Para el desarrollo y construcción
de Agentes (Jiménez, 2002), es
recomendable utilizar métodos similares
a los utilizados comúnmente en
desarrollo de Ingeniería de Software y
Sistemas de Información. (Jiménez,
2002). De esto se desprende que los
procesos a ejecutar son los típicos
Análisis, Diseño, Implantación y Prueba.
A continuación, se presenta un Método
para el desarrollo y construcción de
agentes inteligentes. Esto no es más que
un conjunto de pasos estructurados, a los
cuales no se asocian herramientas
específicas para la ejecución de sus pasos
pues se considera que la elección de una u
otra herramienta para uno u otro paso
del método dependerá de las condiciones
específicas del problema que se pretenda
resolver, así como de los recursos con los
que se cuente.
1. Definición del Problema del
Agente. Se establece una
conceptualización amplia y clara del
problema que se pretende resolver con el
uso de agentes inteligentes, se identifica
el problema; se realiza un análisis del
mismo y finalmente se hace una
construcción del modelo conceptual de la
situación.
2. Adquisición y Representación
del conocimiento. Se genera una
representación de este modelo conceptual
en términos de conocimiento, la cual sea
transportable al medio computacional. Se
realiza primero la adquisición del
conocimiento definiendo las
percepciones, las acciones, los objetivos,
las metas y el ambiente. Como segunda
actividad se realiza la representación del
conocimiento, haciendo un análisis del
conocimiento adquirido, una selección del
esquema de representación y finalmente
la representación del conocimiento.
3. Diseño del Agente. Esta etapa
del proceso es muy importante pues es la
que corresponde con el diseño de la
solución en el método clásico de diseño y
construcción de sistemas de información,
y en el que se pretende generar un
modelo del agente, que sea
computacionalmente aplicable. Para
lograr esto, el proceso se divide en el
Diseño de la Base de Conocimiento, el
Diseño del Motor de Inferencia o Motor
de ejecución, el Diseño de la Interfaz y el
Diseño del Lenguaje de Comunicación.
4. Implantación del Agente. Se
enfoca en la construcción computacional
del agente inteligente diseñado, que no es
más que la implantación del diseño
obtenido en el proceso previo. Se realiza
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
36
un análisis y selección de herramientas de
Implantación, la implantación del
Agente, la implantación de la Base de
Conocimiento, la implantación del Motor
de Inferencia o de ejecución, la
implantación de la Interfaz y la
implantación de la Comunicación.
5. Prueba del Agente. Se realiza
una validación del agente construido, en
el cual se verifica y ajusta el
funcionamiento de dicho agente, en
función de los requerimientos y la
situación analizada en el primer proceso
planteado. Inicia con el Diseño de
pruebas, se hace la aplicación de las
mismas y finalmente se depuración el
Agente.
Aplicaciones y ejemplos de Agentes Inteligentes
Como ya hemos visto los Agentes
Inteligentes son metodologías que están
tratando de simplificar las actividades
cotidianas de las personas en donde sea
que se desenvuelven por lo que
encontramos diversas aplicaciones, que
van desde la investigación hasta
aplicaciones empresariales, pasando por
áreas comerciales, de salud, académicas,
financieras etcétera.
Aplicaciones Generales
Dentro del entorno
computacional, se pueden identificar ocho
áreas de aplicación de los Agentes
Inteligentes (Jiménez 2000).
Administración de Redes y
Sistemas
Los usuarios de los ambientes
cliente/servidor requieren de
herramientas de gestión extremadamente
simplificadas, para poder encarar la
creciente complejidad. En el área de
administración de redes y sistemas los
agentes han existido por varios años,
pero más como funciones fijas que como
agentes inteligentes. Sin embargo,
pueden ser utilizados para mejorar los
softwares de gestión y administración de
sistemas, ayudando en el filtrado de
información y en la ejecución de acciones
automáticas bajo un alto nivel de
abstracción; incluso pueden utilizarse en
la detección de patrones en el
comportamiento del sistema, y en la
consecuente reacción basada en estos, así
como en la administración dinámica de
grandes configuraciones.
Acceso remoto y administración.
Con la evolución de la computación hacia
los ambientes de redes los usuarios
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
37
exigen cada día una mayor movilidad, es
decir, una mayor y mejor capacidad de
conexión remota. Agentes Inteligentes
ubicados en la red pueden despojar los
requerimientos de los usuarios de las
perturbaciones de esta, además de lo cual
pueden procesar datos en su origen y
llevar sólo la estrictamente requerida al
usuario. Debido a la gran difusión que
han tenido los dispositivos móviles; como
ejemplo de estos agentes móviles
tenemos: Aglets Workbench de IBM,
ARA(Agents Remot Action ), MOA(Mobile
Objects Agents), Java Agent Template, entre
otros. (Perez 2000 )
Correo y mensajería
El software de manejo de mensajes ha
existido por algún tiempo, y es un área
donde actualmente se utilizan los
Agentes Inteligentes ya que pueden
facilitar todas estas funciones
proporcionando reglas para la
manipulación de mensajes que pueden
especificarse a través del tiempo, y que
permiten que el agente actúe como
intermediario del usuario. Además, es
posible que el agente deduzca estas
reglas estableciendo patrones en base a la
observación del comportamiento del
usuario. Como ejemplo podemos
mencionar a los agentes de filtrado, que
utilizan técnicas de filtrado y aprendizaje
máquina para filtrar mensaje escritos.
(Baldassin, 1996).
Recuperación y manejo de
información
En esta área los agentes están ayudando
a los usuarios no sólo a buscar y filtrar la
información, sino también a
categorizarla, priorizarla, diseminarla
selectivamente, añadirle anotaciones y
compartirla bajo criterios colaborativos.
Colaboración
En esta área los componentes comunes
son: trabajo en grupo y recursos
compartidos. Los usuarios no sólo
requieren de una infraestructura que les
permita el compartir los recursos de
forma robusta y escalable, sino que
también requieren de otras funciones que
les permitan crear y gerenciar equipos
colaborativos, así como los productos por
ellos generados. Es aquí donde se halla
un territorio amplio para el uso de
agentes inteligentes. En muchos de los
casos la teoría de agentes no sólo se ha
utilizado en aplicaciones, sino que además
ha habido avances en cuanto a la misma
creación de teoría como es el caso de una
investigación donde se pretende
construir una estructura de
experimentación de agentes autónomos,
permitiendo una instalación en diferentes
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
38
ambientes, además de proporcionar un
conjunto de herramientas para describir
y controlar diversos tipos de agentes.
(Moniz 1994)
Workflow y gestión
administrativa
La gestión administrativa incluye áreas
como la administración de workflow y la
integración computacional y telefónica,
donde los usuarios necesitan hacer sus
procesos más eficientes y reducir el costo
de los agentes humanos que intervienen.
Es evidente que en esta área el uso de
Agentes Inteligentes puede permitir
deducir patrones en los procesos, así
como automatizarlos.
Comercio electrónico
Los Agentes Inteligentes pueden ayudar
en el comercio electrónico de diversas
formas. Los agentes pueden “ir de
compras” tomando las especificaciones
del usuario y regresando con
recomendaciones de compras que
cumplan estas especificaciones, también
pueden actuar como agentes de ventas y
promotores de productos y servicios
para los usuarios, y también pueden
ayudar a los clientes a resolver sus
problemas. Un ejemplo es el proyecto
SMarket, donde se construye un sistema
multiagente para las compras en línea,
donde el comprador será representado
por el agente comprador y el negocio
estará representado por el agente
vendedor, cada uno de los agentes esta
representado por una base de
conocimiento, interacciones, reglas
heurísticas, creencias y las relaciones con
ciertos estados. (Almeida, 1996). En el
aspecto financiero se desarrollan métodos
usados para diseñar sistemas de
predicción concentrándose en el
desarrollo de los sistemas basados en
agentes artificiales que puedan controlar
ciertos puntos financieros que puedan
afectar a una organización. (Sthephens,
1999)
Interfaces de usuario adaptativas
A pesar de la masificación de su uso, las
computadoras siguen siendo para la
mayoría de las personas herramientas
difíciles de manejar. Al incrementarse las
capacidades y aplicaciones
computacionales, las interfaces de
usuarios deben absorber este aumento de
complejidad, y, puesto que la población
de usuarios se incrementa y diversifica,
también deben ser capaces de adaptarse a
las individualidades aprendiendo y
reflejando sus hábitos y preferencias. Los
Agentes Inteligentes pueden utilizarse
para afrontar todos estos problemas
permitiendo a los sistemas monitorear las
acciones de los usuarios, desarrollar
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
39
modelos de las habilidades del usuario, y
ayudando automáticamente cuando
surgen problemas. Como el caso de los
agentes que enseñan al usuario a utilizar
una aplicación en particular, poseen una
base de conocimiento donde almacena el
conocimiento adquirido por el usuario o
por otros agentes, la información la envía
en mensajes de texto utilizando el KQML
(Knowledge and Query Manipulation
Language)[Pereira 2000].
Los juegos de computadora
también se relacionan con los agentes
como el caso de la implementación de
agente como una especie de
componentes, o amigos, controlados por
la computadora como humanos, esos
personajes podrían tener sistemas
completos o parciales de sensado visual,
auditivo, táctil, olfativo, y gusto. La
información sensada por esos sistemas
podría procesarse en un módulo de IA, el
cerebro, para actuar, aprender, y
reaccionar dependiendo de la
personalidad, sentimientos y necesidades
de cada personaje. Esto es conocido como
un synthetic character que vive en un
mundo virtual o agentes autónomos se
encarga de investigar el uso de los
sentidos combinados con técnicas de IA
con el objetivo de crear personajes con
comportamientos realistas. Esas técnicas
tienen la intención de forjar una
personalidad, usando memoria
cognoscitiva, sistemas basados en reglas,
y demás para producir agentes que
aparentan estar vivos e interactúan en su
propio mundo, quizás también
interactuando con humanos de la vida
real. (Sebastian, 2002)
Las ciencias naturales también
son un área en la que los agente
inteligentes se hacen presentes, ya que se
están construyendo sistemas
multiagentes que contribuyan al mejor
manejo de recursos naturales, como en el
proyecto en el que se desea construir un
sistema que permite identificar insectos
en un ambiente, colocando el orden de los
insectos en una base de conocimiento.
(Zanusso, 2001)
Los agentes también se
encuentran en otros sistemas como en
sistemas de control de tráfico aéreo
dónde los agentes son utilizados para
representar los aviones y los
controladores aéreos; sistemas de
monitorización en redes de suministro,
como las de las Utilities, las Telcos, o
redes de transporte en servicios de
logística para la gestión de flotas;
Sistemas que gestionan los stocks y los
procesos de fabricación de distintas
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
40
fábricas; Sistemas que permiten realizar
tareas de administración de sistemas
como un inventario de HW y SW de una
red corporativo; Gestión de perfiles para
la televisión. Según los perfiles de la
unidad familiar seleccionar los
programas. Existe otro sistema con
Agentes Inteligentes HeCaSe: An Agent-
Based System to Provide Personalised
Medical Services, que apoya en la
atención medica de una clínica. Otros
agentes que actualmente están en uso en
el Internet son los de la Coca-Cola que
recibe las preguntas del usuario,
proporcionando respuestas. O el de la
caja Madrid que da información acerca de
los financiamientos de la misma
institución.
Bajo un enfoque más amplio, los
Agentes Inteligentes son de utilidad en
aplicaciones computacionales utilizadas
en las más diversas áreas, y a
continuación mencionaremos algunos
ejemplos de Agentes Inteligentes
utilizados en varias de estas áreas.
Aplicaciones industriales.
Dentro del campo industrial
existen varios sistemas de control de
procesos y manufactura que utilizan
agentes para llevar a cabo sus funciones.
Como ejemplos podemos citar:
• ARCHON (Architecture for
Cooperative Heterogeneous Online
Systems). Esta es una plataforma
de software para la construcción
de sistemas multiagentes, junto
con una metodología asociada
para la construcción de
aplicaciones utilizando la
plataforma. (Jennings 1995). Los
agentes dentro de ARCHON son
sistemas medianamente pesados,
que constan de cuatro elementos
principales: un módulo de
comunicación de alto nivel
(HLCM), un módulo de
planeación y coordinación (PCM),
un módulo de manejo de
información (AIM), y un sistema
inteligente (IS). Generalmente se
le utiliza en el área de sistemas de
control.
• YAMS (Yet Another Manufacturing
System). Este sistema se utiliza en
el área de la manufacturación,
pues su objetivo principal es
administrar eficientemente los
procesos de producción de
diversas fábricas. Para ello,
YAMS utiliza un esquema
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
41
multiagente donde cada fábrica y
sus componentes son
representados por agentes que
interactúan entre sí.
• OASIS (Optimal Aircraft
Sequencing using Intelligent
Scheduling).[ Ljunberg 1992]
Este es un sistema de control de
tráfico aéreo donde los agentes
son utilizados para representar
tanto a los aviones como a los
sistemas de control de tráfico
aéreo que están operando.
Aplicaciones comerciales
Bajo el ámbito de lo llamamos
aplicaciones comerciales destacan las
áreas de comercio electrónico y la muy
amplia de manejo de información, la cual
a su vez puede separarse en filtraje de
información y búsqueda o recuperación
de información. Como ejemplos de
aplicaciones de agentes en estas áreas
tenemos:
• Maxims. (Maes1994). Este es un
agente que trabaja como un filtro
electrónico de correo, que aprende
a darle prioridad, borrar, reenviar,
buscar y archivar mensajes,
observando cómo interactúa el
usuario con el sistema de correo.
• NewT. (Maes 1994).Es un agente
de filtraje de noticias de Internet,
que aprende en función de lo que
lee y no lee el usuario, a la vez
que permite definir reglas
específicas de selección de los
artículos.
• The Zuno Digital Library.
(Ferguson 1997). Es un sistema
multiagente que permite que el
usuario tenga una vista coherente
de las muy variadas fuentes de
datos presentes en el Web.
• Open Sesame!. Este es un agente
de software que aprende cómo los
usuarios manipulan sus
aplicaciones Macintosh, pudiendo
automatizar diversas labores
repetitivas así como labores
periódicas de mantenimiento que
el usuario puede olvidar.
• Hoover. Proporciona una interfaz
de usuario para múltiples medios
de información, además de
organizar automáticamente
información seleccionada de
acuerdo con el contexto de las
necesidades del usuario.
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
42
• El Agente Info. Agente que ayuda
a los usuarios en la recuperación
de data en ambientes distribuidos
y heterogéneos. Su arquitectura
está basada en un modelo
multiagente e incorpora técnicas
de otros campos de investigación.
• Kasbah. (Chavez, 1996). Kasbah
es un ejemplo de un mercado
electrónico constituido por
agentes vendedores y
compradores para cada bien a ser
vendido o comprado
respectivamente. Las
transacciones comerciales se dan
a través de interacciones de los
agentes.
Aplicaciones médicas
• The Guardian System. Este
sistema multiagente esta diseñado
para ayudar a monitorear
pacientes que se encuentran en la
Unidad de Cuidados Intensivos.
El sistema distribuye el
monitoreo a través de varios
agentes que se dividen en tres
clases: de percepción/acción,
razonadores, y de control. Estos
agentes se organizan
jerárquicamente y todos cooperan
a través del conocimiento
compartido en una estructura de
datos común.
Agentes Inteligentes aplicados en las Disciplinas Sociales
Realizando una búsqueda acerca de las
aplicaciones de los agentes inteligentes,
se encontró que estos no están
involucrados mucho con las ciencias
sociales pero si van de la mano con
sistemas expertos que tratan de dar
solución a situaciones que se nos
presentan cotidianamente, como el caso
de los agentes que se encuentran
presentes en una aplicación enfocada al
turismo mediante el empleo de la
tecnología de agentes. En concreto, la
aplicación permite a un usuario planificar
su posible estancia en una ciudad para
poder visitar distintos lugares de interés.
La aplicación puede ser ejecutada, desde
el punto de vista del usuario, tanto desde
un computador personal como desde un
dispositivo móvil, ofreciendo de esta
forma una mayor flexibilidad. (Moreno,
2003)
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
43
La psicología es otra disciplina en
donde la teoría de agentes ha ayudado,
como es el caso del programa
AGPERFIL, codificado en java
utilizando técnicas de agentes
inteligentes, el objetivo de este sistema es
automatizar el proceso de evaluación del
perfil psicológico de un paciente.
(Pinheiro, 1998)
En la educación, los agentes
también comienzan a tener un gran auge,
gracias al uso de estos como una especie
de tutores inteligentes y ayudantes. Un
caso ejemplo de este tipo de aplicación es
el diseño de un software que genera
automáticamente un archivo de ayuda al
ingresar a un portal destinado a
estudiantes a distancia que se están
entrenando en algún tema en específico.
Este sistema utiliza dos agentes uno que
funciona como indexador de la
información y otro que hará el papel de
mentor.
Sin embargo, en áreas especificas
de las ciencias sociales como es el
Derecho no se encontraron aplicaciones
de agentes, aunque si desarrollos de
sistemas de información que se utilizan
con buenos resultados como es el caso de
Bufete Jurídico 2004, que permite la
optimización en tareas claves del proceso
de atención de una demanda, ya que
cubre actividades desde la redacción de la
denuncia hasta el control de los
expedientes y la situación de las
demandas. Otro es la Legislación Federal
y Estatal, contiene un área de búsqueda y
es posible hacerlo mediante términos en
ingles o español. Contiene una sección de
editor con plantillas de formularios
utilizados en el área de derecho. Otro
software analizada es Juicio Divorcio,
esta diseñado por el Centro de
Investigación de Contenidos y
aplicaciones de software jurídico, de Raúl
Juárez Carro Editorial, este paquete
también es un compendio de leyes,
específicamente de las que están al
servicio del Derecho Civil.
Otro sistema es “A Pragmatic
Legal Expert System”, de Dartmouth
Ashgate. (Dartmouth, 1996). En este se
describe el desarrollo de un sistema
experto legal (Shyster) que expone un
caso pragmático de leyes. Shyster es un
sistema experto basado en casos, contiene
12 módulos y ha sido implementado en
Unix. Entre los doce módulos
encontramos: Shyster, Status, que
contiene el sistema basado en reglas,
Cases que contiene el sistema basado en
casos, Tokenizer, se especifica el
lenguaje, y los modulos Parser, Dumper,
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
44
Cheker, Scales, Adjuster, consultant,
Odometer y Reporter. (Bratman, 1988)
El hecho de que no existen
muchos sistemas inteligentes aplicándose
en disciplinas sociales, presenta una área
de oportunidad en el desarrollo de
sistemas de software basados en agentes
inteligentes (financieros, laborales, etc.).
Conclusiones
De lo expuesto, podemos enfatizar la
importancia de desarrollar soluciones de
tecnologías de información con
componentes de agentes inteligentes en
diferentes áreas de una organización.
Particularmente en el área social, se
presentan grandes posibilidades para
aplicar estos componentes de inteligencia
artificial y permitirle al ser humano tener
sistemas de software que le apoyen a la
toma de decisiones.
Referencias Bibliográficas:
• Tesis de Maestría “Desarrollo de un Agente Inteligente para el Apoyo Legal en Conflictos Laborales”, Anahi Montserrat Torres Tinoco, Instituto Tecnológico de León (SEP), 2006.
[Almeida
1996]
Almeida, J.P.A.P., José M.
Crediné S. Menezes, SMarket: Um Sistema Multiagentes para Compras on-line. 1996, Departamento de Informática - CT - Universidade Federal do Espírito Santo.
[Antoine 2003]
Antoine, S., Agentes Inteligentes. Observatorio Tecnológico Madrid. 2003.
[Baldassin 1996]
Baldassin, A., Uma Abordagem Baseada em Agentes para Filtragem de Correspondências Eletrônicas., Universidade Estadual Paulista. IGCE - Instituto de Geociências e Ciências Exatas. 1996
[Blanco 2002]
Blanco Encinosa L. J. Notas para un curso de Inteligencia Artificial y Sistemas Expertos. PREGUER. La Habana , 2002.
[Bratman 1988]
Bratman, M.E., Plans and Resource-Bounded Practical Reasoning. Computational Inteligence. Quinta Edicion ed. 1988. 349-355.
[Chávez 996]�����
Chavez, A. & P. Maes. Kasbah: An agent marketplace for buying and selling goods. Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Systems. London, UK. 1996
[Darmouth 1996]
Dartmouth, A., A pragmatic Legal Expert System.pp384. 1996
[Ferguson 1997]
Ferguson, Innes A. & Michael J. Wooldridge. Paying Their Way: Commercial Digital Libraries
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
45
for the 21st Century. D-Lib Magazine. 1997. http://www.dlib.org/dlib/june97/zuno/06ferguson.html .
[Foner 1993]
Foner L. N.. What’s an agent, anyway? A sociological case study. Technical report, 1993. http:/ /foner.www.media.mit.edu/people/foner/agents.html.
[Franklin 1996 ]
Franklin S. and Graesser A. . Is it an agent, or just a program?: A taxonomy for autonomous agents. In Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Budapest, Hungary, Aug. 1996. ECAI’96, Springer-Verlag: Heidelberg, Germany. http://www.msci.memphis.edu/ franklin/AgentProg.html.
[Genesereth 1992]
Genesereth M. R. An agent-based approach to software interoperability. In Proceedings of the DARPA Software Technology Conference, 1992. [Genesereth 1994]. Genesereth and S. P. Ketchpel. Software agents. Technical report, Stanford University, 1994.
[Gilbert 1995]
Gilbert, A., The Role of Intelligent agents in the Information Infrastructure. United States: IBM. 1995,
[Gómez 2002]
Gómez Skarmeta Antonio F. Botía Blaya Juan A. Tecnologías y Plataformas de Agentes. 2002
[Haddadi 1996]
Haddadi, A.S., Kurt. Belief-Desire-Intention Agent Architectures. in Foundations of
Distributed Artificial Intelligence. Wiley Inter- Science. 1996.
[Jennings 1995]�
Jennings, N.R., J.M. Corera, I. Laresgoiti. Developing Industrial Multiagents Systems. Proceedings of the First International Conference of Multi-Agent Systems (ICMAS-95). pp 423-430. 1995.
[Jiménez 2000]
Jiménez Silvestre y Ramos Esmeralda. Agentes Inteligentes. Lecturas en Ciencias de la Computación. Universidad Central de Venezuela. 2002.
[KEMA 1996]
Knowledge Engineering Magazine, R., Knowledge Engineering Review, in Knowledge Engineering Review. 1996. p. 205-244.
[Lawton 1996]
Lawton, G., Agents to roam on the Internet, in Sunworld Online Magazine. 1996.
[Lemus 2005]
Lemus O. Cuauhtémoc. Confiabilidad del Software.Desarrollando Productos Confiables. Revista Software Gurú. No 5. Año 1. Septiembre - Octubre 2005.
[Ljunberg 1992]�����
Ljunberg, Magnus & Andrew Lucas. The OASIS Air Traffic Management System. Technical Note 28. August, 1992 http://www.aaii.com.au/pub/aaii-technotes/technote28.ps.
[Maes 1994]
Maes, Patricia. Agents that reduce work and information overload. Communications of the ACM, 37(7). Pages 31-40. 1994
[McGraw Karen Mc.Graw and Karan
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
46
1989] Harbinson-Briggs. Knowledge Acquisition. Principles and Guidelines. Prentice Hall.1989.
[Moniz 1994]
Moniz, L.F., Uma Bancada para Simulação de Ambientes e agentes Heterogéneos. Lisboa Portugal. 1997
[Moreno 2003]
Moreno, A., Agentes Inteligentes en el Tercer Milenio CAEPIA 2003. 2003, CAEPIA 2003: San Sebastian España.
[Pereira 2000]
Pereira da Silva, H., Inteligência Competitiva Na Internet; Proposta De Um Processo. 2000, Universidade Federal de Santa Catarina Programa de Pós-Graduação em Engenharia de Produção: Florianópolis.
[Perez 2000]
Perez Díaz, J.A., Agentes Móviles, Programación, Seguridad y Diseño., Universidad de Oviedo. Oviedo. 2000
[Pinheiro 1998]
Pinheiro, G.M., Sistema Agente De Avaliação De Perfil Psicológico Área De Desenvolvimento De Sistema Científicos E Comerciais. 1998, Universidade Do Vale Do Itajaí: Univali. Itajaí.
[Ramos 1997]
Ramos Esmeralda. Conocimiento: Adquisición y Técnicas para Grupos. ND 97-03. Escuela de Computación. Facultad de Ciencias. Universidad Central de Venezuela. 1997
[Rao 1996] Rao A. S. Decision procedures for propositional linear-time Belief-Desire-
Intention logics. In M. Wooldridge, J. P. Müller, and M. Tambe, editors, Intelligent Agents II (LNAI 1037), pp 33–48. Springer-Verlag: Heidelberg, Germany, 1996.
[Rao 1995] Rao A. S and M. Georgeff. BDI Agents: from theory to practice. In Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), pages 312–319, San Francisco, CA, June 1995.
[Rao 1996] Rao A. S.. Decision procedures for propositional linear-time Belief- Desire-Intention logics. In M. Wooldridge, J. P. Müller, and M. Tambe, editors, Intelligent Agents II (LNAI 1037), pages 33–48. Springer-Verlag: Heidelberg, Germany, 1996.
[Russell 1996]
Russell Stuart and Norvig Peter. Inteligencia Artificial Un Enfoque Moderno. Prentice Hall. México. 1996
[Sebastian 2002]
Sebastian, E., An Investigation Into the Use of Syntheti for NPC's/Agents in Computer Games. 2002, Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.: Buenos Aires.
[Shadbolt 1999]
Shadbolt, N.a.M., N, From Knowledge Engineering to Knowledge Management. British Journal of Management, 1999. 10: p. 309-322.
[Shoham 1993]
Shoham Y. Agent-oriented programming. Artificial Intelligence, 60(1):51–92, Mar. 1993.
Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero de 2008
47
[Sthephens 1999]
Sthephens, D.S. Agentes artificiales en los mercados financieros. in Simposio latinoamericano y del caribe: las tecnologías de información en la sociedad. 1999. Aguascalientes, México.
[Thanagarajah 2002]
Thanagarajah,J. Padghanm, L. Harland, J. “Representation and Reasoning for Goals in BDI agents. Proceedings of the Australasian conference in Computing Science, January , Melbourne 2002
[ Wooldrige 1995]
M. Wooldridge and N. R. Jennings. Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2):115–152, 1995
[Wooldrige 1999]
Wooldrige, M. Intelligents Agents. In G. Weiss. Editor Multiagents systems, The MIT Press. April 1999.
[Zanusso 2001]
Zanusso, B.M., Um Sistema Especialista para Identificar Insetos pode ser um Agente num Sistema Multiagentes para Administra¸c˜ao de Recursos Naturais. 2001, Departamento de Computaciao e Estatýstica Centro de Ciencias Exatas e Tecnología Universidade Federal de Mato Grosso do Sul.