Comunicación entre agentes

Comunicación entre agentes Sistemas multiagente (MAS) „ Sistema formado por un conjunto de componentes (semi-)autónomos que poseen las siguientes ca

2 downloads 97 Views 1MB Size

Story Transcript

Comunicación entre agentes

Sistemas multiagente (MAS) „

Sistema formado por un conjunto de componentes (semi-)autónomos que poseen las siguientes características: „

„ „ „

Cada agente no tiene información completa ni la capacidad para resolver el problema. Tienen puntos de vista limitados. No hay un sistema de control global. Los datos están descentralizados. Computación asíncrona.

1

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

Comunicación Comunicar (l. comunicare) 1. 2. 3.

4.

Hacer a otro partícipe de lo que uno tiene Descubrir,manifestar, hacer saber a alguno una cosa Conversar, tratar con alguno de palabra o por escrito Consultar, conferir con otros un asunto, tomando su parecer

2

Comunicación entre agentes „

Basada en la teoría de los actos del habla (“speech acts”) „ „ „

„

Locución “Ilocución” “Perlocución”

“Performative”: „ „

“ilocución” de una clase de expresiones. Ej: promise, report, tell, request, demand...

Clasificación de las “ilocuciones” „ „ „ „ „

Asertivas (informar) Directivas (pedir y preguntar) Comisivas (prometer) Permisivas, prohibitivas y declarativas (causan eventos) Expresivas (emociones y evaluaciones)

3

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

Mecanismo 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

4

Lenguaje de comunicación „ „ „

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 Pre- y post- condiciones (Labrou & Finin)

5

Ontologías „

Problemática „ „ „

„ „

Diferentes términos para un mismo concepto El mismo término para diferentes conceptos Diferentes sistemas de clases

Ontología común para representar el conocimiento de distintos universos de discurso Implementaciones „ „ „ „

OIL Ontolingua KIF RDF / Esquemas XML / DTD

FIPA ACL www.fipa.org

6

Servicio de transporte (I) „ „

es capaz de enviar un mensaje, codificarlo para su transmisión como una secuencia de bytes. En el caso más habitual, el servicio es „ „ „

„ „

de confianza (los mensajes bien formados llegan a su destino) fiable (el mensaje se recibe tal y como se envía) ordenado

Un agente tiene la opción de decidir si usa procesamiento síncrono o asíncrono Los parámetros del acto de envío de mensajes, como un plazo máximo si no hay respuesta, no se codifican en el nivel de mensaje, pero son parte del interfaz proporcionado por el servicio de envío de mensajes.

Servicio de transporte (y II) „

„

„

El servicio de envío de mensajes detecta condiciones de error, como mensaje mal formado, no-enviable, agente no alcanzable, etc... Un agente tendrá un nombre tal que permita al servicio de envío de mensajes remitir el mensaje a la dirección correcta. El servicio de envío de mensajes debe ser capaz de determinar el mecanismo de transporte correcto (TCP/IP, SMTP, HTTP, etc...) y permitir cambios en la ubicación del agente si es necesario.

7

Objetivos de los actos de habla „ „ „

Completitud: cubrir un amplio rango de situaciones de comunicación Simplicidad: no sobredimensionar el diseño de agentes simples Concisión: minimizar la redundancia y la ambigüedad para facilitar a los agentes la elección del acto comunicativo que deben emplear

Requerimiento 1: „

„

Los agentes deben enviar un mensaje not-understood si reciben un mensaje que no reconocen o cuyo contenido no son capaces de procesar. Un agente debe estar preparado para recibir y manejar adecuadamente un mensaje not-understood de otros agentes

8

Requerimiento 2: „

„

Un agente ACL puede escoger implementar cualquier subconjunto de tipos de mensajes y protocolos predefinidos. La implementación de estos mensajes debe ser correcta respecto a la definición semántica de los actos referenciados.

Requerimiento 3: „

Un agente ACL que utilice actos comunicativos cuyos nombres están definidos en esta especificación, debe implementarlos correctamente de acuerdo a su definición.

9

Requerimiento 4: „

„

Los agentes pueden usar actos comunicativos con otros nombres, no definidos en el presente documento, y son responsables de asegurarse de que el agente receptor comprende el significado del acto. Sin embargo, los agentes no deben definir nuevos actos con un significado que coincida con alguno de los actos estándares predefinidos.

Requerimiento 5: „

„

Un agente ACL debe ser capaz de generar mensajes sintácticamente bien formados en la forma de transporte que corresponde al mensaje que desea enviar. De la misma forma, debe ser capaz de traducir una secuencia de caracteres que esté bien formada en la sintaxis del mensaje correspondiente.

