Agentes cooperativos en sistemas automatizados
Texto completo
(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Automática y Sistemas Computacionales. TRABAJO DE DIPLOMA. Agentes cooperativos en Sistemas Automatizados. Autor: Adrian González Castellanos E-mail: [email protected]. Tutor: MsC. Ing. Robby Gustabello Cogle Prof. Asistente, Dpto. Automática y Sistemas Computacionales. Facultad de Ing. Eléctrica. UCLV. E-mail: [email protected] Santa Clara 2007 "Año 49 de la Revolución".
(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Automática, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Autor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.
(4) i. PENSAMIENTO. La imaginación es más importante que el conocimiento. Albert Einstein..
(5) ii. DEDICATORIA. A todos aquellos que han hecho posible la realización de este sueño y para los que pensaron que no llegaría, también. Para mis abuelos y mi tío que siempre han estado ahí, para mi mamá que aunque está lejos me quiere mucho, para mi novia linda. Para los socios de toda la vida en Sagua la Grande y para los hermanos de la universidad..
(6) iii. AGRADECIMIENTOS. Agradezco a todos los que me brindaron ayuda para realizar este trabajo. A mi tutor por su orientación y su ayuda. A mi familia especialmente, por toda su dedicación y esfuerzo para ayudarme todo este tiempo. A mi novia por todo su apoyo. A mis compañeros de estudio por su compañía durante estos cinco años. Al rock and roll por ser parte de mi vida..
(7) iv. TAREA TÉCNICA. 1. Revisión bibliográfica sobre la teoría de agentes inteligentes dentro de la inteligencia artificial. 2. Revisión bibliográfica sobre filosofía general y aplicaciones de sistemas multiagente. 3. Análisis de las características y funcionamiento de los sistemas SCADA’s tradicionales. 4. Estudio de las aplicaciones que se reporten del funcionamiento de sistemas SCADA con el empleo de la filosofía multiagente. 5. Análisis de las ventajas y resultados obtenidos con la implementación de estas aplicaciones. 6. Elaboración del informe final.. Firma del Autor. Firma del Tutor.
(8) v. RESUMEN. Este trabajo tiene como objetivo lograr una buena sistematización bibliográfica sobre la teoría de agentes como entidades que conforman un sistema multiagente (SMA) dentro del campo de la Inteligencia Artificial. Además se expone una enfoque sobre los SCADA’s tradicionales y la aplicación de agentes cooperativos a estos sistemas en procesos automatizados para demostrar las ventajas de la aplicación de esta nueva tecnología..
(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO ....................................................................................................................i DEDICATORIA.................................................................................................................... ii AGRADECIMIENTOS ....................................................................................................... iii TAREA TÉCNICA................................................................................................................iv RESUMEN .............................................................................................................................v INTRODUCCIÓN ..................................................................................................................1 CAPÍTULO 1.. Agentes en el mundo informático...............................................................4. 1.1. Nociones básicas sobre Inteligencia Artificial (IA)................................................4. 1.2. Inteligencia Artificial Distribuida...........................................................................7. 1.3. Agentes inteligentes, características distintivas......................................................9. 1.3.1 1.4. Tipos de agentes según la tarea que realizan ................................................12 Sistemas Multiagente (SMA)................................................................................14. 1.4.1. Organización Social......................................................................................14. 1.4.2. Cooperación ..................................................................................................16. 1.4.3. Coordinación.................................................................................................17. 1.4.4. Negociación ..................................................................................................18. 1.5. Arquitecturas de Agentes......................................................................................21.
(10) vii 1.5.1. Arquitecturas deliberativas ...........................................................................21. 1.5.2. Arquitecturas reactivas .................................................................................23. 1.5.3. Arquitecturas híbridas...................................................................................26. 1.6. Aplicaciones de los Agentes .................................................................................29. 1.7. Consideraciones Parciales.....................................................................................32. CAPÍTULO 2. 2.1. Sistemas Multiagente en ambientes SCADA ...........................................33. Funcionamiento tradicional de un sistema SCADA .............................................33. 2.1.1. Componentes, funciones y requisitos de un SCADA ...................................34. 2.1.2. Módulos de un SCADA................................................................................39. 2.1.3. Ventajas y desventajas de un SCADA..........................................................42. 2.2 2.2.1. Sistemas Multiagentes en la automatización ........................................................43 Arquitectura SCDA-SMA. Análisis de PEDA .............................................44. 2.3. Resultados Prácticos .............................................................................................48. 2.4. Ventajas ingenieriles de SMA para el diagnóstico de averías ..............................50. 2.5. Consideraciones Parciales.....................................................................................52. 2.6. Análisis Técnico-Económico ................................................................................52. CONCLUSIONES Y RECOMENDACIONES ...................................................................54 Conclusiones.....................................................................................................................54 Recomendaciones .............................................................................................................54 REFERENCIAS BIBLIOGRÁFICAS .................................................................................56.
(11) Introducción. 1. INTRODUCCIÓN. La tecnología de agentes está recibiendo una gran atención por parte de la comunidad de investigadores de diferentes ramas para el desarrollo de diferentes aplicaciones dadas las prometedoras ventajas que tienen estos sistemas. Desde el surgimiento del concepto agente a finales de la década del 80 a la actualidad la teoría de agentes se ha ido desarrollando paulatinamente ya que es un campo de investigación en pleno avance. El estudio de agentes se realiza dentro de la Inteligencia Artificial Distribuida que es un subcampo de la Inteligencia Artificial que estudia el comportamiento de entidades cooperantes para la resolución distribuida de problemas. Estas entidades conocidas como agentes han sido definidas por diferentes autores de disímiles formas. pero las más. aceptada por los investigadores es en la que los agentes reúnen un conjunto de propiedades determinadas (Wooldridge and Jennings, 1995). Al conjunto de agentes que interactúan entre sí e intercambian información se le conoce como Sistema Multiagente (SMA) que representan una nueva forma de analizar, diseñar e implementar sistemas de software complejos. Un sistema multiagente está formado por diferentes agentes autónomos que interactúan entre sí, para de este modo lograr la funcionalidad deseada. Cada agente realiza una serie de tareas, y se comunica con otros para intercambiar información o demandar algún servicio. Estos sistemas están regidos por un conjunto de características holísticas como negociación, coordinación, cooperación y organización para que el funcionamiento del mismo sea óptimo. Durante mucho tiempo los sistemas SCADA’s han operado a través del empleo de módulos con cierta independencia y que no siempre han tenido asociada “inteligencia” para el trabajo. Sin embargo, en los últimos años se ha investigado con creciente interés para su desarrollo en sistemas multiagentes, o sea, empleando agentes cooperativos..
(12) Introducción. 2. Desde el punto de vista científico el cambio constituye un adelanto por el hecho de romper con esquemas de trabajo establecidos durante años, logrando con esto apreciables mejoras en la computación aplicada a los procesos. En la economía puede significar el logro de mayores ganancias a partir de una mayor productividad y eficiencia de los procesos. Es objetivo de este trabajo es hacer una revisión bibliográfica del estado actual de los agentes inteligentes y de su uso en sistemas SCADA es por ello que el principal problema que intentaremos resolver será conocer qué tan bien opera un sistema automatizado con el empleo de agentes cooperativos y sin estos. Con este proyecto se pretenden dos aspectos fundamentales: lograr una buena sistematización bibliográfica que le proporcione a los estudiantes de la carrera de automática conocimientos novedosos sobre el desempeño de los sistemas multiagente dentro de la IA y una visión sobre sistemas SCADA’s tradicionales y con la aplicación de agentes cooperativos a procesos automatizados Esta tecnología constituye una herramienta más a la hora de dar solución a los problemas de la práctica. Además, los resultados de esta investigación poseen una aplicación práctica y teórica de gran importancia para la formación de los especialistas e investigadores de esta rama de la ingeniería. El Trabajo de Diploma se ha estructurado principalmente en: Resumen, Introducción, dos capítulos, Conclusiones y Recomendaciones. En el CAPÍTULO 1: “Agentes en el mundo informático” se realiza una profunda revisión bibliográfica acerca de la Inteligencia Artificial (IA), especialmente enfocada hacia la Inteligencia Artificial Distribuida. Se exponen diversas definiciones de agentes y finalmente se analiza su integración en sistemas multiagente, presentando características propias de estos sistemas, las arquitecturas que pueden presentar y diversas aplicaciones. A partir del estudio de estos temas se plantean algunas conclusiones en forma de consideraciones parciales. En el CAPÍTULO 2: “Sistemas Multiagente en ambientes SCADA” se expone una reseña sobre los sistemas SCADA tradicionales. Además se exponen las ventajas de los sistemas multiagente para su aplicación en los SCADA así como el estudio de la implementación en la industria real de agentes cooperantes y el análisis de los resultados.
(13) Introducción. 3. de este proyecto. Mediante el examen de estos argumentos se muestran las consideraciones parciales de este capítulo. En las conclusiones puede apreciarse el cumplimiento de los objetivos trazados al inicio de esta investigación. Se brindan al final del informe algunas recomendaciones de aspectos que pueden ser mejorados para continuar el desarrollo de esta temática..
(14) Capítulo 1.Agentes en el mundo informático. 4. CAPÍTULO 1. Agentes en el mundo informático. En este capítulo se introduce el término “agente” dentro del campo de la Inteligencia Artificial, específicamente, la Inteligencia Artificial Distribuida (IAD). Se presentan definiciones de agencia dadas por diferentes investigadores y la clasificación de agentes según la tarea que realizan en un sistema. Se expone el concepto de sistema multiagente y una serie de características propias de estos sistemas así como sus aplicaciones.. 1.1. Nociones básicas sobre Inteligencia Artificial (IA). El surgimiento de la Inteligencia Artificial (IA) tiene lugar en el verano de 1956, cuando un grupo de científicos encabezados por John McCarthy se reúnen en Darmouth College, para discutir el potencial de las computadoras en la simulación de la inteligencia humana (Buchanan, 2005). A partir de su surgimiento la Inteligencia Artificial puede definirse como: 1. Sistemas que actúan como el hombre donde esta afirmación supondría por parte de la IA el procesamiento del lenguaje natural, representación del conocimiento, razonamiento y aprendizaje automático. 2. Sistemas que piensan como el hombre con teorías del funcionamiento de la mente humana como son los campos de visión, el lenguaje natural y el aprendizaje. 3. Sistemas que piensan racionalmente utilizando sistemas inteligentes basados en la lógica formal pero tiene los inconvenientes de la representación del conocimiento con el uso de probabilidades y la explosión combinatoria de posibilidades..
(15) Capítulo 1.Agentes en el mundo informático. 5. 4. Sistemas que actúan racionalmente con el uso de agentes que dan percepción y actuación, se tiene la necesidad de resolver situaciones, que el pensamiento racional no puede por sí solo hacer como el acto reflejo de retirar la mano del fuego. El estudio de IA como agentes racionales tiene dos ventajas es más general que el pensamiento racional y más cercano al método científico que al comportamiento y el pensamiento humanos. El reto de la inteligencia artificial puede ser expresado mediante la interrogante ¿podemos hacer que una máquina simule el pensamiento humano? A pesar que el campo de estudio de la IA va más allá de la mera ciencia computacional, se ha ubicado tradicionalmente al dominio del conocimiento donde es definida como la rama de la ciencia computacional dedicada al desarrollo de programas cuyos productos finales, de ser atribuidos a un humano, presupondrían procesos mentales inteligentes. Durante los primeros quince años (Nilsson, 2000) las mayores actividades tuvieron lugar en el procesamiento del lenguaje natural, especialmente la traducción automática de textos de un idioma a otro, en la creación de juegos para computadoras y en la lógica computacional. Es en esta etapa que se produce el nacimiento de los sistemas expertos, se expone la tesis sobre lógica difusa, se introducen métodos de aprendizaje a través de redes neuronales y, a partir de 1965, comienzan a desarrollarse los robots industriales. Los primeros resultados en esta ciencia se lograron en el Instituto Tecnológico de Massachussets (Smith et al.), donde más tarde tendría esta una plaza fuerte. En 1970 la IA había probado ser más difícil de lo que se pensaba y su éxito era limitado. Durante esta década los investigadores comenzaron a tener sus primeros resultados, y se encontraron creando las técnicas y herramientas básicas necesarias para demostrar la aplicabilidad de sus sistemas (O’Hare and Jennings, 1996). El énfasis en el conocimiento, tan esencial como la inteligencia, conllevó a la creación de un subcampo denominado ingeniería del conocimiento, asociado con la creación de sistemas expertos. Esta década sentó las bases sobre las que se sustentaron los futuros éxitos. Los años ‘80 constituyeron la explosión de los Sistemas Expertos en todas las ramas de la ciencia, ya que aparecieron las primeras aplicaciones comerciales de los mismos y se.
(16) Capítulo 1.Agentes en el mundo informático. 6. popularizaron las redes neuronales. En 1987 Marvin Minsky publica “La Sociedad de la Mente” en la que describe el comportamiento de los agentes cooperantes (Buchanan, 2005). De esa época a la actualidad la IA ha tenido un desarrollo acelerado, provocando que se quieran construir sistemas inteligentes que se aproximen lo más posible a lo que se conoce del proceso cognoscitivo humano. Entre las vertientes más estudiadas están: 1. Las que tratan de imitar la actividad químico-biológica del cerebro humano, conocidas como (redes neuronales). 2. Las que se basan en las formas de razonar (razonamiento basado en casos) 3. Las basadas en el comportamiento humano para resolver problemas (inteligencia artificial distribuida). El desarrollo de potentes computadoras y la proliferación de las redes de estas, unido a la constatación de que muchas de las tareas desarrolladas por el hombre involucran un conjunto de individuos, provocaron el interés creciente por la aplicación de distribución en la IA. Este interés surge a partir de los finales de los años setenta cuando los grandes avances en la tecnología tanto del “hardware” como del “software” abrieron una nueva perspectiva a los investigadores de la IA (Bond and Gasser, 1988) . Estos avances incluyen la introducción de concurrencia en máquinas paralelas y la posibilidad de distribuir los recursos computacionales a través de redes de ordenadores. Los adelantos tecnológicos, apoyados también por la observación de que las soluciones humanas a los problemas del mundo real habitualmente implican colaboración entre personas, permitieron la expansión de una nueva "y más poderosa, estrategia extensible para sobrepasar los límites inherentes a la inteligencia presente en cualquier sistema individual de IA o en cualquier sistema natural" (Durfee, 1991) . Ello dio lugar a la aparición, en los finales de la década del ’80, de una nueva disciplina: la Inteligencia Artificial Distribuida (IAD) (Decker, 1987) ..
(17) Capítulo 1.Agentes en el mundo informático 1.2. 7. Inteligencia Artificial Distribuida. La Inteligencia Artificial Distribuida se considera un subcampo de la IA que trata el tema de los comportamientos inteligentes colectivos, producto de la cooperación de diversas entidades denominadas agentes (Márquez, 1998). En ella se estudia como un grupo de módulos (Barber et al., 2002) cooperan para dividir y compartir el conocimiento del problema y como se desarrolla la solución. La IAD se centra en el comportamiento global, con un comportamiento prefijado de los agentes. Estudia las técnicas y el conocimiento necesarios para la coordinación y distribución del conocimiento y las acciones en un entorno multiagente. Los sistemas cooperativos son sistemas que participan activamente en la coordinación de actividades (Quintero. et al., 1999) . Ellos toman "conciencia" de la estructura del problema a resolver y participa en su resolución. En sentido general se persigue la interacción de hombres y máquinas como agentes inteligentes dentro de un sistema para conformar una entidad inteligente que permita enfrentar problemas. Debido al enorme volumen información que se genera cada momento en cualquier ámbito profesional, surge el problema de extraer conocimiento de esta. Se trata de ser capaces de seleccionar lo que realmente es válido, tarea que resulta cada vez más costosa. Es en ese entorno donde un agente inteligente puede tomar importancia relevante pues ayuda, por ejemplo, a evitar horas innecesarias delante de la computadora personal (‘PC’, por sus siglas en inglés) navegando por Internet para seleccionar datos relevantes. Un agente inteligente también puede diseñarse para realizar otras tareas aparte de la búsqueda, filtrado y recuperación dentro de una red de información; entre ellas acciones para comercio electrónico, monitorización y control de procesos. En la IAD (Barber et al., 2002) los agentes que se encuentran en ambientes reales necesitan disponer de medios para controlar sus propias deliberaciones y también deben ser capaces de utilizar el tiempo concedido para razonamiento en ejecutar aquellos cálculos que aporten el mejor rendimiento. A medida que los sistemas de IA vayan aplicándose a dominios más complejos, todos los problemas se convertirán en problemas de tiempo real, puesto que el agente nunca dispondrá de suficiente tiempo para encontrar una solución exacta a un problema..
(18) Capítulo 1.Agentes en el mundo informático. 8. Dentro de la IAD podemos distinguir tres vertientes: La “autónoma” se centra en el estudio de los agentes individuales situados en un mundo social (Castelfranchi and Conte, 1996) . Se modifica la visión inicial de la IAD en que la “perspectiva social” significa que la sociedad prima sobre los individuos y se centra en estudiar agentes autónomos en un mundo multiagente, de acuerdo con el título de los congresos europeos de IAD titulados MAAMAW (Modelling Autonomous Agents in a Multi-Agent World por sus siglas en inglés). Esta clasificación parte de la realizada por Nwana (Nwana, 1995) y no está extendida. En la literatura consultada se han encontrado referencias a la IAD clásica y la llamada aquí “IAD autónoma” no tiene denominación clara. Frecuentemente IAD es un sinónimo de IAD clásica. La “comercial”, que se centra en la aplicación de la IAD clásica y autónoma para el desarrollo de agentes inteligentes y su explotación comercial (Nwana, 1995). Esta se subdivide a su vez en tres áreas: 1. Teoría de agentes, que intenta responder a la pregunta qué es un agente y definir los formalismos matemáticos utilizados para razonar y representar sus propiedades. 2. Arquitecturas de agentes, que trata las arquitecturas de “software” y “hardware” utilizadas para reflejar las propiedades teóricas de los agentes. 3. Lenguajes de agentes, que son los sistemas de software utilizados para la programación y experimentación con agentes. La “clásica”, que estudia las técnicas, coordinación y distribución del conocimiento, así como acciones y conducta colectiva en un entorno de múltiples agentes, divididas en dos áreas principales (Márquez, 1998): 1. La Resolución Cooperativa de Problemas Distribuidos (“DPS”, por sus siglas en inglés), donde un conjunto de nodos coopera dividiendo y.
(19) Capítulo 1.Agentes en el mundo informático. 9. compartiendo el conocimiento de un problema y en el desarrollo de la solución. 2. Los Sistemas Multiagente (SMA), que estudian el comportamiento de agentes inteligentes que resuelven un problema de manera cooperativa. La principal diferencia entre ambas áreas se encuentra en la flexibilidad de la coordinación entre los agentes. En la DPS, las interacciones y tareas que cada agente realiza están prefijadas de antemano: hay un plan centralizado de resolución del problema. Suele haber un miembro que ejerce un control global que centraliza los resultados parciales y los datos entre el resto de los componentes del sistema. En contraposición, en los SMA los agentes tienen un grado de autonomía mayor y pueden decidir dinámicamente qué interacciones son adecuadas, qué tareas deben realizar, quién realiza cada tarea y, además, es posible mantener el conocimiento que no es globalmente consistente, incluso los agentes pueden mantener objetivos globales diferentes. En la actualidad ambas áreas se consideran como una, sin embargo, esta distinción inicial permitía diferenciar entre sistemas que se centraban en el comportamiento global, con una conducta fija de los agentes (DPS) y sistemas que se centraban en la conducta de los individuos que como resultado, obtenían una conducta del sistema (SMA). Si realizamos una analogía con las sociedades humanas, las dos posturas serían resolver un problema con un estado (el diseñador) que planifique y regule las conductas de los individuos (que serán predecibles) o dejar que el sistema se resuelva por la libre iniciativa de los individuos. 1.3. Agentes inteligentes, características distintivas. La pregunta ¿qué es un agente? resulta tan embarazosa como la interrogante ¿qué es la inteligencia? Ello se debe a que, aunque el término es ampliamente utilizado por muchos usuarios, desafía los intentos de establecer una definición única y universalmente aceptada; sin embargo esto no debe ser necesariamente un problema. Si se desarrollaran con éxito muchas aplicaciones interesantes y útiles, entonces apenas importaría que no se estableciera un acuerdo sobre detalles terminológicos potencialmente triviales, más se correría el riesgo de convertir la palabra en un término mal empleado, confundiendo a la comunidad de investigadores..
(20) Capítulo 1.Agentes en el mundo informático. 10. El campo de los agentes ha atraído a científicos procedentes de áreas muy dispares: psicología, sociología, ingeniería del software, inteligencia artificial, etc. y cada uno de los miembros de estas comunidades tiende a ver el problema desde su perspectiva (Foner, 1993). Por tanto, realizar una definición de agente o agencia es complicado, debido a la diversidad de opiniones que existen en la comunidad científica sobre este tema (Franklin and Graesser, 1996). A manera de introducción a este concepto de manera general a podemos ver a un agente como un sistema informático, situado en algún entorno, dentro del cual es capaz de realizar acciones de forma autónoma y flexible para así cumplir sus objetivos y cambiar su entorno (Russell and Norvig, 1995). En la literatura consultada se pudieron encontrar varias definiciones, algunas de las cuales se exponen a continuación. El término agente inteligente se usa para representar dos conceptos ortogonales. El primero es la habilidad de un agente para la ejecución autónoma. El segundo es la habilidad que tiene un agente para hacer razonamientos orientados al dominio que se esté tratando (Virdhagriswaran, 1994). Los agentes autónomos son sistemas computacionales que habitan en entornos dinámicos complejos, percibiendo y actuando autónomamente en ese entorno, y realizando un conjunto de metas o tareas para las que han sido diseñados (Maes, 1994). Un agente es una entidad de software persistente dedicada a un propósito específico. La ‘persistencia’ distingue a los agentes de las subrutinas; los agentes tienen sus propias ideas sobre como ejecutar tareas, sobre sus agendas. Con ‘propósito específico’ se distinguen los agentes de las aplicaciones multifunción, que son típicamente más pequeños (Smith et al., 1994). Los agentes inteligentes realizan continuamente tres funciones: percibir condiciones dinámicas en el entorno, actuar afectando a las condiciones del entorno, y razonar.
(21) Capítulo 1.Agentes en el mundo informático. 11. para interpretar lo percibido; resuelven problemas, muestran interfaces y determinan acciones (Hayes-Roth et al., 1995). Los agentes inteligentes son entidades “software” que llevan a cabo un conjunto de operaciones en beneficio de un usuario u otro programa con algún grado de independencia o autonomía, y haciendo esto, emplean algún conocimiento o representación de las metas y deseos del usuario (Gilbert, 1995). En estas definiciones, la propiedad de autonomía tiene gran importancia, y se obvia el término inteligente. Los estudiosos del tema no se ponen de acuerdo, pues algunos valoran mucho la autonomía y otros en cambio piensan que ya existían sistemas autónomos y que la propiedad que caracteriza a un agente es la inteligencia. Dada la controversia sobre la definición de agente se ha optado por enumerar propiedades que lo caractericen. Así, se pueden distinguir dos nociones según los investigadores en IA Wooldridge y Jennings (Wooldrige and Jennings, 1998): Noción débil de agencia: Sistema de hardware o de cómputo basado en software que contiene las propiedades de autonomía, habilidad social, reactividad y proactividad. Autonomía: Los agentes actúan sin la intervención directa de las personas. Poseen la capacidad de razonamiento para generar cursos de acción. Sociabilidad: Los agentes interactúan con otros agentes mediante algún mecanismo de comunicación. Reactividad: Los agentes perciben su ambiente (mundo real, interfaz gráfica, conjunto de otros agentes, Internet o combinación de estos) y responden a los cambios de éste. Proactividad: Los agentes no solo actúan en respuesta a su ambiente, sino que son capaces de tener comportamiento orientado a metas. Noción fuerte de agencia: Sistema computacional que, además de las propiedades mencionadas en la noción débil de agencia, es conceptualizado e implementado usando propiedades que son inherentes a los humanos:.
(22) Capítulo 1.Agentes en el mundo informático. 12. Cooperación: En consecuencia a la sociabilidad, la cooperación entre agentes es una razón de ser para tener múltiples agentes que resuelven problemas. Aprendizaje: Los agentes para ser inteligentes requieren la propiedad de poder aprender del ambiente que les rodea. Veracidad: Un agente no comunica deliberadamente información falsa. Benevolencia: Los agentes no tienen metas conflictivas, hará siempre lo que se les pida. Racionalidad: Un agente actuará para alcanzar sus metas en la medida que sus creencias, conocimientos y capacidad de razonamiento se lo permitan. Movilidad: Algunos agentes tienen la habilidad de viajar en una red de computadoras (en Internet, por ejemplo). Al dar estas características a los agentes se suelen considerar como entidades cuya conducta se puede predecir atribuyendo creencias, deseos y una conducta racional. Para representar estas intenciones, se emplean diversos formalismos lógicos como la teoría de la intención (Cohen et al., 1990), la lógica multi-modal BDI (Creencia, Deseo, Intención por sus siglas en español) (Rao and Georgeff, 1991) y la familia de lógicas para especificar sistemas multiagente (Wooldridge, 1992).. 1.3.1. Tipos de agentes según la tarea que realizan. Junto con los tipos de agentes extraídos de las combinaciones de las características dadas anteriormente, aparecen otras clases de agentes (Amor et al., 2005), identificadas por otra serie de cualidades (uso de información, etc.). En conjunto los agentes se clasifican en las siguientes divisiones: Agentes Colaborativos: Este tipo de agentes pone un mayor énfasis en los aspectos de autonomía y cooperación. Ellos disponen de los mecanismos necesarios para negociar unas condiciones de cooperación satisfactorias que les permitan resolver un problema general..
(23) Capítulo 1.Agentes en el mundo informático. 13. Agentes de Interfaz: Las cualidades de aprendizaje y autonomía caracterizan a estos agentes. El prototipo de agente de este tipo es el asistente personal que colabora directamente con el usuario en su propio entorno de trabajo; su aplicación más habitual es la de guiar procesos de aprendizaje en un nuevo entorno o como herramientas que aprenden de las acciones del usuario con la intención de conseguir un mayor aprovechamiento del medio. Agentes Móviles: Este grupo de agentes se podría definir como las aplicaciones software capaces de recorrer grandes redes (como Internet), interactuando con cada uno de los servidores, realizando una serie de tareas en nombre de su propietario y regresando al punto de origen. Agentes de Internet/Información: Este tipo de agente se centran en gestionar, manipular y registrar fuentes de información que se encuentran distribuidas. Su principal aplicación ha sido en la exploración de la información contenida en los documentos WWW. Los agentes desarrollados con la intención de obtener esta información se suelen denominar softbots (‘software robot’). Contrariamente de lo que pueda parecer, este tipo de agentes no suelen ser agentes móviles, más bien suele tratarse de sistemas integrados dentro de la herramienta de navegación (‘browser’). Agentes Reactivos: Los agentes de esta clase se caracterizan por no contener ninguna representación simbólica del entorno. Esto implica que al no disponer de un modelo del mundo en el que se encuentran, su funcionamiento está regulado por unos mecanismos estímulo-respuesta. Agentes Híbridos: Estrictamente, este elemento de clasificación no se corresponde con un tipo concreto de agente, sino con los casos en los cuales se define una combinación de las características de dos tipos de agentes. Estos agentes cumplen con todas las características expuestas en la noción débil y fuerte de agencia pero ellos se diseñan de. manera que se pone énfasis en una propiedad en. específico para que esta entidad realice una tarea determinada..
(24) Capítulo 1.Agentes en el mundo informático. 14. Al conjunto de estas entidades cooperantes que reúnen una serie de propiedades, dentro de un sistema que actúa como un todo, para la resolución de problemas y alcanzar la solución de los mismos se le denomina Sistema Multiagente (SMA).. 1.4. Sistemas Multiagente (SMA). El estudio de Sistemas Multi-Agentes se inició hace cerca de 20 años, dentro del área de la Inteligencia Artificial Distribuida (IAD). Estos sistemas se utilizan (Quintero. et al., 1999) conectados en red y su objetivo no es solo compartir recursos o bases de datos (modo pasivo), sino también compartir conocimientos (modo activo). El sistema participa en la resolución del problema ya sea evaluando el estado de resolución en curso, analizando las diferencias entre el plan de actuación previsto y el real o decidiendo qué aportaciones o respuestas de los agentes son admisibles. En cuanto a las características holísticas de estos sistemas se tienen en cuenta: organización social, cooperación, coordinación y negociación. 1.4.1. Organización Social. Esta característica se encuentra relacionada con la propiedad de sociabilidad en los agentes. Se define como la manera en que el grupo de agentes está constituido en un instante dado (Quintero. et al., 1999). La organización social está relacionada con la estructura de los componentes funcionales del sistema, sus características, sus responsabilidades, sus necesidades y la manera como realizan sus comunicaciones. Esta organización puede ser estática o dinámica, dependiendo de las funciones o tareas de cada agente. Se puede considerar que una sociedad de agentes está constituida por tres elementos: 1. Un grupo de agentes. 2. Un conjunto de tareas a realizar. 3. Un conjunto de recursos. La realización de las tareas, puede ser organizada de varias formas, por ejemplo: cada agente ejecuta una de las tareas, o bien, las tareas son divididas en subtareas, por medio de.
(25) Capítulo 1.Agentes en el mundo informático. 15. algún mecanismo de descomposición de problemas y estas subtareas son las realizadas por los agentes. Las tareas que debe realizar un agente dependen, entre otros factores, del rol que este agente asume en el sistema. Por ejemplo, en un sistema oficina, un agente persona asume el rol de secretaria y realiza las labores relacionadas con ese rol; este mismo agente podría asumir el rol de jefe y realizaría labores muy diferentes, relacionadas con su nuevo rol. Para la realización de tareas un agente puede necesitar recursos del sistema, en este caso tiene que coordinarse con los otros agentes del sistema que deseen usar el mismo recurso. La organización en los SMA depende del tipo de comunicación y el modo de cooperación, así como del tipo de agentes que conforman el grupo. En general se pueden distinguir cuatro tipos de configuraciones organizacionales (Labidi and Lejouad, 1993): Estructura Centralizada: En este tipo de configuración existe un agente que controla la interacción de los demás agentes del sistema, porque tiene la información o la funcionalidad para hacerlo. Estructura Horizontal: Este tipo de configuración existe cuando todos los agentes que integran un sistema están al mismo nivel, es decir, no hay ningún agente que haga las veces de maestro o supervisor, ni tampoco agentes esclavos. Estructura Jerárquica: Esta configuración existe cuando los agentes trabajan diferentes niveles de abstracción de un problema, es decir, la configuración es de niveles. En un mismo nivel se establece una configuración horizontal, si hay más de un agente. Para resolver un problema cada agente divide el problema en subproblemas que él puede resolver, subproblemas que puede resolver con la cooperación de los agentes que están al mismo nivel y subproblemas que sabe que los agentes de niveles inferiores de la jerarquía pueden resolver. Estructura "ad hoc”: Esta configuración puede ser una mezcla de las tres anteriores. Se caracteriza porque la dinamicidad de la estructura está regida por el ajuste mutuo entre los pequeños grupos de agentes en el sistema..
(26) Capítulo 1.Agentes en el mundo informático. 16. Escoger una u otra estructura de organización depende de las funciones que deben cumplir los agentes del sistema, de las características de ellos y de qué tan complejo se quiere el sistema.. 1.4.2. Cooperación. La cooperación es la razón de ser de un sistema multiagente y mantiene estrecha relación con la propiedad de igual nombre en los agentes. En un SMA existen dos tipos de tareas que deben ser realizadas las tareas locales y las tareas globales (Quintero. et al., 1999) . Las locales están relacionadas con los intereses individuales de cada agente, mientras que las tareas globales son relativas a los intereses generales del sistema. Estas tareas globales son descompuestas y cada subtarea es realizada por un agente, de acuerdo a sus habilidades y bajo el supuesto de que la integración de la solución de las subtareas, llevará a la solución global. La descomposición de la tarea global no necesariamente garantiza la independencia de cada una de las subtareas, por ello se necesitan mecanismos de cooperación que permitan compartir resultados intermedios que lleven al progreso en la resolución de las tareas de otros agentes y al progreso de la solución global que debe alcanzar el sistema. Para que los agentes puedan cooperar de manera eficiente cada uno de ellos debe tener ciertas características, siendo las principales: Tener un modelo bien definido del mundo, que le permita localizar a los demás agentes, saber cómo comunicarse con ellos, qué tareas pueden realizar, etc. Poder integrar información de otros agentes con la suya, para formar conceptos globales o conocimiento conformado por varios agentes. Poder interrumpir un plan que se este llevando a cabo para ayudar o atender a otros agentes para que puedan cooperar entre sí cuando los agentes lo necesiten. La cooperación depende mucho de la configuración organizacional del grupo de agentes. Si la estructura es centralizada los agentes dependientes piden colaboración casi que permanente al agente maestro, si la estructura es jerárquica, la cooperación puede hacerse.
(27) Capítulo 1.Agentes en el mundo informático. 17. por niveles (en un mismo nivel) o de niveles superiores a niveles inferiores y si la estructura es horizontal la cooperación se hace entre todos los agentes. Existen varios modelos de cooperación, dentro de los cuales se pueden mencionar: Cooperación compartiendo tareas y resultados: Los agentes tienen en cuenta las tareas y los resultados intermedios de los demás para realizar las tareas propias. Cooperación por delegación: Un agente supervisor o maestro descompone una tarea en subtareas y las distribuye entre los agentes esclavos, para que sean resueltas. Después, el supervisor integra las soluciones para hallar la solución al problema inicial. Cooperación por ofrecimiento: Un agente maestro descompone una tarea en subtareas y las difunde en una lista a la que tienen acceso los agentes que integran el sistema, esperando que ellos ofrezcan su colaboración de acuerdo a sus habilidades. El supervisor escoge entre los ofrecimientos y distribuye las subtareas (Labidi and Lejouad, 1993).. 1.4.3. Coordinación. La coordinación entre un grupo de agentes les permite considerar todas las tareas a realizar y coordinarlas para no ejecutar acciones no deseables, por ejemplo que: 1. Los agentes no generen y comuniquen subsoluciones que afecten la solución de un problema. 2. Los agentes generen resultados redundantes. 3. Exista una distribución inapropiada de la carga de trabajo entre los agentes. La coordinación está relacionada con la planificación de acciones para la resolución de tareas, porque estos planes permiten: 1. Conocer en un alto nivel y predecir el comportamiento de otros agentes del sistema. 2. Intercambiar resultados intermedios para la solución de la tarea global..
(28) Capítulo 1.Agentes en el mundo informático. 18. 3. Evitar acciones redundantes, si ellas no son deseables. Hay varios modelos de coordinación de acciones entre agentes, pero los dos principales son los que se mencionan a continuación (Quintero. et al., 1999): Coordinación Global: Cuando el SMA determina y planifica globalmente las acciones de los diferentes agentes. Coordinación Individual: Cuando el SMA le da completa autonomía a los agentes, es decir, cada agente decide qué hacer y resuelve localmente los conflictos que detecte con otros agentes. Además de los modelos existen dos tipos de coordinación: Coordinación orientada por los problemas: En este tipo de coordinación, los agentes deben coordinar los planes de realización de acciones para prevenir interbloqueos, repetición de acciones y creación de inconsistencias. Coordinación orientada por la cooperación: En este tipo de coordinación los agentes no se coordinan a nivel de planes, sino a nivel de acciones. Esto significa que los agentes se coordinan en el momento de ejecutar acciones (Labidi and Lejouad, 1993).. 1.4.4. Negociación. Para que los mecanismos de cooperación y coordinación sean exitosos en un sistema de agentes que actúan interdependientemente, debe existir un mecanismo adicional, por medio del cual, los integrantes de un sistema se puedan poner de acuerdo cuando cada agente defiende sus propios intereses, llevándolos a una situación que los beneficie a todos teniendo en cuenta el punto de vista de cada uno. Este mecanismo es llamado negociación (Labidi and Lejouad, 1993) y (Hernández, 1995). Los procesos de negociación tienen como resultado la modificación o confirmación de las creencias de cada agente involucrado, en lo relacionado con los demás agentes y con el mundo en el que se desenvuelve..
(29) Capítulo 1.Agentes en el mundo informático. 19. 1. La negociación se caracteriza por tener los siguientes elementos: 2. Un número adecuado de agentes involucrados en el proceso. Un conjunto mínimo de acciones que se llevan a cabo en el proceso, como: proponer, evaluar, refutar, contraproponer, aceptar, rechazar, modificar, etc (Labidi and Lejouad, 1993). Este conjunto es llamado lenguaje: actos de habla con una lógica y una semántica especial. "El principal componente de la negociación como actividad social es el lenguaje" (Hernández, 1995).. La negociación se puede mirar bajo una perspectiva racional, la cual describe la negociación como un proceso de seis pasos (Hernández, 1995): 1. Definir el problema. 2. Identificar aspectos. 3. Ponderar criterios. 4. Generar alternativas. 5. Evaluar alternativas. 6. Formular solución.. En los SMA la mayoría de las veces el problema está bien definido, es decir, el primer paso no es relevante. Los demás pasos se pueden o no seguir (Neale and Bazerman, 1992), dependiendo del problema para el cual un grupo de agentes busca una solución. Los mecanismos de negociación utilizan diferentes reglas en lo relacionado con la distribución de recursos del sistema (Raiffa, 1982); (Albin, 1992) (Bazerman and Neale, 1993); (Hernández, 1995): Regla equitativa: Consiste en dividir los recursos disponibles en proporción a los aportes de cada miembro de grupo. Regla igualitaria: Establece una distribución de recursos en partes iguales para todos los miembros..
(30) Capítulo 1.Agentes en el mundo informático. 20. Regla según las necesidades: Consiste en la distribución de acuerdo a las necesidades individuales de cada miembro del grupo. Regla según el pasado: Rige la distribución siguiendo patrones o experiencias en negociaciones pasadas.. Hay otro tipo de reglas usadas en negociación, relacionadas con la toma de decisiones (Hernández, 1995): Consenso o unanimidad: Una decisión es tomada cuando todos los miembros de un grupo están de acuerdo con dicha decisión. Es muy posible que se llegue a esto después de negociar varias veces la decisión. Mayoría: Una decisión es tomada cuando la mayoría de los miembros de un grupo está de acuerdo con dicha decisión. La definición de "mayoría" depende del sistema y se puede relacionar con el número de votos a favor de una decisión o con el peso de tales votos Para que una negociación sea exitosa es necesario un protocolo que facilite y en lo posible garantice la convergencia de ideas a una solución común. Un protocolo establece un conjunto de pasos que debe seguir un proceso de negociación, así como las posibles respuestas de un agente, a las acciones de otro agente. Estos protocolos se realizan mediante los Lenguajes de Comunicación de Agentes (“ACL”, por sus siglas en inglés), para que los agentes puedan interactuar entre sí y que el SMA funcione adecuadamente siguiendo un conjunto de reglas determinadas, siendo los más usados el Lenguaje de Manipulación y Búsqueda del Conocimiento (“KQML”, por sus siglas en inglés) (Genereth and Ketchpel, 1994) y la Fundación para Agentes Físicos (“FIPA”, por sus siglas en inglés) (FIPA, 2003)..
(31) Capítulo 1.Agentes en el mundo informático 1.5. 21. Arquitecturas de Agentes. Estas representan cómo construir sistemas computacionales reales que den cuenta de teorías o modelos particulares de agentes (Márquez, 1998) . Las arquitecturas de agente, representan el paso de la especificación a la implementación donde se satisfacen las propiedades de los agentes, las estructuras de hardware y software apropiadas para el sistema. Describirán la interconexión de los módulos software/hardware que permiten a un agente exhibir la conducta que desee el diseñador. Las arquitecturas de agentes tratan de compensar la toma de decisiones que van desde la deliberación basada en el conocimiento hasta las respuestas por acto reflejo, respuestas rápidas para situaciones en las que lo primordial es el tiempo y deliberaciones basadas en el conocimiento cuando el agente dispone de tiempo para tomar en cuenta más información, para planificar anticipadamente, para manejar situaciones en las que no hay disponible una respuesta inmediata y para proponer mejores respuestas adaptadas específicamente a la situación en curso. Uno de los aspectos básicos que diferencia una arquitectura de otra es el método de descomposición del trabajo en tareas particulares (López et al., 2004) . A este respecto existen tres tipos: las deliberativas, las reactivas y las híbridas. 1.5.1. Arquitecturas deliberativas. En este grupo encontramos arquitecturas que contienen un modelo simbólico, explícitamente representado, del entorno, en el cual las decisiones se toman mediante razonamiento pseudológico, basado en manipulaciones simbólicas. Pero para la implementación de la misma existen dos problemas importantes a resolver: 1. El problema de la transducción: Traducir el mundo real en una exacta y adecuada descripción simbólica, en el tiempo necesario para que esa descripción sea útil. 2. El problema de la representación/razonamiento: cómo representar simbólicamente información sobre entidades y procesos complejos del mundo real, y cómo conseguir agentes que razonen con esa información en el tiempo necesario para que los resultados sean útiles (Genesereth and Nilsson, 1987)..
(32) Capítulo 1.Agentes en el mundo informático. 22. En la Figura 1.1 se muestra una arquitectura deliberativa donde los agentes emplean planes donde se comprueban las creencias, deseos e intenciones. Las creencias son el conocimiento que el agente tiene sobre sí mismo y su entorno. Los deseos son objetivos que el agente que desea cumplir y como estos no pueden cumplirse al mismo tiempo, ya que los recursos son limitados, se introducen las intenciones que son los objetivos que en cada momento intenta cumplir el agente también existen, los planes, que permiten definir las intenciones como los procedimientos que un agente esta realizando en un momento dado.. Figura 1.1. Arquitectura de un agente deliberativo. A continuación se muestran algunos ejemplos de arquitecturas de este tipo que han sido implementadas: IRMA: Algunos investigadores han considerado estructuras para la teoría de agente basadas en creencias, deseos, e intenciones un ejemplo es la Arquitectura de Máquina de Recursos Inteligentes (IRMA, por sus siglas en inglés) (Bratman et al., 1988). Esta arquitectura tiene cuatro estructuras simbólicas de datos principales: una librería de planes, y las representaciones explícitas de creencias, deseos, e intenciones.. Además, tiene un. razonador, para razonar sobre el mundo; un analizador de recursos finales, para determinar qué planes pueden utilizarse para lograr las intenciones del agente; un analizador de.
(33) Capítulo 1.Agentes en el mundo informático. 23. oportunidad, que controla el entorno a fin de determinar opciones adicionales para el agente; un proceso de filtro; y un proceso de deliberación. HOMER: Un experimento interesante en el diseño de agentes inteligentes fue el de Vere y Bickmore (Vere and Bickmore, 1990). Argumentaron que las tecnologías de validación para agentes inteligentes están suficientemente desarrolladas como para construir un prototipo de agente autónomo, con habilidad lingüística, y capacidades de planificación y actuación. Desarrollaron tal agente, y lo denominaron HOMER. Este agente es la simulación de un robot submarino, que existe en un mundo marino bidimensional, del que tiene solamente conocimiento parcial. HOMER recibe instrucciones del usuario a partir de un conjunto limitado con unas 800 palabras del vocabulario inglés. GRATE: GRATE es una arquitectura de capas en la que el comportamiento de un agente se orienta por actitudes mentales como creencias, deseos, intenciones e intenciones conjuntas (Jennings, 1993). Los agentes se dividen en dos partes distintas: un sistema del nivel de dominio y una capa de cooperación y control. La primera resuelve problemas de organización; en el área del control industrial, finanzas o transporte. La segunda es un controlador de meta-nivel que opera en el sistema del nivel de dominio a fin de asegurar que las actividades del nivel de dominio del agente estén coordinadas con las de los de los otros agentes dentro de la comunidad. Las arquitecturas deliberativas tienen la ventaja de tener un modelo del ambiente que permite optimizar las acciones para obtener la vía más adecuada para dar solución a los problemas. Sin embargo pero tiene las limitaciones de la necesidad de un modelo preciso del ambiente, altos requerimientos de cómputo y memoria, dificultad de operar en un mundo dinámico o desconocido y la reacción “lenta” a situaciones imprevistas y sistemas de tiempo real. 1.5.2. Arquitecturas reactivas. Las reactivas son arquitecturas que no incluyen ningún tipo de. representación ni. razonamiento simbólico, sino que siguen un procesamiento ascendente, para lo cual.
(34) Capítulo 1.Agentes en el mundo informático. 24. mantienen una serie de patrones que se activan con ciertas condiciones de los sensores y tienen un efecto directo en los actuadores. Estas han sido propuestas como una alternativa para evitar los dos problemas que plantea la IA simbólica (Steels, 1990) y (Maes, 1989). Es decir las arquitecturas reactivas cuestionan la viabilidad del paradigma simbólico y proponen un diseño que actúa siguiendo un enfoque conductista, con un modelo estímulorespuesta. En la Figura 1.2 se muestra un esquema de una arquitectura reactiva. Nótese que está compuesta por capas que ejecutan una conducta determinada (explorar, evitar un obstáculo) y donde las capas inferiores tienen prioridad. Esta es una arquitectura de subsunción desarrollada por Brooks (Brooks, 1986).. Figura 1.2. Arquitectura de un agente reactivo. Algunos ejemplos de arquitecturas de este tipo que han sido implementadas son: Lenguajes de comportamiento: En 1986 Brooks planteó la arquitectura de subsunción (Brooks, 1986). Una arquitectura de subsunción va ser una jerarquía de tareas que efectúan comportamientos.. Cada. comportamiento “compite” con los demás para tener el control sobre el robot, donde las capas inferiores representan los objetivos primarios (como evitar obstáculos), y tienen prioridad. PENGI:.
(35) Capítulo 1.Agentes en el mundo informático. 25. Agre (Agre and Chapman, 1987)observó que la mayoría de las actividades diarias son “rutinas” ya que requieren poco razonamiento abstracto nuevo. La mayoría de las tareas, una vez aprendidas, pueden realizarse de manera rutinaria, con pocas variaciones. La idea es que como la mayoría de las decisiones son rutinarias, pueden codificarse en una estructura de bajo nivel (como un circuito digital), que solo necesita una actualización periódica, quizás para gestionar nuevos tipos de problemas. Autómata situado: Otro enfoque sofisticado es el de Rosenschein y Kaelbling (Rosenschein, 1985); (Rosenschein and Kaelbling, 1986);(Kaelbling and Rosenschein, 1990) y (Kaelbling, 1991). En su paradigma del autómata situado, un agente se especifica en términos declarativos. Esta especificación se compila entonces en máquina digital, que satisface la especificación declarativa. Esta máquina digital puede operar en un tiempo limitado; no hace ninguna manipulación de símbolos, y de hecho, se representan expresiones no simbólicas en la máquina. Arquitectura de Agente en Red: Pattie Maes desarrolló una arquitectura en la que un agente se define como un juego de módulos de competencia (Maes, 1989);(Maes, 1990) y (Maes, 1991). Cada módulo se especifica por el diseñador en términos de pre- y pos-condiciones y un nivel de activación, que da una indicación real de la relevancia del módulo en una situación dada. Cuanto más alto sea el nivel de activación de un módulo, más probable será que el mismo influya en el agente. Una vez especificado, el conjunto de los módulos de competencia se compila en una red de activación extendida, en la que los módulos se encadenan entre sí en las formas definidas por sus pre- y pos-condiciones. Cuando un agente se está ejecutando, diversos módulos pueden llegar a ser más activos en situaciones determinadas y debido a esto el agente puede ejecutarse. El resultado de la ejecución puede ser un comando a una unidad efectora del agente para realizar una tarea determinada. Las arquitecturas reactivas tienen la ventaja de tener bajo requerimiento de cómputo que influye en la rapidez de respuesta, facilitan el desarrollo modular y no requieren de un modelo simbólico del mundo. Sin embargo tiene las desventajas de no poderse emplear para efectuar tareas complejas, posee limitaciones sensoriales pueden ocasionar problemas.
(36) Capítulo 1.Agentes en el mundo informático. 26. al no contar con un modelo del mundo real y además no garantiza la mejor solución posible.. 1.5.3. Arquitecturas híbridas. Muchos investigadores han sugerido que ni un enfoque completamente deliberativo ni un enfoque completamente reactivo son apropiados para construir agentes. Surgen, entonces, los sistemas mixtos, que intentan unir los enfoques clásico y alternativo. Estas arquitecturas combinan módulos reactivos con módulos deliberativos. Los módulos reactivos se encargan de procesar los estímulos que no necesitan deliberación siendo capaces de reaccionar a sucesos que ocurren en su entorno sin comprometerse en el razonamiento complejo, mientras que los módulos deliberativos determinan qué acciones deben realizarse para satisfacer los objetivos locales y cooperativos de los agentes es decir que se desarrollan planes y toma decisiones tal y como propone la IA simbólica. En la Figura 1.3 se muestra una arquitectura híbrida compuesta por tres capas:. Figura 1.3. Arquitectura híbrida de tres capas..
(37) Capítulo 1.Agentes en el mundo informático. 27. 1. La capa reactiva: Esta capa (el fondo) consiste en varios agentes reactivos que se ocupan de un sistema distribuido desde un el punto de vista local para lograr un control adaptativo y rápido. 2. La capa de coordinación: Esta capa (el medio) apoya el modelado del sistema. Los agentes en esta capa incluyen el conocimiento heurístico para identificar qué evento activado de la capa reactiva es urgente, importante, o hay consumo innecesario de recursos. Estos agentes cuya meta es la consistencia del sistema, también ponen al día el modelo de mundo real de los sistemas y chequean si los planes (u orden) de la capa deliberativa (la cima) representa el estado actual del sistema. Si los planes no se corresponden con modelo del mundo real, los agentes en la capa media activan la capa deliberativa para modificar los planes. 3. La capa deliberativa: Esta capa consiste en agentes cognoscitivos que tienen metas y planes explícitos que les permiten logran sus objetivos siendo capaces de apoyar las decisiones basadas en supervisión de ancho de área y perspectiva de control. Los agentes en esta capa pueden inhibir las acciones de supervisión y las decisiones comenzadas por la capa reactiva para los propósitos de control. En la arquitectura propuesta, los planes y decisiones proporcionados por los agentes de la capa deliberativa se entregan a los agentes en la capa reactiva. Estos planes y decisiones pueden ser muy condensados para los agentes en la capa reactiva. Y viceversa, los eventos de la capa reactiva podrían contener demasiada información detallada, que puede ser un consumo innecesario de recursos, para que los agentes en la capa deliberativa identifiquen el estado actual del sistema. Para resolver estos problemas, la capa de coordinación se ubica entre la capa deliberativa y la capa reactiva. La capa de coordinación recibe entradas y eventos de los agentes en la capa reactiva para poner al día al modelo actualizado del mundo real actual. Los agentes en capas diferentes se comunican a través de la estructura de capas como muestra la Figura 1.3 además los agentes intercambian sus recursos, información, y decisiones mediante un método de. coordinación y una intranet. especializada. A continuación se muestran algunos ejemplos de arquitecturas de este tipo que han sido implementadas:.
(38) Capítulo 1.Agentes en el mundo informático. 28. PRS: Una de las arquitecturas de agente mejor conocidas es el Sistema Procedural de Razonamiento (PRS, por sus siglas en inglés), desarrollado en 1987 (Georgeff and Lansky, 1987). Como IRMA, el PRS es una arquitectura de creencia-deseo-intención, que incluye una librería de planes, así como representaciones simbólicas explícitas de creencias, deseos, e intenciones. Una librería de planes PRS contiene un conjunto de planes parcialmente elaborados, llamados áreas de conocimiento. TOURINGMACHINES: La arquitectura consiste en un subsistema de acción y otro de percepción, que interactúa directamente con el entorno del agente (Ferguson, 1992), y tres capas de control, incrustadas en una estructura de control, que media entre las capas. Cada capa es un proceso independiente, que produce actividad y se ejecuta concurrentemente. La capa reactiva genera cursos de acción en respuesta a los sucesos que ocurren rápidamente y que solo ella puede tratar. La capa planificadora construye planes y selecciona las acciones a ejecutar a fin de lograr las metas del agente. La capa de modelado contiene las representaciones simbólicas de los agentes y a través de estos modelos es capaz de identificar y resolver conflictos o posibles interferencias entre los agentes Las tres capas se comunican entre sí mediante pase de mensajes, y se encuentran incrustadas en una estructura de control. El propósito de esta estructura es mediar entre las capas y evitar conflictos entre las capas. COSY: La arquitectura COSY es una arquitectura BDI híbrida que incluye elementos de PRS (Georgeff and Lansky, 1987) e IRMA (Bratman et al., 1988), y se desarrolló específicamente para probar un multi-agente denominado DASEDIS (Burmeister and Sundermeyer, 1992) y (Haddadi, 1994). La arquitectura tiene cinco componentes principales: (i) sensores; (ii) actuadores; (iii) comunicaciones; (iv) cognición; e (v) intención. Los tres primeros son directos: los sensores reciben una entrada, los actuadores permiten que el agente ejecute acciones, y el componente de comunicaciones permite que el agente envíe mensajes. De los otros dos componentes, el de intención “contiene metas a.
(39) Capítulo 1.Agentes en el mundo informático. 29. largo plazo, actitudes y responsabilidades, los elementos de control toman parte en el razonamiento y toma de decisiones del componente de cognición” (Haddadi, 1994), y el componente de cognición es el responsable de mediar entre las intenciones del agente y sus creencias sobre el mundo, eligiendo una acción apropiada para su ejecución INTERRAP: INTERRAP es una arquitectura de capas, con cada capa consecutiva representando un nivel más alto de abstracción. (Müller and Pischel, 1994) y (Müller et al., 1995).. En. INTERRAP, estas capas se subdividen adicionalmente en dos capas verticales: una conteniendo capas de bases de conocimiento, y otra que contiene diversos componentes de control, que interactúan con las bases de conocimiento en su nivel. En el nivel más bajo se encuentra la componente interfaz del mundo, y la correspondiente base de conocimiento del modelo del mundo. La interfaz del mundo dirige la interacción entre el agente y su entorno, trabajando con acciones, comunicación, y percepción. La capa más alta en INTERRAP es el componente de cooperación. Este componente es capaz de generar planes conjuntos, que satisfacen las metas de cierto número de agentes, elaborando planes seleccionados desde una librería de planes. En las arquitecturas híbridas la comunicación entre los agentes no se realiza mediante símbolos de comunicación programa-a-programa sino una a través de una comunicación de conocimiento nivelado similar a la interacción humana (Yang et al., 2005) . Esta estructura de comunicación de los agentes garantiza un SMA abierto y flexible. A través de la coordinación entre los agentes de capas diferentes, el control distribuido en capas y el sistema automatizado se tendrá la ventaja de una respuesta rápida para lidiar con los eventos dinámicos e impredecibles y para sistemas de tiempo real.. 1.6. Aplicaciones de los Agentes. Existen muchas áreas de aplicación donde el empleo de agentes resulta especialmente prometedor ofreciendo nuevas perspectivas y posibilidades ya que por sus características pueden ser usados en múltiples sistemas. Numerosas aplicaciones basadas en este nuevo paradigma vienen siendo estudiadas para su implementación en infinidad de áreas..
(40) Capítulo 1.Agentes en el mundo informático. 30. Podemos destacar dos campos como serían las aplicaciones industriales y las comerciales (Jennings and Wooldridge, 1998): Control de procesos: Gestión autónoma de edificios inteligentes en cuanto a su seguridad y consumo de recursos, gestión del transporte de electricidad (ARCHON), control de un acelerador de partículas, monitorización y diagnóstico de fallos en plantas industriales, como por ejemplo nucleares o refinerías, control en el proceso de bobinado del acero y robótica. En otro tipo de área se han desarrollado aplicaciones para el control del tráfico aéreo en aeropuertos como el de Sydney en Australia. Producción: Aspectos como la planificación de la producción o fabricación de productos serían tratados desde la perspectiva de agencia. Se ha aplicado con éxito, por ejemplo, a sistemas encargados de las fases de ensamblaje, pintado, almacenamiento de productos, etc. Algunos ejemplos serían los proyectos AARIA, ABACUS, CORTES, MASCOT, Sensible Agents, YAMS, etc. Por otro lado, también está siendo empleado en aplicaciones comerciales, sobre todo a nivel de aplicaciones de red, tanto en Internet como en redes corporativas, podemos distinguir entre:. Gestión de información: Como por ejemplo el filtrado inteligente de correo electrónico (Agentware e InfoMagnet), de grupos de noticias o la recopilación automática de información disponible en la red (Letizia, AT1, BullsEye, Go-Get-It, Got-It, Surfbot y WebCompass). Tareas para las cuales el agente necesita ser capaz de almacenar, aprender y manipular las preferencias y gustos de cada usuario, así como sus cambios. La imposibilidad en ocasiones de gestionar todo tipo de información suministrada por la red ha provocado que el agente se especialice en la búsqueda de determinados tipos de documentos (CiteSeer). Otra posible línea sería la planificación de la agenda personal, en otras palabras, disponer de una secretaría virtual o asistente personal..
(41) Capítulo 1.Agentes en el mundo informático. 31. Comercio electrónico: En este caso la tecnología se emplea para proporcionar el entorno virtual donde realizar posibles operaciones comerciales (compra-venta de productos) o también para realizar tareas de búsqueda de productos (comparando precios, consultando disponibilidad) todo ello de manera automatizada (Jango, BargainFinder, Kasbah). En este caso, el agente debe poder comunicarse con las tiendas en línea utilizando protocolos que permitan trabajar con las interfaces de estas tiendas; actualmente, los usuarios pueden comprar y vender artículos comunes como libros y CD’s de música. El empleo de agentes aumentará el impacto del comercio electrónico en un futuro muy cercano, revelando asimismo cómo los agentes basados en la web pueden proporcionar un enorme poder añadido a los consumidores. Monitorización: Proporcionan al usuario la información cuando sucede un determinado acontecimiento; por ejemplo cuando la información ha sido actualizada, trasladada de lugar o borrada (WBI de IBM, BullsEye y Smart Bookmarks). Este tipo de agentes permite tener alerta a un usuario frente a eventos en la red interesantes para el mismo. La forma en que este tipo de agentes sirve la información a su usuario puede ser el indicar únicamente qué página o páginas han cambiado y desde cuando ha sucedido esto o llegar a bajarse el texto de las páginas actualizadas, filtrando en este caso imágenes, gráficos y demás. Mediador de diferentes fuentes de información: Se están realizando esfuerzos en la línea de desarrollar agentes que permitan interoperar a diferentes fuentes de información independientemente del sistema en que se hayan desarrollado.. Aplicaciones médicas: Donde la idea es disponer de agentes que realicen de forma autónoma tareas que pueden ser automatizadas en un hospital, como por ejemplo: la monitorización de pacientes en cuidados intensivos, empleado para monitorizar y controlar a pacientes ingresados en unidades de cuidados intensivos y la atención al paciente, estos sistemas se encargarían de seguir el tratamiento de un paciente controlando todos los aspectos relativos a la enfermedad que tenga el mismo..
(42) Capítulo 1.Agentes en el mundo informático. 32. Entretenimiento: Como pueden ser juegos (la aplicación de esta tecnología en juegos permite disponer de juegos más sofisticados, con características inteligentes donde se pueden incorporar personajes virtuales que pueden funcionar de forma casi autónoma) y el teatro interactivo y cine, donde se permite a un usuario interpretar el papel de un personaje en una obra donde el resto de los personajes pueden ser virtuales.. 1.7. Consideraciones Parciales. A lo largo de este capítulo se ha realizado un estudio de las nociones básicas de la inteligencia artificial, la teoría de agentes y la cooperación entre estos en un sistema. Se comprobó que aunque los especialistas de la materia no han logrado llegar a un acuerdo acerca de la definición del término agente, sí coinciden en las múltiples aplicaciones que estos pueden tener en la resolución de problemas dadas las ventajas que brindan sus características. Pudo verse también que existen diferentes arquitecturas para el desarrollo de agentes siendo la más aceptada de ellas la híbrida. Sobre esta base se procederá a analizar en el próximo capítulo las diferentes aplicaciones que se reportan en el mundo de la automatización, específicamente su incorporación dentro de un SCADA..
Figure
Documento similar
Implementación sencilla de todos los equipos de SMA en sistemas de monitorización y control (SCADA) de diferentes fabricantes. Integración de mediciones y parámetros
Aunque hasta el momento se han propuesto bas- tantes arquitecturas multiagente para el control de sistemas de fabricación, el enfoque más aceptado propone dos tipos de agentes
Microsoft Word MODELADO BASADO EN AGENTES novatica 11 doc Preprint Pav?n, J , L?pez Paredes, A , Gal?n, J M (2012) Modelado basado en agentes para el estudio de sistemas complejos
Modelación y Simulación de Sistemas Complejos basada en Agentes.. En el marco del : Cuarto Seminario “Pensamiento Sistémico y Análisis
FIPA-OS, como plataforma para el desarrollo de agentes, cumple con el estándar FIPA para el diseño e implementación de sistemas multi-agentes, así como
Este artículo describe una línea de investigación basada en el tema de agentes móviles en sistemas distribuidos y su relación con el proyecto de investigación general del
Como los sistemas de control industrial tales como SCADA, DCS, PLCs, y otras redes de control de procesos, usan cada vez más equipos que usan internet se exponen a ataques
Además, sería posible generar código para varios entornos de simulación basada en agentes, lo cual es intere- sante para replicar el mismo modelo sobre distintos entornos y