Un agente autónomo es un sistema situado en y parte de un entorno que siente ese entorno y actúa sobre él, a través del tiempo, persiguiendo sus propios objetivos de forma que afecte lo que siente en el futuro.
Al llegar por la mañana al trabajo, sentarse al teclado de su ordenador y ejecutar la aplicación de correo electrónico preferida, muchas personas se ven inundadas por decenas, incluso cientos de mensajes de correo electrónico. Algunos de esos mensajes tienen algo interesante: se refieren a una pregunta que alguien había hecho anteriormente, contienen información que puede conducir a una venta, o bien son simplemente un mensaje del jefe ordenando taxativamente hacer algo. Otros, sin embargo, contienen correo basura, publicidad no deseada, o son mensajes de una lista de correo electrónico a la que últimamente no le prestamos atención. El programa, además, solo nos proporciona información mínima sobre el contenido del mensaje: a veces el nombre del autor, a veces simplemente su dirección de correo, a veces una línea de Subject o tema que tiene que ver con el contenido, a veces no.
Imaginemos, por el contrario, el siguiente escenario: al sentarnos al teclado del ordenador, una ventana se abre en pantalla y nos muestra dos o tres mensajes de correo, clasificados como importantes o urgentes. También nos da la opción de leer los menos urgentes, y muestra claramente un cubo de basura al cual han sido enviados otros mensajes. Al día siguiene, los mensajes similares a los "menos urgentes" leidos anteriormente son considerados más importantes, y colocados más arriba en la lista de lectura. Además, uno de los mensajes de la lista de correo se considera importante, y se coloca en la lista de "importantes", y nos avisa de que el periódico al cual estamos suscritos en línea contiene una noticia "interesante". Este último escenario supone la existencia de un agente autónomo inteligente. Es muy difícil dar una definición de este término, de hecho, hay casi tantas definiciones como investigadores sobre el tema, así que por el momento puede decirse que un agente inteligente hace algo similar al párrafo anterior. Una definición más formal, de Franklin and Graesser (1), afirma que
Un agente autónomo es un sistema situado en y parte de un entorno que siente ese entorno y actúa sobre él, a través del tiempo, persiguiendo sus propios objetivos de forma que afecte lo que siente en el futuro.
Un agente autónomo, para empezar, no es un programa, o al menos es algo más que un programa (al fin y al cabo, todo lo que se ejecuta en un ordenador es un programa); es decir, no se puede llamar un programa en el mismo sentido que un sistema operativo no se puede llamar un programa. Una de las características que los distinguen de los programas es la autonomía, lo cual implica dos cosas: primero, que son proactivos, es decir, que no sólo actúan cuando respondiendo a una acción del usuario, sino que también actúan siguiendo sus propios objetivos; segundo, que son persistentes, o sea, que no se pueden "apagar"; incluso aunque el usuario no esté interaccionando con ellos, los agentes siguien funcionando, recolectando información, aprendiando y comunicándose con otros agentes. Esta autonomía implica que sean "agentes situados", es decir, que haya una clara diferencia entre el agente y su entorno. Y la persistencia e independencia del entorno permite que algunos agentes sean móviles, llevando su bagaje de información allí donde van, y siguiendo quizás a su usuario (¿o habría que decir amo?)
El afectar lo que se perciba en el futuro implica inteligencia, al menos en el sentido que se aprenda de los fallos para no volver a cometerlos en el futuro, lo cual implica adaptatividad, y además implica un bucle percepción/procesamiento de información/acción, para volver otra vez al principio, es decir, un comportamiento similar al de cualquier ser vivo medianamente inteligente. El aprendizaje habitualmente se realizará habitualmente a través de la interacción con un usuario, lo cual hará que el agente sea habitualmente representativo de tales acciones (2). Y además, la percepción y acción implican comunicación, que se puede realizar con programas no-agentes o con otros agentes, lo cual puede dar lugar a sociedades de agentes.
ALGUNAS APLICACIONES
Un agente, tal como se ha definido anteriormente, puede ser usado de múltiples maneras en el entorno empresarial, helvetica, universal actual. Algunas de las definiciones, mencionadas en (2), son las siguientes:
Ayuda al cliente: un agente que ayude al cliente, además de ser cacofónico, podría escuchar el problema, buscar en varios medios diferentes (noticias de usenet, manuales técnicos, informes archivados por profesionales), y finalmente dar una respuesta al mismo. Este agente puede residir tanto en la red como en el ordenador del usuario, y además, puede "conocer" los fallos más habituales, tanto en general como del usuario en particular para tratar de proponer soluciones a los mismos antes de que sucedan. Filtrado y búsqueda en la World Wide Web: este tipo de agente aprendería de los hábitos de búsqueda del usuario, mirando las páginas que se visitan, la frecuencia con que se hace y el tiempo que se gasta en cada una, para proponer nuevas páginas y avisar cuando se ha creado una página interesante. IBM ha creado ya un agente de este tipo, llamado WBI (Web Browser Ingelligence, o Webby).
Busca gangas: en un entorno donde se puede comprar directamente de los productores, para comprar tickets de viajes en avión o en un entorno de telecomunicaciones desreguladas (3), un agente podría buscar el objeto que desee su usuario al mejor precio, comprar un billete de avión en las mejores condiciones o enrutar una llamada telefónica usando los portadores con mejor precio o calidad. Actualmente hay muchos busca-gangas en la Internet, aunque no se podrían calificar como agentes.
Agentes charlatanes: en un mundo estigmatizado por la soledad de las personas, y donde el ocio se convierte en la industria número uno, un agente charlatán puede dar conversación a su usuario, tomando la apariencia deseada o jugar a un juego con él o ella. Trabajo en grupo: quien haya tratado de convocar una reunión "que le venga bien a todo el mundo" sabe que es un proceso de negociación con restricciones duras, otras menos duras, en muchos casos largo y de difícil solución. Los agentes se están usando ya para negociar este y otros problemas de trabajo y coordinación de un grupo.
En un estudio de mercado, se ha afirmado que los agentes serán el paradigma informático más importante en los próximos 10 años... en el año 2000, cada aplicación significativa tendrá alguna forma de actualmente los agentes, y mucho menos los agentes inteligentes, distan de ser una realidad. Muchos productos comerciales afirman ser agentes o knowbots sin serlo, aunque, claro está, no se pueden poner puertas al campo y cualquier sistema que, según su autor, se comporte como un agente, puede serlo. Lo cierto es que la mayoría de los programas actuales que dicen ser agentes son en realidad programas que se ejecutan en el servidor, con mayor o menor habilidad para buscar en la Web, y coger información filtrándola o no; y por supuesto, son incapaces de aprender y de comunicarse unos con otros.
Lo que sí cabe dentro de la definición de agente dada anteriormente son los robots autónomos, como los creados por ejemplo por Randall Beer o Rodney Brooks, y los agentes que se mueven en mundos artificiales como los estudiados en Vida Artificial: estos agentes sienten su entorno, actúan sobre él, cambian de estado interno, aprenden y evolucionan; sin embargo, estos agentes no tienen porqué hacer nada útil, sino simplemente simular algún aspecto del mundo real para tratar de entenderlo mejor. En todo caso, tanto los investigadores en robótica autónoma/adaptativa como los que investigan en Vida Artificial y Sistemas Complejos proveerán las herramientas que hagan que los agentes funcionen.
LAS ENTRAÑAS DE UN AGENTE
Cada una de las características de un agente inteligente requieren tecnologías especiales, algunas de las cuales están ya presentes, pero en la mayoría de los casos carecen de una aceptación suficiente. Los ordenadores que componen una red deberán de ser capaces de albergar a un agente, es decir, incluir un programa que deje al agente tener acceso a ciertos recursos del sistema y a otros no. No existe ninguna tecnología ampliamente aceptada que permita esto, aunque algunos lenguajes, como TeleScript de General Magic, Java o AgentTCL prevén la movilidad de procesos de una máquina a otra llevando su estado consigo, y restringiendo. El mismo entorno que proporciona movilidad proporciona también autonomía, y también un método estándar para establecer comunicación entre agentes.
Por otro lado, las tecnologías más novedosas están en el campo del procesamiento y presentación de la información. Y no existe la información si el agente no es capaz de entenderla, por eso se están definiendo estándares para intercambio de información, como KIF (Knowledge Interchange Format, formato de intercambio de información), o KQML (5) que permitan que agentes creados por diferentes autores hablen el mismo lenguaje. Pero para que esa información afecte al estado interno y a las acciones del agente en el futuro, el agente debe de ser capaz de adaptarse. Las redes neuronales (6) son una tecnología que permite asociar entradas a salidas, y adaptarlas para dar las salidas deseadas. Por otro lado, los grupos de agentes pueden también evolucionar usando algoritmos genéticos, que podrían actuar sobre agentes de la misma forma que la evolución: eliminando los peores y dejando que los mejores se reproduzcan, cambiando a su vez con la posibilidad de crear algo mejor. También la lógica fuzzy permite resumir el conocimiento en una serie de reglas que expresan la información con los mismos valores lingüísticos que lo hacen los seres humanos.
La Vida Artificial también se ocupa de la inteligencia colectiva, la capacidad de un colectivo para resolver problemas aunque cada individuo del colectivo no sea capaz de entenderlo ni de hacerlo; en muchos casos, se usarán sociedades de agentes simples para
proporcionar las capacidades que se esperan en un agente.
HACIA LOS AGENTES INTELIGENTES
Aunque, como se ha comentado, los agentes están en un horizonte no demasiado lejano, hay diversos grupos de investigación e intelectuales en España que han hecho diversas aportaciones al tema. Los pioneros de la Vida Artificial, que, como se ha visto, proporciona las
herramientas que hacen funcionar a los agentes y explican porqué son necesarios, fue el grupo de Filosofía de la Ciencia de la Universidad del País Vasco, coordinado por Alvaro Moreno Bergareche, que, junto con Julio Fernández Ostolaza, publicó el primer libro en castellano sobre el tema (7) (que más adelante ha sido editado también en Francia).
El aspecto del entretenimiento y la aplicación de la vida artificial de los agentes inteligentes y knowbots, fue tratado por Montxo Algora en diversad ediciones de Art Futura, una dedicada a Vida Artificial, y la última, en noviembre de 1996, dedicada a los Knowbots.
Y, por último, un grupo en la Universidad Politécnica de Barcelona, formado entre otros por Ricard Solé y Jordi Delgado, investigan sobre el tema de la inteligencia colectiva, esencial para entender qué capacidades debe tener cada individuo de una sociedad de agentes y qué cabe esperar de las capacidades de tal sociedad.
Bibliografía 1. Is it an Agent, or just a Program? A taxonomy for Autonomous Agents, Stan Franklin and Art Graesser, Procs. 3rd. International Workshop on Agent Theories, Architectures and Languages, Springer Verlag, 1996. 2. Intelligent Agents: The Right Information at the Right Time, Don iag/iaghome.html. 3. Pay Whom Per What Whan, Part II, Nicholas Negroponte, Wired 5.03, Marzo 1997. 4. Intelligent Agents: Technology and Application, P. Janca, GiGa Information Group. 5. KQML; An information and Knowledge Interchange Protocol, T. Finin; D. McKay; R. Fritzso y R. McEntire, en Knowledge Building and Knowledge Sharing, Fuchi, Toshio (Eds), Ohmsha/IOS Press, 1994. 6. Redes neuronales, Juan Alberto Sigüenza, Eudema Biología. 7. Vida Artificial, Julio Fernández Ostolaza y Alvaro Moreno Bergareche, Eudema Biología.
[Evaluar este artículo]
|