¿QUÉ ES UN AGENTE INTELIGENTE? - PARTE 1
Por: Lucy Medina Velandia.
El tema de agentes inteligentes es muy extenso; debido a ello, en este artículo sólo voy a referirme a las definiciones que han dado los diferentes autores y cómo las han clasificado. En entregas posteriores les mencionaré las aplicaciones de los agentes inteligentes, la contribución que han hecho a las diferentes ramas de la industria, el comercio, la salud, etc.; a la vez analizaré cuál será el futuro de este apasionante tema.
Previa a la definición de lo que es un Agente Inteligente, debo remontarme al significado de la Inteligencia Artificial (IA); pues esta rama de la informática es la encargada de construir y ejecutar procesos, que luego producen resultados de acuerdo con las entradas recibidas, por ejemplo, que una máquina imite el comportamiento y la comprensión humana. Pero para hacer más estricta la definición de Inteligencia Artificial, es importarte referirse a Russel y Norvig (1999), quienes a su vez toman de otros autores definiciones extendidas por varias categorías como: los sistemas que piensan como humanos, los que piensan racionalmente, los que actúan como humanos y los que actúan racionalmente. Pero de todas las definiciones recopiladas por ellos, la que más me gusta es la de Rich y Knight (1991) quienes dicen que la Inteligencia Artificial es “El estudio de cómo lograr que los computadores realicen tareas que, por el momento, los humanos hacen mejor”. Interpretando esta definición, puedo indicar que la Inteligencia Artificial desarrolla sistemas que piensan y actúan racionalmente.
Pero ¿por qué tomo la definición de IA antes de describir un agente? Porque existe una estrecha conexión entre la IA y los agentes inteligentes; por ejemplo, Jon Doyle (1983) propuso la idea que relaciona estos dos términos, así: “el diseño de agentes racionales es la médula de la IA y seguiría siendo su objetivo primordial”. En pocas palabras, los agentes inteligentes son el nuevo paradigma de la Inteligencia Artificial y hacia allí ésta se está enfocando. Por cuanto las técnicas de la IA pueden ser empleadas en cualquier tipo de problema y son susceptibles de aplicarse de forma clara, más apropiada y unificada en diferentes campos que requieran construcción de sistemas inteligentes y con mayor rango de complejidad.
Una vez tenemos claro lo que es la Inteligencia Artificial, revisemos el concepto que aquí nos ocupa. Comencemos con la palabra agente, que viene del latín agere, hacer. El agente es una entidad que puede actuar de forma autónoma y razonada; se considera agente aquello que percibe su ambiente mediante sensores y que responde o actúa por medio de efectores. Si nos referimos a los agentes inteligentes, estos se conciben, como es de suponerse, por la etimología de las palabras, como algo que razona y toma decisiones.
De otra parte, el agente, según Hípola y Vargas-Quesada (1999), es una entidad de software que se basa 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.
Una definición más. Según Labidi, S. y Lejouad, W. (1993), un agente es una entidad física o abstracta que puede percibir su ambiente a través de sensores, es capaz de evaluar tales percepciones y tomar decisiones por medio de mecanismos de razonamiento sencillos o complejos, comunicarse con otros agentes para obtener información y actuar sobre el medio en el que se desenvuelve a través de ejecutores.
Son muchas las clases de agentes que se han creado; para dar cuenta de solo unas pocas, se las mencionaré:
- Los agentes autónomos: Son sistemas que sienten el entorno y actúan sobre él a través del tiempo, sin perder de vista su objetivo ni afectar lo que sienta en el futuro.
- Los agentes humanos: Son los sistemas que tienen sensores (ojos, oídos, otros órganos). Como por ejemplo robots, cámaras, telémetros infrarrojos; y efectores (manos, piernas, boca y otras partes del cuerpo). Por ejemplo, robots con motores.
- Los agentes robóticos: Son sistemas a los que se les sustituyen los sensores por cámaras infrarrojas y los efectores por motores.
- Los agentes racionales: Son sistemas que hacen lo correcto; es decir, que puedan medir su propio desempeño.
- Los agentes de software: Son sistemas cuyos bits codificados representan las percepciones y las acciones.
- Los agentes Inteligentes: Son sistemas capaces de autoaprender, autoevaluarse y cambiar de acción de acuerdo con el ambiente en el que se desenvuelven. Según Nikola Kasabov, un agente inteligente es el que tiene capacidad para aprender nuevos problemas e incrementar normas de solución; que tiene capacidad de adaptación en línea y en tiempo real; que es capaz de analizar condiciones en términos de comportamiento, el error y el éxito; el que es capaz de aprender y mejorar a través de la interacción con el medio ambiente; que es capaz de aprender rápidamente de grandes cantidades de datos que estén en un medio de almacenamiento masivo y recuperar dicha capacidad de aprender.
Los agentes inteligentes se pueden clasificar según Russel y Norvig (1999), a su vez, en:
- Agentes reactivos: Son sistemas que no poseen protocolos ni lenguajes de comunicación; no son individualmente inteligentes, pero sí lo son globalmente. Sólo responden a estímulos, a acciones entre el conjunto de agentes cognitivos.
- Agentes cognitivos: Son capaces de realizar operaciones complejas; son inteligentes, capaces de razonar sobre la base de su conocimiento, se comunican con otros agentes y pueden llegar a acuerdos sobre alguna decisión con algunos de ellos, o con todos. Estos sistemas se componen de varios agentes cognitivos.
- Agentes inteligentes de información: Son aquellos que tienen capacidad de proceso; esto quiere decir que son capaces de descomponer una consulta en subconsultas, asociar distintos términos resultantes con otros o con afines, por medio de su conocimiento y el de otros agentes que se comuniquen con él, son capaces de conocer el entorno en el que se encuentran, acceden a información, bien sea de otro agente, o de su conocimiento previo. Existen cuatro características primordiales en este tipo de agentes: la primera, que son autónomos, es decir que actúan sin intervención humana y tienen el control de sus propios actos; la segunda, que son sociables, es decir, que se comunican con otros agentes o con humanos por medio de un lenguaje común; la tercera, que tienen capacidad de reacción, es decir, que perciben del entorno y reaccionan para adaptarse a él; la cuarta característica es que tienen iniciativa, es decir, que emprenden las acciones necesarias para resolver problemas.
- Agentes cooperativos: Son sistemas autosuficientes, que conocen su entorno, que coopera y se coordinan con otros agentes. Esto lo pueden hacer a través de la descomposición de consultas en subconsultas, que son encargadas a otros agentes para que las resuelvan.
- Agentes móviles: Son sistemas que se mueven por los distintos nodos de la red; son autónomos para realizar tareas, capaces de ejecutarse en varias máquinas sin que en ellas se encuentre su código y éste es móvil. Operan sin conexión, es decir, trabajan sin que la red esté funcionando; para ello, se esperará a que la conexión se reanude. Las funciones que debe ejecutar el agente no sólo las lleva a cabo en el PC donde se encuentre, sino en otras que estén en la red. Tienen la capacidad de indicar hacia qué servidor moverse; no necesariamente cambian de estado y pueden ir hacia otro servidor y seguir en ejecución. Algunas de las características más importantes de estos agentes: son eficientes, se adaptan al cliente, reducen el tráfico de la red, gestionan grandes volúmenes de información y permiten la comunicación en tiempo real.
Pero ¿cómo se podría concebir un agente inteligente ideal? Lo primero que diría es que sea comunicativo, es decir, que entienda lo que le solicitan, que sepa qué limitaciones tiene y cuáles son las preferencias; esto quiere decir, que sea capaz de escoger entre varias opciones, como respuesta a una consulta. Otra característica importante que agregaría para el agente ideal es que éste sea autónomo, que actúe por sí solo, que tome sus propias decisiones y en su propio tiempo, que sea adaptable, es decir, que aprenda de sus experiencias, de otras experiencias y de lo que el usuario prefiera.