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