10

Modelo de comunicaciones Agente iniciador

Cualquier agente puede desempeñar el rol de iniciador en un momento determinado

Agente receptor

Communicative Act Tipo Emisor Receptor Contenido Responder con En respuesta a Inf. transporte Lenguaje Ontología Protocolo Conversación

query | request | inform | suscribe | ... :sender :receiver :content :reply-with :in-reply-to :envelope :language :ontology :protocol :conversatiod-id

Ejemplo de mensaje FIPA (request :sender an-agent :receiver df-agent :content (action an-agent (search (:df-agent-description (:services (:service-type email))))) :language SL0 :ontology fipa-agent-management :protocol FIPA-request )

11

Tipos de mensaje Acceptproposal

Disconfirm

Notunderstood

Reject-proposal

Agree

Faliure

Propose

Request

Cancel

Inform

Query-if

Request-when

Cfp

Inform-if

Query-ref

Requestwhenever

Confirm

Inform-ref

Refuse

Suscribe

Protocolos FIPA-ACL „

Terminología: „

„

„

Protocolo: Patrón fijos de intercambios de mensajes Conversación: una instancia particular de uno de estos diálogos

Los agentes deben conocer en todo momento qué protocolo se está utilizando

12

FIPA-query „

„

se emplea para solicitar a un agente que realice una acción de tipo inform dos tipos: „ „

query-if query-ref

FIPA-request „

„

permite a un agente solicitar que otro agente realice una acción. El receptor debe realizarla o responder que no puede

13

FIPArequestwhen „ „

análogo a FIPArequest-when el receptor debe esperar a que se cumpla una precondición para responder

FIPAcontractnet „

„ „

un agente desea que se realice una acción hay varios candidatos se desea minimizar una función que caracteriza la tarea (precio)

14

FIPA-iteratedcontract-net „ „

contract-net con varias rondas flujo general „ „ „

se inicia con una cfp cada parcitipante emite su oferta el iniciador puede „ aceptar una „ rechazarlas todas „ emitir un cfp revisada

FIPAenglishauction „ „

método de subasta a la alza cuando se emite una oferta, el iniciador genera un cfp con el nuevo precio

15

FIPAdutchauction „ „

método de subasta a la baja suele haber un precio mínimo por debajo del cual no se realiza la venta

FIPAbrokering „ „

„

intermediación entre agentes el broker envía la petición a un conjunto de agentes el broker proporciona las respuestas

16

FIPArecruiting „ „

„

análogo a FIPAbrokering el broker envía la petición a un conjunto de agentes los agentes son quienes envían la respuesta al iniciador

FIPA-suscribe „

el iniciador solicita ser avisado cada vez que se cumpla la condición inidicada en el mensaje

17

FIPA-propose „

„

el emisor propone a los participantes la realización de una acción habitualmente, sigue la realización de la acción y la notificación del estado

KQML www.cs.umbc.edu/kqml

18

Generalidades „

Define la comunicación a cuatro niveles: „ „ „ „

„ „

transporte: cómo se envían y reciben mensajes lenguaje: qué significa cada mensaje política: cómo se estructuran las conversaciones arquitectura: cómo conectar los sistemas

Es un lenguaje para comunicar actitudes sobre la información Es indiferente al formato de la información en sí misma

Lenguaje KQML „

Nivel de contenido „

„

„

Nivel de comunicación „

„

incorpora el contenido en la representación empleada por las aplicaciones es ignorado por KQML codifica las características del mensaje para niveles inferiores (p.ej. emisor y receptor)

Nivel de mensaje „ „

identifica el acto de habla adecuado incluye información para poder interpretar el mensaje (p.qj. lenguaje y ontología)

19

Modelo de comunicaciones Agente iniciador

Cualquier agente puede desempeñar el rol de iniciador en un momento determinado

Agente receptor

Communicative Act Tipo Emisor Receptor Contenido Responder con En respuesta a Inf. transporte Lenguaje Ontología Protocolo Conversación

query | request | inform | suscribe | ... :sender :receiver :content :reply-with :in-reply-to :envelope :language :ontology :protocol :conversatiod-id

Ejemplo de mensaje KQML (tell :sender agent1 :receiver agent2 :in-reply-to id1 :language KIF :ontology blocks-world :content (and (block A) (block B) (on A B)) )

20

Parámetros (identificación) :sender :receiver „

Indican el emisor y el receptor “reales” del mensaje

Parámetros (conversación) :reply-with :in-reply-to „ „ „ „

