Agente vs Objeto n n n Un agente está diseñado para realizar una está diseñado para realizar una tarea (alcanzar una meta), tarea (alcanzar una meta), el objeto se encarga de realizar un método procedimental realizar un método procedimental sencillo (función). Un agente tiene la capacidad de evaluar y tiene la capacidad de evaluar y seleccionar acciones, seleccionar acciones, un objeto se encarga de realizar una función específica que le fue encomendada. Un agente es capaz de justificar sus acciones, es capaz de justificar sus acciones, un objeto no necesita justificarlas ya que no necesita justificarlas ya que se encarga de realizar únicamente una sola encarga de realizar únicamente una sola función. Agente vs Objeto n n n Un agente es capaz de asumir diferentes es capaz de asumir diferentes roles, un objeto no posee roles. no posee roles. Un agente es capaz de negociar con otros es capaz de negociar con otros agentes, un objeto un objeto sólo recibe o envía mensajes. Un agente coordina y planifica las acciones, coordina y planifica las acciones, un objeto sólo recibe una orden (mensaje). sólo recibe una orden (mensaje). Agente LALO (CRIM, Canadá) Language d'Agents gents Logiciel Objet Agente LALO (CRIM, Canadá) Language d'Agents gents Logiciel Objet Capa de estado mental • Capacidades: Representa el conjunto de acciones que un agente puede realizar, correspondiente a sus habilidades y destrezas. • Creencias: Contiene el modelo del mundo del agente. Cada creencia consiste de un hecho que que el agente cree como cierto o falso, según el momento que se de de. Los agentes poseen una estructura de conocimiento sobre las capacidades de otros agentes. Este conocimiento se adquiere adquiere con los mensajes KQML que son procesados por el agente. • Compromisos: Se refiere a las acciones que un agente está comprometido a hacer para otros agentes agentes. • Decisiones: Contiene el itinerario de las acciones ejecutadas itinerario por el agente de acuerdo con las metas metas por realizar. SMA Blackboard Hayes Roth, 1985 Hayes Roth, 1985 ARQUITECTURAS DE SISTEMAS MULTIAGENTE. árbol fijo n­ario completo SISTEMA JERÁRQUICO Red de agentes conectada completa SISTEMA EN RED Niveles de representación basados en abstracción Niveles de representación basados en abstracción SISTEMA DISTRIBUIDO JERÁRQUICO Colección de grupos de agentes con un agente representante de grupo SISTEMA FEDERADO SMA RETSINA (SYCARA, CMU) SMA RETSINA (SYCARA, CMU) Sistemas Multi­Agente Sistemas Multi Características Organización Social Organización Social n Cooperación n Comunicación n Coordinación n Control n Organización Social Sistema Jerárquico n Sistema en Red árbol fijo n­ario completo SISTEMA JERÁRQUICO n Sistema Federado n Sistema Distribuido Jerárquico n Sistema por Niveles Sistema por Niveles n ... n Cooperación n El objetivo de la cooperación es mejorar el modo de trabajo de los agentes. Las formas de cooperación formas de cooperación entre agentes, las cuales dependen del contexto de resolución de problemas y del dominio de aplicación son: ­ Estructura organizacional Estructura organizacional ­ Planificación, ­ Negociación, ­ Intercambio de resultados Intercambio de resultados intermedios, etc intermedios, etc Comunicación 1) Parámetros de comunicación de bajo nivel (emisor (emisor, receptor, ID, etc.) 2) Lógica de la comunicación (protocolo, performativa, ontología, etc.) 3) Contenido real del mensaje (ejm. acción solicitada, confirmación, etc.) (ejm. acción solicitada, confirmación, etc.) Comunicación Mensaje Contenido Agente Agente KQML KQML Aplicativo Comunicación Mensaje Comunicación Contenido El lenguaje KQML está dividido en 3 capas: La capa de comunicación: Identifica las características del Identifica las características del mensaje que describen los parámetros de bajo nivel de la comunicación (emisor, receptor e identificador de mensaje). La capa de mensaje: Es el núcleo del lenguaje KQML. Es el núcleo del lenguaje KQML. Determina los tipos de interacción que puede realizar un agente. Identifica el protocolo (negociación, subasta, etc.), la ontología y el acto del habla (performative). La capa de contenido: relacionada con el contenido del relacionada con el contenido del mensaje. Puede expresarse en cualquier lenguaje. KQML sólo tiene interés en identificar el inicio y el final del contenido. tiene interés en identificar el inicio y el final del contenido. Comunicación KQML (Knowledge Query and Manipulation Language) MENSAJES n Primitivas (Cuya función es identificar el Cuya función es identificar el protocolo a ser usado para enviar el mensaje, ejm: Consultas básicas, , ejm: Consultas básicas, respuestas, enrutamiento, control, etc) n Argumentos (palabras clave/valor) palabras clave/valor) Comunicación KQML (Knowledge Quer y and Manipulation Language) Ejemplo: (ask­one :content (PRICE IBM ?price) :receiver stock :receiver stock­server :language LPROLOG :ontology NYSE :ontology NYSE­TICKS) Comunicación KQML (Knowledge Query and Manipulation Language) Categoria Primitivas Consultas básicas Evaluate, ask Evaluate, ask­if, ask­in, ask­one, ask­all Respuesta Reply, sorry Multi­respuesta Stream­in, stream in, stream­all Comando Tell, achieve, cancel, untell, unachieve Control Standby, ready, next, rest, discard, generator Capability­definition Advertise, subscribe, monitor, import, export Red Register, unregister, forward, broadcast, , forward, broadcast, route Coordinación n Permite considerar todas las tareas a realizar por medio de una planificación de planificación de acciones para la resolución de tareas acciones para la resolución de tareas. Esta planificación lleva a que se conozca con anticipación el comportamiento de los agentes y por tanto, a través de la coordinación, permitir que coordinación, permitir que un grupo de agentes analice las tareas por realizar y se coordinen para ejecutarlas se coordinen para ejecutarlas Coordinación Sistema Multi­Agente Federado (Nwana) Agente Federado (Nwana) Técnicas de Técnicas de Coordinación Estructuración organizacional Contratación Negociación Planificación Multiagente Distribuida Planificación Multiagente Centralizada Control Se encarga de: n Estimar el tiempo para la solución de una subtarea. n Evaluar si la solución de una subtarea ha sido generada. n Escoger entre varias subtareas a realizar, con base en su importancia. n Determinar el contexto que debe ser utilizado por un agente para la solución de una por un agente para la solución de una subtarea.