Presentación Trabajo Investigación: Programación de Agentes
por kabute , etiquetas:
Conclusiones (Post #7)
por kabute , etiquetas:
- La tecnología de Agentes es bastante madura, aún así no parece salir de ser “cutting edge”.
- Todo parece apuntar a los artefactos, roles y entornos como futuro próximo y cómo tema de investigación.
- La programación de agentes ha evolucionado en 2 áreas: los agentes móviles que han ganado nivel de abstracción y los agentes de “bajo nivel”.
Bibliografía Investigación (Post #6)
por kabute , etiquetas:
- F. Bellifemine, G. Caire, A. Poggi, G. Rimassa, Jade Whitepaper, EXP in search of innovation, número 3 - volumen 3, Septiembre 2003
- Matteo Baldoni, Guido Boella, Valerio Genovese, Roberto Grenna, Andrea Mugnaini and Leon van der Torre. A Middleware for modeling Organizations and Roles in Jade, Seventh international Workshop on Programming Multi-Agent Systems, Mayo 2009
- Alessandro Ricci and Mirko Viroli. A Formal Model for Artifact-Based Environments in MAS Programming, Seventh international Workshop on Programming Multi-Agent Systems, Mayo 2009
- Bo Chen, Harry H. Cheng,, and Joe Palen, Mobile-C: a mobile agent platform for mobile C/C++ agents, Wiley Interscience DOI 10.1002/spe 742, 13 de Julio de 2006
Programación de SMA (Post #5)
por kabute , etiquetas:
- Se ajusta a las especificaciones del Foundations of Intelligent Physical Agents (FIPA), ya que posee ACC, AMS y DF.
- Comunicación entre agentes usando el lenguaje ACL.
- En cierto modo tiene una arquitectura Peer to Peer.
- Tiene una clara orientación para uso en dispositivos móviles.

Jade es una plataforma madura por lo que no se esperan grandes cambios en un plazo medio, no obstante se encuentran en implementación una característica muy intersante como es el soporte de roles en los agentes, que se podrán definir como una característica adicional. Esto permitiría un comportamiento predefinido (inicialmente) según el rol asignado a un agente.
- Orientación “pura” a BDI (Belief-Desire-Intention), sobre todo por su derivación de AgentSpeak que así lo definía.
- Agentes muy reactivos por la antedicha orientación a BDI.
- Programación del ambiente en el que se encuentran inmersos los agentes.
- Usa comunicación por Knowledge Query and Manipulation Language (KQML).
- En muchos aspectos Jason ha sido sustituido por Jade pero sigue siendo usado en tareas de investigación.
- Rendimiento muy alto dado su programación en C o C++ (consume la mitad de recursos que Jade).
- Cumple con los estándares FIPA y usa ACL.
- Arquitectura peer to peer.
- Los agentes tienen una capacidad virtualmente ilimitada de adaptación, ya que pueden recompilarse a ellos mismos si fuese necesario en tiempo de ejecución.
- Orientado a agentes móviles en entornos heterogéneos.
Este framework quizás sea el más activo, actualmente se encuentran desarrollando soporte para la migración de agentes a otros entornos como Jade.
Programación de SMA (Post #4)
por Estévez , etiquetas: agentes, ingeniería del software, metodologías, sistemas multi-agente
ZEUS
ZEUS consta de una herramienta (ver figura 4) y una metodología, de forma similar a agenTool y MaSE.
Desde su aparición, ZEUS se ha convertido en referencia de cómo debe ser una herramienta para el desarrollo de SMA. Sobre todo, por la forma en que combinan los distintos resultados de investigación en agentes (planificación, ontologías, asignación de responsabilidades, relaciones sociales entre agentes) en un sistema ya ejecutable. De hecho, la aplicación genera incluso programas para arrancar el sistema especificado e incluye herramientas de monitorización como el Visor de Sociedad que muestra los agentes existentes y sus relaciones, la Herramienta de Control para ver o modificar remotamente el estado de los agentes y los Generadores de Informes para obtener estadísticas de funcionamiento e informes de actuación de la sociedad de agentes.
La metodología ZEUS propone un desarrollo en cuatro etapas: el análisis del dominio, el diseño de los agentes, la realización de los agentes y el soporte en tiempo de ejecución. Las etapas soportadas por la herramienta son la de realización de los agentes y la de soporte en tiempo de ejecución. Las etapas anteriores se basan en el uso de roles para analizar el dominio y en su asignación a agentes.
Hay poco que comentar acerca de ZEUS. Hasta la aparición de MaSE, ZEUS era herramienta referencia.
Hoy en día se encuentran muchos más artículos referenciando MaSE que ZEUS. Conceptualmente, ZEUS es superior a MaSE. Si bien la primera está más orientada a la aplicación de tecnología de agentes (planificación, definición de ontologías, secuenciación de tareas), la segunda se orienta más a las prácticas de ingeniería convencional.
GAIA
Es una metodología para el diseño de sistemas basados en agentes cuyo objetivo es obtener un sistema que maximice alguna medida de calidad global (no se llega a detallar cuál). GAIA pretende ayudar al analista a ir sistemáticamente desde unos requisitos iniciales a un diseño que, según los autores, esté lo suficientemente detallado como para ser implementado directamente.
Esta metodología sólo busca especificar cómo una sociedad de agentes colabora para alcanzar los objetivos del sistema, y qué se requiere de cada uno para lograr esto último.
La principal crítica que se puede hacer a GAIA es que se queda a un nivel de abstracción demasiado alto. Según los autores, con ello se consigue desacoplar GAIA de las distintas soluciones de implementación de agentes. Sin embargo, la utilidad de este desacoplamiento queda por demostrar. Dado el nivel de abstracción en que se queda es de esperar que el esfuerzo a invertir para pasar de una especificación GAIA hasta su implementación sea alto.
INGENIAS
INGENIAS define un conjunto de meta-modelos (una descripción de alto nivel de qué elementos tiene un modelo) con los que hay que describir el sistema. Los meta-modelos indican qué hace falta para describir: agentes aislados, organizaciones de agentes, el entorno, interacciones entre agentes o roles, tareas y objetivos. Estos metamodelos se construyen mediante un lenguaje de meta-modelado, el GOPRR (Graph, Object, Property, Relationship, and Role).
En la construcción de estos meta-modelos se integran resultados de investigación en forma de entidades y relaciones entre entidades. La instanciación de estos meta-modelos produce diagramas, los modelos, similares a los que se usa en UML, con la diferencia de que estos diagramas se han creado exclusivamente para definir el sistema multi-agente.
La ejecución de actividades para producir modelos se basa en la herramienta INGENIAS IDE (figura 5), una herramienta para modelado visual. Esta herramienta almacena la especificación del sistema utilizando XML.
Desde la especificación en XML, se plantea el procesarla :
- Para generar código. Genera código rellenando plantillas de código con información de la especificación.
- Para generar la documentación. De una forma similar a la generación de código, se parte de plantillas de documentación que se completan utilizando información de los modelos.
INGENIAS dispone de una cantidad ingente de entidades y relaciones. Su uso mediante la herramienta de soporte INGENIAS IDE, se facilita pero se sigue requiriendo que el desarrollador revise la documentación de la tesis para entender qué hace cada entidad y cuál es el propósito de cada relación.
Programación de SMA (Post #3)
por Estévez , etiquetas: agentes, ingeniería del software, metodologías, sistemas multi-agente
- utilización de diferentes vistas para la especificación del sistema,
- incorporar la idea de proceso de desarrollo,
- e integrar técnicas de ingeniería y teoría de agentes.
- La primera es la ingeniería de vocales (vowel engineering) [Demazeau 95] que fue una de las primeras en considerar diferentes aspectos (agentes, entorno, interacciones y organización) en el desarrollo de SMA.
- La segunda es MAS-CommonKADS [Iglesias 98][Iglesias et al. 98b] que, debido a su origen (CommonKADS [Tansley et al. 93]), se trata de una metodología orientada al desarrollo utilizando experiencia en sistemas expertos.
- A continuación el diseño basado en BDI [Kinny et al. 97] que ha influido notablemente en la forma de concebir el control de los agentes.
- Después, se estudian dos metodologías soportadas por herramientas: ZEUS [Nwana et al. 99]
- y MaSE [DeLoach 01].
- Seguidamente, se estudia GAIA [Wooldridge al. 00], de gran influencia, que estudia la definición de vistas en una metodología y trata de integrarse en un ciclo de vida de software tipo cascada.
- Por último, INGENIAS [Gomez et al. 02][Gomez 02], creada a partir del trabajo de MESSAGE [Caire et al. 02] en la que el autor de este trabajo participó activamente.
Se trata de la metodología seguida en el grupo MAGMA [MAGMA 03]. El término vowel engineering viene de que el sistema final depende de la ordenación y agrupamiento de aspectos identificados por cuatro vocales: A (por agentes), E(por entorno), I (por interacciones) y O (por organización). Para cada aspecto, se utilizan componentes y técnicas específicas. Para representar agentes se u desde simples autómatas hasta complejos sistemas basados en conocimiento.
El propósito de Vowel engineering es lograr librerías de componentes que den soluciones al diseño de cada uno de estos aspectos, para que posteriormente, el diseñador seleccione un modelo de agente, un modelo de entorno, un modelo de interacciones y modelos de organización a instanciar (ver figura 1).
El proceso de desarrollo es el punto debil de esta metodología. Vowel Enginering solo proporciona las vocales como resumen de elementos a considerar en el desarrollo y un conjunto de tecnologías aplicadas.
MAS-CommonKADS
La metodología CommonKADS gira alrededor del modelo de experiencia y está pensada para desarrollar sistemas expertos que interactúen con el usuario. De hecho considera sólo dos agentes básicos: el usuario y el sistema.
MAS-CommonKADS ha sido la primera en plantear un desarrollo de SMA integrado con un ciclo de vida de software, concretamente el espiral dirigido por riesgos [Pressman 82]. Propone siete modelos para la definición del sistema: agente, tareas, experiencia, coordinación, comunicación, organización y diseño. Cada modelo presenta referencias a la teoría sobre la que se basa. El modelo en sí parte de una descripción gráfica que luego se complementa con explicaciones en lenguaje natural de cada elemento. Existe por cada modelo una descripción de las dependencias respecto de otros modelos y de las actividades involucradas.
Es exhaustiva como pocas a la hora de detallar el sistema y además es consecuente con que el proceso de desarrollo en la mayoría de los casos es más complejo que un conjunto de pasos.
Esta metodología ha sido la primera en incorporar la idea de proceso de ingeniería en el sentido de Pressman [Pressman 82]. De hecho, describe con bastante detalle cómo se debe definir el sistema teniendo en cuenta las dependencias entre los modelos.
BDI
Las arquitecturas BDI se inspiran en un modelo cognitivo del ser humano [Bratman 87]. Según esta teoría, los agentes utilizan un modelo del mundo, una representación de cómo se les muestra el entorno. El agente recibe estímulos a través de sensores ubicados en el mundo. Estos estímulos modifican el modelo del mundo que tiene el agente (representado por un conjunto de creencias). Para guiar sus acciones, el agente tiene Deseos. Un deseo es un estado que el agente quiere alcanzar a través de intenciones. Éstas son acciones especiales que pueden abortarse debido a cambios en el modelo del mundo.
En esta metodología, la integración con el ciclo de vida de software es reducida. Los autores proponen una serie concreta de pasos para generar los modelos. Estos pasos se repiten haciendo que los modelos, que capturan los resultados del análisis, sean progresivamente elaborados, revisados y refinados.
Existen dependencias entre los diferentes modelos que dificultan el proceso de generación de los modelos que describen el SMA. Como solución proponen un proceso iterativo e incremental (idea también reflejada en el Proceso Racional Unificado [Jacobson et al. 99]) con realimentaciones. Sin embargo, la forma en que tienen lugar estas realimentaciones no se llega a mostrar con detalle.
Como en las anteriores metodologías, se echa de menos la presencia de herramientas de soporte. Sin embargo, los modelos formales que se pueden encontrar tras esta metodología constituyen una referencia obligada para aquellos interesados en la integración de teorías de agentes y las prácticas de ingeniería.
MaSE (Multi-agent systems Software Engineering)
Parte del paradigma orientado a objetos y asume que un agente es sólo una especialización de un objeto. La especialización consiste en que los agentes se coordinan unos con otros vía conversaciones y actúan proactivamente para alcanzar metas individuales y del sistema.
El proceso de desarrollo en MaSE es un conjunto de pasos, la mayoría de los cuales se ejecutan dentro de la herramienta que soporta MaSE, AgentTool. El análisis en MaSE consta de tres pasos: capturar los objetivos, capturar los casos de uso y refinar roles. Como productos de estas etapas se esperan: diagramas de objetivos, que representan los requisitos funcionales del sistema; diagramas de roles, que identifica roles, tareas asociadas a roles y comunicaciones entre roles y entre tareas; y casos de uso, mostrados no como diagrama sino como una enumeración de los casos de uso considerados con la posibilidad de usar diagramas de secuencia para detallarlos.
La herramienta de soporte, agentTool [DeLoach 01], permite generar código automáticamente a partir de la especificación del sistema, que en MaSe es el conjunto final de diagramas. La generación de código es independiente del lenguaje de programación utilizado, ya que se realiza recorriendo las estructuras de datos generadas en la especificación y generando texto como salida.
Programación de SMA (Post #2)
por kabute , etiquetas:
Hasta ahora se han tratado la programación desde el punto de vista de agentes como entes, sus comunicaciones e interacciones. Los SMA intentan plasmar en cierto modo el mundo real, y en el los humanos interactuamos a diario con artefactos, lo que se podría denotar como un signo de inteligencia, por esto se han introcido en el mundo de los agentes para que estos puedan también trabajar con ellos (aprovechando su "inteligencia").
Desde el punto de vista de los agentes un artefacto es un "objeto virtual" (abstracción del real) que puede ser explotado (sus cualidades) para conseguir sus objetivos. Con ellos se pueden realizar 3 acciones básicas:
- Creación y eliminación dinámica
- Descubrimiento de artefactos
- Compartición
- Uso
- Manipulación
- Cualidades
- Interfaz de uso
- Estados
- Eventos
Denotar que los artefactos requieren del conocimiento del uso de los mismos y cierto punto de inteligencia por parte del agente manipulador.
Framework CARTAGO
Para la introducción de los artefactos en los SMA se ha creado el framework programado en Java "CARTAGO".
Se encuentran disponibles funciones:
- Creación de artefacto: createArtifact(Name,TypeID,Conf,WspID)
- Descubrimiento de artefactos disponibles: getArtifactID(Name,WspID):AID
- Eliminar instancia de artefacto: disposeArtifact(AID)
Uso de artefactos:
- Uso del objeto enfocado: execOp(AID,Op(Name,Params),SID)
- "Enfocar": focus(AID,SID)
- "Desenfocar": unfocus(AID,ID)
- Visualizar estado del artefacto: getObsState(AID):ObsState
El framework se puede descargar de http://alice.unibo.it/xwiki/bin/view/CARTAGO/ y actualmente es compatible con Jason, Jadex, simpA - 2AP y se encuentra en desarollo el de JADE.
Seminario 3: Buscador Swoogle
por kabute , etiquetas:
Swoogle es un motor de búsqueda semántica de ontologías web, documentos, términos y datos publicados en la web. Emplea un sistema de rastreadores para descubrir los documentos RDF y documentos HTML con contenido incrustado RDF. El buscador razona (de algún modo) acerca de estos documentos y sus componentes y almacena sus metadatos más significativos en su base de datos para una posterior búsqueda.
Swoogle proporciona servicios a los usuarios humanos a través de un navegador y de agentes de software a través de servicios web “RESTful” (Transferencia de representación del Estado). Varias técnicas son usadas para clasificar los resultados de consultas inspirado en el algoritmo PageRank desarrollado por Google, pero adaptado a la semántica y a los patrones usados en los documentos de la web semántica.
El software fue desarrollado como tesis doctoral de Li Ding en la Universidad de Maryland, (en Baltimore) con financiación de la DARPA y la Fundación para la Ciencia norteamericana.

- “Descubridor” de Documentos de Web Semántica: Busca en la web en busca de documentos de web semántica (SWD), del mismo modo intenta mantener actualizados los que ya ha descubierto con anterioridad.
- Componente de creación de Metadatos: Genera los metadatos relacionados con cada SWD.
- Componente de análisis de datos: Analiza los SWD y sus metadatos para generar informes y clasificaciones.
- Interfaz: Sistema y Servicio Web para acceso tanto desde un navegador como desde agentes.
Así es la web principal de Swoogle:
Como se puede observar es una página semejante a la de búsquedas de google. Tiene una interfaz muy simple con un cuadro de texto en donde escribir las palabras a buscar.
-> La búsqueda bajo “ontology” sirve para buscar tanto en el documento como de forma “semántica” los términos (es decir, también bajo propiedades o etiquetas que pueden ser palabras que no sean nombradas explícitamente en el documento).
-> La búsqueda bajo “document” sirve para buscar palabras en los documentos.
-> La búsqueda bajo “term” sirve para buscar palabras que sean definidas o relevantes en el documento.
-> Si seleccionamos la opción “more>>” se nos mostrará una pantalla con las estadísticas del uso de la página web del día.
-> Para una búsqueda de palabras consecutivas usaremos las comillas [“ ”].
-> Para realizar búsquedas de rangos usaremos límite superior e inferior encerrados entre corchetes y con la palabra TO en medio. Los rangos serán bajo el formato YYYY-MM-DD.
-> Para realizar una búsqueda de carácter comodín de un solo símbolo usaremos “?”. Para realizar una búsqueda de cualquier carácter usaremos “*”.
-> Existen operadores booleanos para enlazar palabras en las búsquedas. Los operadores soportados son AND, OR y NOT.
-> En el caso de querer realizar búsquedas más concretas usaremos cadenas de búsqueda con etiquetas.
- url: buscamos palabras contenidas en una URL (entre comillas para una URL concreta)
- desc: buscamos la palabra en el medio del documento.
- def: buscamos documentos que contengan explícitamente la definición del término.
- ref: buscamos documentos que contengan la definición del término implícita.
- pop: buscamos documentos que tenga como autor o conocido a la persona indicada.
- ns: buscamos documentos bajo un espacio de nombres (url que contenga varios documentos)
- hasEncoding: buscamos documentos bajo cierta codificación de caracteres.
- hasLength:[100 TO 500]: buscamos documentos bajo una longitud de entre 100 y 500 bytes.
- hasFiletype: buscamos documentos de un tipo concreto.
- hasDateLastmodified:[2009-02-28 TO 2010-03-30]: buscamos documentos que fueron modificados por última vez entre el 28 de febrero de 2009 y el 30 de marzo de 2010.
- hasDateCache: 2010-03-30: buscamos documentos que encontró swoogle el 30 de marzo de 2010, o no modificados desde esa fecha (con respecto a la versión del servidor).
- AND: etiqueta infija, e innecesaria ya que separando por espacio realiza la misma función, que sirve para buscar documentos que contengan la palabra anterior y posterior a esta etiqueta.
- OR: etiqueta infija para buscar palabras en documentos de forma que contengan al menos una de las dos (anterior y posterior) escritas junto a la etiqueta.
- NOT: etiqueta infija para buscar palabras en documentos de forma que contenga la primera de ellas pero que no aparezca la segunda.
-> Para la combinación de etiquetas basta con escribir la etiqueta acompañada de los términos de la misma y, separadas por espacios, nuevas etiquetas con sus respectivos términos.
Recoge documentos Web semánticos de la Web, buscando en ficheros OWL, RDF y DAML o a través de páginas Web (HTML) que contengan documentos semánticos. Tiene más de 10.000 ontologías disponibles en la Web almacenadas en una base de datos en forma de URIs. Permite buscar además términos de cada vocabulario, esquema u ontología.
Por último, recalcar que no es un buscador dirigido al usuario final para encontrar recursos Web, sino que es para buscar, clasificar e incluso validar documentos y vocabularios de la Web Semántica.
• Li Ding, Tim Finin, Anupam Joshi, Rong Pan, R. Scott Cost, Yun Peng, Pavan Reddivari, Vishal C Doshi, y Joel Sachs, "Swoogle: A Search and Metadata Engine for the Semantic Web", Proceedings de la 30 Conferencia ACM en Gestión de la Información y del Conocimiento , Noviembre 2004
• Swoogle, "Página principal de SWOOGLE", Obtenida el 2 de mayo de 2010, http://swoogle.umbc.edu/ .
[Descarga PDF]
Programación de SMA (Post #1)
por kabute , etiquetas:
En la actualidad los grupos de investigación dedicados al área de programación de SMA se encuentran trabajando intensamente en diversas areas:
- Depuración y traceo de agentes basados en creencias, deseos e intenciones (Belief-Desire-Intention, BDI a partir de ahora).
- Estudio y mejora del uso de los BDI.
- Nuevas aproximaciones para la consecución de objetivos: compromisos para complementar a los BDI. En este punto podemos encontrar el lenguaje de comunicación "Albatross", que es una capa de abstracción superior de FIPA-ACL.
- Mejora de la algoritmia involucrada en la gestión de recursos compartidos entre agentes.
- Introducción del uso de artefactos por parte de los agentes, aumentando sus actos no solo a los comunicativos sino a los de interacción con los artefactos. Para la implementación de artefactos en un SMA se ha creado el framework CARTAGO, que permite introducirlos en uns sistema ya en producción, que puede haber sido creado inicialmente (por ejemplo) con JADE.
Agente y Sistema Multiagente: Definición y Características
por kabute , etiquetas:
Un agente es una entidad física o abstracta que puede percibir su ambiente a través de sensores, es capaz de evaluar tales percepciones y tomar decisiones por medio de mecanismos de razonamiento sencillos o complejos, comunicarse con otros agentes para obtener información y actuar sobre el medio en el que se desenvuelve a través de ejecutores.
Departamento de Ingeniería de Sistemas y Computación
Universidad de los Andes
Autores: Alejandro Quintero, Sandra Rueda Rodríguez y María Eugenia Ucrós C.
URL: http://agamenon.uniandes.edu.co/yubarta/agentes/agentes.htm
Verificado por última vez: 07/03/2010
Buscador: desde google
"Sistema informático que es capaz de realizar acciones autónomas en algún entorno para
cumplir sus objetivos de diseño".
Referencias:
Autor: Pedro Cuesta Morales, Web: Sistemas Multiagente
URL: http://sistemasmultiagente.blogspot.com/
Fecha: 9/11/2006
Verificado por última vez: 07/03/2010
Buscador: desde google
Un agente inteligente es "un sistema informático que es capaz de realizar acciones autónomas de forma flexible en algún entorno". Por flexible se entiende que el agente inteligente posee, además de autonomía, las siguientes características:
· Reactividad: percibe el entorno en el que está inmerso y responde de manera oportuna a los cambios que tienen lugar en él.
· Proactividad: tiene que tener un carácter emprendedor y tomar la iniciativa para actuar guiado por los objetivos que debe satisfacer.
· Sociabilidad: capacidad de interactuar con otros agentes (incluso humanos) utilizando alguna clase de lenguaje de comunicación de agentes, y quizás cooperar en la ejecución de tareas.
Sistema MultiagenteUn sistema multiagente es un sistema informático formado por un grupo de agentes que interactúan entre sí utilizando protocolos y lenguajes de comunicación de alto nivel, para resolver problemas que están más allá de las capacidades individuales o del conocimiento de cada resolutor de problemas.
Referencia:
Autor: Pedro Cuesta Morales, Web: Sistemas Multiagente, URL: http://sistemasmultiagente.blogspot.com/
Fecha: 9/11/2006
Un SMA está constituido por un conjunto de entidades inteligentes llamadas agentes que coordinan sus habilidades para la resolución de problemas individuales o globales. Estos sistemas considerados como un todo, exhiben características particulares, que se presentan a continuación:
Organización Social: Es la manera como el grupo de agentes está constituido en un instante dado. 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:
• Un grupo de agentes.
• Un conjunto de tareas a realizar.
• Un conjunto de recursos.
Cooperación: En un SMA existen dos tipos de tareas que deben ser realizadas: las tareas locales y las tareas globales. Las tareas locales son las tareas relacionadas con los intereses individuales de cada agente y las tareas globales son las tareas relacionadas con los intereses globales 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:
• Tener un modelo bien definido del mundo, que le permite 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 esté llevando a cabo para ayudar o atender a otros agentes para que puedan cooperar entre sí cuando los agentes lo necesiten.
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.
Esta coordinación está relacionada con la planificación de acciones para la resolución de tareas, porque estos planes permiten:
• Conocer a alto nivel y predecir el comportamiento de otros agentes del sistema.
• Intercambiar resultados intermedios que lleven al progreso en la solución a la tarea global.
• Evitar acciones redundantes, si ellas no son deseables.
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.
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.
La negociación se puede mirar bajo una perspectiva racional, la cual describe la negociación como un proceso de seis pasos:
• Definir el problema.
• Identificar aspectos.
• Ponderar criterios.
• Generar alternativas.
• Evaluar alternativas.
• Formular solución.
Control: El control es el mecanismo básico que provee apoyo para la implementación de mecanismos de coordinación en un SMA. El control se relaciona directamente con:
• Determinar cuáles son las subtareas más importantes a realizar en un momento dado.
• Determinar qué contexto (resultados intermedios de otros agentes) deben ser usados en la solución de una subtarea.
• Estimar el tiempo de generación de la solución a una subtarea.
• Evaluar si la solución de un problema ha sido generada. (Problema de la terminación).
Referencia:
Departamento de Ingeniería de Sistemas y Computación
Universidad de los Andes
Autores: Alejandro Quintero, Sandra Rueda Rodríguez y María Eugenia Ucrós C.
URL: http://agamenon.uniandes.edu.co/yubarta/agentes/agentes.htm






