Académique Documents
Professionnel Documents
Culture Documents
http://www.monografias.com/trabajos12/inteartf/inteartf2.shtml
http://www.mastermagazine.info/articulo/3355.php
http://www.wshoy.sidar.org/index.php?2007/05/08/38-los-trabajadores-de-la-web-
semantica-agentes-agentes-inteligentes-y-agentes-semanticos
http://www.wshoy.sidar.org/index.php?2007/05/08/38-los-trabajadores-de-la-web-
semantica-agentes-agentes-inteligentes-y-agentes-semanticos
http://cibernetica.wordpress.com/2008/09/03/cooperacion-entre-agentes-inteligentes/
Entre las aplicaciones en las cuales se aplica la tecnología de agentes se cabe mencionar
las siguientes:
Sin duda en los inicios del siglo XXI la tecnología de Agentes vive en gran parte de las
aplicaciones que hoy en día utilizamos, aún sin saberlo
Como sucede con toda nueva rama del conocimiento, existe bastante confusión en
cuanto al vocabulario de las tecnologías semánticas. En este artículo me centro en
explicar qué se entiende por agente, agente inteligente y agente semántico, términos que
aparecen casi siempre que se habla de la Web semántica. A fin de resaltar las
semejanzas y diferencias entre ellos, usaré definiciones y ejemplos.
Según Jeffrey Bradshaw, las principales características de los agentes son éstas (no
todas son obligatorias y algunas pueden darse en mayor o menor grado):
• Estáticos
• Dinámicos
Según las tareas que desempeñan, Hyacinth S. Nwana clasifica así los agentes:
• Agentes colaboradores.
• Agentes de interfaz.
• Agentes móviles.
• Agentes de información.
• Agentes reactivos.
• Agentes híbridos.
• Sistemas heterogéneos de agentes.
Como los agentes son programas, ¿debemos concluir que los programas son
también agentes? Para contestar a la pregunta, consideremos un programa conversor de
euros a francos suizos. El programa funciona así: cada vez que un usuario ejecuta el
programa, éste se conecta por Internet a los mercados de divisas, extrae el tipo de
cambio que fluctúa constantemente y lo presenta por pantalla. El programa es, en cierto
sentido, consciente de su entorno porque devuelve una salida (un tipo de cambio) tras
recibir una entrada (la ejecución del programa) y porque se conecta a los mercados de
divisas. Sin embargo, no es un agente: su salida actual no afecta a sus futuras salidas;
dicho de otro modo, no tiene “memoria” de sus actos ni puede aprender de ellos.
Además, el programa carece de persistencia: sólo permanece activo un tiempo muy
breve; una vez que devuelve el tipo de cambio, se vuelve inactivo. Vemos, en definitiva,
que no todos los programas son agentes.
Muchas personas piensan que los agentes no son más que objetos con algunas
funciones añadidas; según ellos "un agente es un objeto que realiza alguna actividad.
Otros van más lejos: afirman que la única diferencia entre ellos radica en que agente es
una palabra de moda, como en su día lo fue "objeto". Existen ciertas semejanzas entre
objetos y agentes: en primer lugar, se caracterizan por su estado y por su
comportamiento; en segundo, se comunican entre sí mediante mensajes.
Los objetos no tienen ningún control sobre sus acciones, que están determinadas
desde su creación; por el contrario, los agentes las controlan para cumplir sus objetivos.
Éstos pueden tener un comportamiento impredecible. Por ejemplo, si se pide a un
agente que compre algún CD barato en alguna tienda, cualquier resultado es posible: el
agente podría volver con Power, Corruption and Lies de New Order o con un CD de
cantos hindúes del siglo V antes de Cristo, o sin nada. A diferencia de los objetos, los
agentes pueden decir "no" (es más, algunos gozan con eso).
Los agentes gozan de más autonomía y flexibilidad que los objetos, tan esclavos
ellos. Como las clases definen los métodos y atributos como públicos o privados, los
objetos (instancias de las clases) no pueden cambiar la visibilidad de métodos y
atributos. Si el método dispararFlecha de un objeto arcoOlímpico es público, el objeto
no puede impedir que otros objetos lo usen. Un agente, en cambio, sí podría impedir
que otros agentes usaran su dispararFlecha (volviéndolo privado, p. ej.), siempre que
eso favoreciera sus objetivos.
Tal como se mencionó antes, los agentes siempre están activos (vigilan su entorno,
actualizan su estado y determinan qué acciones son apropiadas); los objetos vienen a ser
muertos a tiempo casi completo, porque sólo “viven” (están activos) cuando sus
métodos son llamados por otros objetos.
Los objetos jamás se equivocan (en todo caso, se equivocan quienes los
programan), mientras que los agentes puede tomar decisiones equivocadas e incluso
aprender de sus errores pasados. Si un objeto tiene un método calcularIVA que aplica un
porcentaje equivocado (14% en lugar de 16%, verbigracia), el objeto nunca aprenderá
nada de ese error, pues ya nació mejor dicho, se instanció con él.
Agentes Inteligentes
Los agentes inteligentes son capaces de controlar sus acciones y decisiones para
alcanzar unos objetivos basándose en su percepción del entorno. Habita en un entorno
dinámico y complejo, en el que percibe y actúa de manera autónoma, alcanzando el
conjunto de objetivos para el que fue diseñado. La aplicación más importante de los
agentes inteligentes se encuentra en la WEB.
Los agentes inteligentes suelen relacionarse con los sistemas expertos. Un sistema
experto es un programa que intenta imitar el comportamiento de un experto en un
dominio concreto. Por ejemplo, un sistema experto en medicina podría, a partir de los
síntomas del enfermo, emitir diagnósticos. Los agentes difieren de los sistemas expertos
en dos aspectos esenciales:
Multiagente
1. Agentes aislados.
2. Sistemas Multi-Agentes (SMA)
Existen muchas plataformas para crear agentes e interconectarlos: IBM Aglets, ZEUS,
JADE (Java Agent Development Framework), ABLE, MadKit, JATLite (Java Agent
Template Lite), Grasshopper, AgentBuilder, FIPA-OS, Concordia, Gossip, FarGo,
Voyager. Si usted no tiene experiencia en agentes y desea probar alguna plataforma, le
recomiendo empezar con AgentBuilder
(http://www.agentbuilder.com/Documentation/product.html). Es un conjunto integrado
de herramientas que permite desarrollar agentes inteligentes y aplicaciones basadas en
ellos, sin necesidad de programar (la versión PRO permite desarrollar también
aplicaciones multiagente). Recomiendo esta solución comercial porque me parece una
de las más sencillas y rápidas para quien carezca de experiencia en el desarrollo de
agentes. JADE y ABLE son más potentes que AgentBuilder, pero también son más
complejas de usar.
Este agente admite preguntas como las siguientes: ¿Cuál es la cotización de Endesa?
¿Qué tiempo hará en París la próxima semana? ¿Cuál es el número de teléfono de María
Senso Huertas? También se le pueden dar órdenes del tipo "Búscame un mapa de
Hannover" o "Averigua dónde puedo encontrar la película Les 400 coups". Para
entender miles de sentencias en lenguaje natural, el agente semántico de Amblit se
apoya en una ontología y en un software de comprensión del lenguaje natural. Este
software "traduce" las preguntas u ordenes en texto libre a conceptos de la ontología
(puede encontrar más información sobre ontologías en
http://www.wshoy.sidar.org/index.php?2005/12/09/30-ontologias-que-son-y-para-que-
sirven).
A éste no le gusta ninguno de los dos. Uno no es todo lo barato que Heliodoro desearía,
y el otro no puede atenderle hasta dentro de dos semanas (está de viaje de novios).
Decepcionado con los resultados, Heliodoro escribe a su agente semántico: "Mira otras
opciones". El agente repite el trabajo que había hecho, pero no encuentra más asesores
que cumplan las condiciones del usuario. Entonces prepara una lista de los asesores
cercanos a la calle Arboleda y de buena reputación, independientemente de que sean
caros o baratos; acto seguido, contacta con los agentes semánticos de esos asesores para
intentar negociar una reducción de las tarifas que aplican. Sólo uno acepta la reducción.
Tras una rápida negociación entre agentes, la reducción se fija en un 20% (con la
condición de que el cliente pagará cada trimestre de asesoría por anticipado y al
contado).
El agente muestra a Heliodoro los datos del asesor elegido y la tarifa que ha quedado
establecida. Heliodoro desconfía de la tarifa, porque le parece demasiado barata, y le
pregunta a su agente: ¿Cómo has negociado la tarifa? ¿Cómo sabes que ese asesor es
bueno? El agente, dotado de paciencia infinita, le proporciona pruebas de todo (para
saber más sobre estas pruebas, puede consultar http://www.wshoy.sidar.org/index.php?
2007/01/30/37-la-web-semantica-metadatos-ontologias-logica-y-confianza). Contento
por ahorrarse un dinerillo, Heliodoro cierra su agente personal y se levanta del
ordenador. Mientras se prepara un café, piensa en la Web semántica: "Es buena idea
esto de la nueva Web. ¡Y pensar que hace diez años parecía ciencia-ficción! Hasta me
están cayendo simpáticos los bichos esos, los agentes".