controlan el flujo de la comunicación :reply-with nil Æ no se espera respuesta :reply-with t Æ se requiere una respuesta :reply-with exp „ „

se requiere una respuesta debe contener :in-reply-to exp

21

Parámetros (mensaje) :content :language :ontology „ „ „ „

establecen las características del mensaje concreto content: objeto de la ejecutiva language: codificación del mensaje ontology: reglas de validez del mensaje

Clasificación de las “performatives” información

tell, deny, untell

base de datos

insert, delete, delete-one, delete-all

respuesta

error, sorry

consultas básicas

evaluate, reply, ask-if, ask-about, ask-one, ask-all, sorry

multirespuesta stream-about, stream-all, eos, sorry actuación

achieve, unachieve

generación

standby, ready, next, rest, discard, generator

habilidades

advertise

notificación

suscribe, monitor

red

register, unregister, forward, broadcast, pipe, break, transport-address

servicio

broker-one, broker-all, recommend-one, recommendall, recruit-one, recruit-all

22

P. información (básicas) „ „ „

tell deny untell

(tell :sender agent1 :receiver agent2 :language KIF :ontology blocks-world :content (and (block A) (block B) (on A B)) )

P. bases de datos „ „ „ „

insert delete delete-one delete-all

23

P. respuestas „ „

error sorry

P. consultas básicas „ „ „ „ „ „ „

evaluate reply ask-if ask-about ask-one ask-all sorry

24

P. multi-respuesta „ „ „ „

stream-about sorry stream-all (stream-all eos

:sender AgentA :receiver AgentB :reply-with id1 :language Prolog :ontology Blocks-World :content “on(X,Y)” )

P. actuación (básicas) „ „

achieve unachieve (achieve :sender

AgentA

:receiver

AgentB

:language KIF :ontology motors :reply-with q1 :content (= (val (torque motor1) (sim-time 5 )) (scalar 2 kgf))))

25

P. generación „ „ „ „ „ „

standby ready next rest discard generator

1. 2. 3. 4. 5. 6. 7. 8.

–> standby ready next tell next tell discard

P. def. habilidades „

advertise (advertise :sender Agent2 :receiver Agent1 :language KQML :ontology kqml-ontology :content (ask-all :sender Agent1 :receiver Agent2 :in-reply-to id1 :language Prolog :ontology Blocks-World :content “(On X,Y))”))

26

P. notificación „ „

suscribe monitor

(suscribe :sender AgentA :receiver AgentB :reply-with s1 :language KQML :ontology K10 :content (stream-about :language KIF :ontology motors :content motor1))

P. red „ „ „ „ „ „ „

register (forward Agent1 unregister:from :to Agent2 forward :sender Agent1 :receiver Agent3 broadcast :language KQML :ontology kqml-ontology :content (tell pipe :sender Agent1 break :receiver Agent2 :language KIF transport-address :ontology Blocks-World

B) (On A B)))):content (AND (Block A) (Block

27

P. servicio „ „ „ „ „ „

broker-one broker-all recommend-one recommend-all recruit-one recruit-all

KIF www.cs.umbc.edu/kse/kif

28

Lenguajes de contenido „

Lenguaje natural „ „

„

Implícito en procedimientos „

„

Ambiguo Difícil de procesar para máquinas Difícil de entender y de procesar

Declarado en un lenguaje formal „ „

Entendible, preciso Poco eficiente

KIF „ „

KIF: Knowledge Interchange Format KIF no es un lenguaje para… „ „

la interacción con personas la representación interna del conocimiento

KIF es un lenguaje para el intercambio de conocimiento entre computadoras

29

Características de KIF „

Esenciales „ „ „

„

Semántica declarativa Completo Permite representar meta-conocimiento

Optimizaciones „ „ „

Capacidad de ser traducido Legibilidad Usabilidad

Representación del conocimiento „ „

KIF emplea una base de conocimiento (KB) Es un conjunto (no secuencia) finito de fórmulas „ „ „ „

Términos Sentencias Reglas Definiciones

Æ Æ Æ Æ

objetos del mundo hechos sobre el mundo pasos de inferencia declaraciones categóricas y axiomas

30

Términos „ „ „ „ „ „ „

variables símbolos de objeto símbolos de función símbolos de relación términos funcionales listas de términos (listof … ) conjuntos de términos (setof … )

„ „

„

anotaciones (quote … ) términos lógicos (if … (cond … términos cuantificados (the … (setofall … (kappa … (lambda …

Sentencias „ „ „ „ „

„

Constantes lógicas ecuaciones (= … desigualdades (/= … sentencias relacionales sentencias lógicas not and or => > … (

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.