Download - Comunicación entre agentes
Comunicación entre agentes
Sistemas multiagente (SMA) Sistema formado por un conjunto de
agentes autónomos.
Los agentes tienen información incompleta, no hay un controlador central y es asíncrono.
La clave de los SMA son las interacciones entre agentes.
Puede haber cooperación y coordinación entre agentes.
Problemática en MAS Descomposición del problema � Comunicación entre agentes Coherencia en las actuaciones� Representación del conocimiento de otros � agentes � Coordinación de acciones Gestionar el uso de recursos� Evitar comportamientos globales no �
deseados Diseño de MAS: metodología y desarrollo�
Práctica: 3 Programar la interacción entre agentes
mensajeros para que haya negociación en la evasión entre dos agentes.
Hola, ¿Cómo te llamas?
Comunicación entre Agentes
Canal de comunicació
n
Mecanismo para el intercambio de mensajes
Normas
Utilizar un lenguaje y estar de acuerdo en el significado de los símbolos (semántica)
HABLANTE
OYENTE
Niveles en la comunicación Inferior: método de interconexión
�Medio: formato (sintaxis) de la información
Superior: significado (semántica) de la información
Comunicación entre Agentes Los agentes emplean un lenguaje de
comunicación (ACL – Agent Communication Language) para comunicar información y conocimiento
Las tareas distribuidas solo son posibles si los agentes tienen la capacidad de comunicación para establecer estrategias de cooperación
Métodos de comunicación
Comunicación con el entorno
Pizarra compartida
Inferencias
Paso de mensajes
Conocimientos
Comunicación con el entorno
Se presenta normalmente en agentes reactivos
La cooperación no usa comunicación directa.
La comunicación se realiza a través del entorno.
Robots distribuidos
Sistemas de pizarra Pizarra: zona de trabajo
común que permite a los agentes compartir todo tipo de información.
Un sistema multiagente puede tener varias pizarras con distintos agentes en cada una.
No hay comunicación directa entre agentes.
Sistemas de inferenciasInteracción sin comunicación, inferencia de acciones de otros agentes
Ejemplo: utilización de la teoría de juegos con matrizes de ganancia.
Actualización de una restricción o de una Dependencia.
Sistemas de mensajes Los mensajes son transmitidos
directamente entre dos agentes (emisor-receptor) a través de un protocolo de comunicación.
No se utiliza memoria pero son muy flexibles.
Comunicación en el nivel de conocimientoLos agentes se comunican para: Mostrar a otros agentes su estado
mental. Intentar modificar el estado mental de
otros agentes.
Actos de habla Quien habla no declara solamente
sentencias ciertas o falsas
Quien habla realiza actos de habla: peticiones, sugerencias, promesas, amenzas, etc.
Cada declaración es un acto de habla
Tipos de actos de habla Actos asertivos: dan información sobre el mundo Estoy de acuerdo 2 y 2 son 4 - Estamos en clase Actos directivos: para solicitar algo al destinatario Siéntate, ¿Cuántos pesos equivalen a un dolar? Actos de promesa: comprometen al locutor a realizar
ciertas acciones en el futuro Mañana vuelvo a las 8 - Te enviaré las fotos Actos expresivos: dan indicaciones del estado mental
del locutor Soy feliz Gracias - Siento lo de tu perro Actos declarativos: el mero hecho de la declaración es
la realización de un acto Estás contratado - Empezamos la clase
Componentes de los actos de habla
Locución: modo de producción de frases utilizando una gramática y un léxico
• afirmación, pregunta, petición, promesa, orden
Ilocución: acto realizado por el locutor sobre el destinatario mediante la declaración
•Ejemplos: convencer, inspirar, persuadir, atemorizar
Perlocución: efectos que pueden tener los actos ilocutorios en el estado del destinatario y en sus acciones, creencias y juicios
Ejemplos
locución: declaración física con contexto y referencia: quién habla y quién escucha, qué puerta, etc.
Ilocución: acto de llevar intenciones: el que habla quiere que el que escucha cierre la puerta
Perlocución: acciones que ocurren como resultado de la ilocución: el que escucha cierra la puerta
Cierra la puerta
Éxitos de casos de habla Un acto de habla puede fallar en su
enunciación, porque no llegue el mensaje o llegue corrompido o el destinatario no lo entiende
En su interpretación, por el destinatario
En su consecución final, por ejemplo porque el destinatario no sea capaz de llevar a cabo la acción solicitada
Mecanismos de transporte Los mensajes deben poder ser:
Planificables o servidos por eventos Síncronos o asíncronos� Direciones físicas o por rol� Unicast / multicast / broadcast�
Implementaciones� CORBA RMI� DCOM�
Lenguajes de comunicación de agentes Debe tener semántica bien definida Semántica formal
Implementaciones: KQML� FIPA ACL� Basada en XML�
Protocolos de comunicación Representan los patrones que modelan
las posibles comunicaciones
Los participantes en la conversación �deben concer el protocolo
Definido formalmente�
Implemetaciones� FIPA ACL
Lenguajes de comunicación de agentes
Ontologías Es un vocabulario común en el que se han
acordado significados para describir un dominio.
Problemática: � Diferentes términos para un mismo concepto El mismo término para diferentes conceptos Diferentes sistemas de clases�
Implementaciones:�� OIL Ontolingua� KIF� RDF / Esquemas XML / DTD�
Web semántica
KSE
Compartir conocimiento entre agentes requiere la capacidad de comunicarse
FIPA
Arquitectura de FIPA Los agentes se comunican intercambiando
mensajes que representan actos de habla
Codificados en un lenguaje de comunicación de agentes
Servicios de soporte a los agentes: Servicios de directorio Servicios de transporte de mensajes
Servicio de directorios Soporta un conjunto de entradas formadas por
varias tuplas cada una con dos pares clave-valor:
• Nombre de agente: único globalmente • Localizador: Uno o más descriptores de transporte que describen el tipo de transporte y la dirección de transporte específica para comunicarse con el agente Los agentes registran entradas de directorio
para que otros agentes puedan buscarlas con el propósito de encontrarles para poder interactuar.
Ejemplo de entrada de directorio:
Mensajes de los agentes Estructura de los mensajes • Los mensajes son tuplas clave-valor • Escritos en un lenguaje de comunicación de agentes (p.ej. FIPA ACL) • El contenido expresado con un lenguaje de contenidos (KIF, SL, ...) • El lenguaje de contenidos puede hacer referencia a una ontología • Incluyen los nombres de emisor y receptor • Un mensaje puede contener recursivamente otros mensajes
Transporte de los mensajes • El mensaje de transporte consta de un campo de carga útil (payload) y un sobre (envelope) • El mensaje se transporta en la carga útil de un mensaje de transporte
FIPA-ACL Basado en actos del habla
La semántica se basa en aptitudes mentales (creencias, intenciones, etc.)
Ejemplo de mensaje ACL
FIPA-ACL
FIPA-ACL Las conversaciones entre agentes suelen seguir unos
ciertos patrones, secuencia tipicas de mensajes: protocolos de conversación.
Un agente informa del protocolo que quiere usar mediante el parámetro :protocol
Protocolos básicos definidos por FIPA: • FIPA-request • FIPA-query • FIPA-request-when • FIPA-contract-net • FIPA-iteraterated-contract-net • FIPA-auction-english • FIPA-auction-ducth
Protocolo FIPA-request
FIPA-ACL
La plataforma JADE
Envio de mensajes en JADE
Ontologías en JADE
KQML Es un lenguaje de comunicación y
protocolo, orientado a mensajes, para el intercambio de información
KQML es independiente de protocolos de transporte (TCP/IP, HTTP, ...) sintaxis de contexto ontologías protocolos de alto nivel (contract net,
subasta, ...)
KQML Asume un modelo de agentes:
entidades de alto nivel con capacidades cognitivas (representación simbólica, base de conocimientos, ...)
tienen una descripción de nivel intencional: su estado es un conjunto de componentes mentales como creencias, capacidades, elecciones, compromisos, etc.
• los agentes residen en el nivel del conocimiento Los mensajes KQML comunican una actitud sobre el
contenido que llevan (aserto, solicitud, pregunta) Las primitivas del lenguaje se llaman performativas Cada mensaje KQML representa un acto de habla
KQML
Mensajes KQML
Respuesta
KQML
Semántica de las performativas
Agentes facilitadores
Plataformas para KQML
Referencias http://
www.dccia.ua.es/dccia/inf/asignaturas/AIW/docs/ACA.pdf
http://www.sia.eui.upm.es/isa/lib/exe/fetch.php?media=asignaturas:acl.pdf
http://webdiis.unizar.es/asignaturas/ISBC/lecciones/10.ConversacionesAgentes.pdf
http://www.upv.es/sma/teoria/sma/Comunicaci%F3n%20entre%20agentes.pdf
¡Fin!