1
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 nila 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.
2
Problemática en MASDescomposición del problemaComunicación entre agentesCoherencia en las actuacionesRepresentación del conocimiento de otros agentesCoordinación de accionesGestionar el uso de recursosEvitar comportamientos globales no deseadosDiseño de MAS: metodología y desarrollo
ComunicaciónComunicar (l. comunicare)
1. Hacer a otro partícipe de lo que uno tiene2. Descubrir,manifestar, hacer saber a alguno
una cosa3. Conversar, tratar con alguno de palabra o
por escrito4. Consultar, conferir con otros un asunto,
tomando su parecer
3
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)
4
Niveles en la comunicaciónInferior: método de interconexiónMedio: formato (sintaxis) de la informaciónSuperior: significado (semántica) de la información
Mecanismo de transporteLos mensajes deben poder ser:
Planificables o servidos por eventosSíncronos o asíncronosDireciones físicas o por rolUnicast / multicast / broadcast
ImplementacionesCORBARMIDCOM
5
Lenguaje de comunicaciónDebe tener semántica bien definidaSemántica formalImplementaciones
KQMLFIPA ACLBasada en XML
Protocolos de comunicaciónRepresentan los patrones que modelan las posibles comunicacionesLos participantes en la conversación deben concer el protocoloDefinido formalmenteImplemetaciones
FIPA ACLPre- y post- condiciones (Labrou & Finin)
6
OntologíasProblemática
Diferentes términos para un mismo conceptoEl mismo término para diferentes conceptosDiferentes sistemas de clases
Ontología común para representar el conocimiento de distintos universos de discursoImplementaciones
OILOntolinguaKIFRDF / Esquemas XML / DTD
FIPA ACL
www.fipa.org
7
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íncronoLos 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.
8
Objetivos de los actos de habla
Completitud: cubrir un amplio rango de situaciones de comunicaciónSimplicidad: no sobredimensionar el diseño de agentes simplesConcisió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
9
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.
10
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.
11
Modelo de comunicacionesAgente iniciador
Agente receptor
Communicative ActTipo query | request
| inform | suscribe | ...Emisor :senderReceptor :receiverContenido :contentResponder con :reply-withEn respuesta a :in-reply-toInf. transporte :envelopeLenguaje :languageOntología :ontologyProtocolo :protocolConversación :conversatiod-id
Cualquier agente puede desempeñar el rol de
iniciador en un momento determinado
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
)
12
Tipos de mensaje
SuscribeRefuseInform-refConfirm
Request-whenever
Query-refInform-ifCfp
Request-whenQuery-ifInformCancel
RequestProposeFaliureAgree
Reject-proposalNot-understood
DisconfirmAccept-proposal
Protocolos FIPA-ACLTerminología:
Protocolo: Patrón fijos de intercambios de mensajesConversación: una instancia particular de uno de estos diálogos
Los agentes deben conocer en todo momento qué protocolo se está utilizando
13
FIPA-query
se emplea para solicitar a un agente que realice una acción de tipo informdos tipos:
query-ifquery-ref
FIPA-request
permite a un agente solicitar que otro agente realice una acción.El receptor debe realizarla o responder que no puede
14
FIPA-request-when
análogo a FIPA-request-whenel receptor debe esperar a que se cumpla una precondición para responder
FIPA-contract-net
un agente desea que se realice una acciónhay varios candidatosse desea minimizar una función que caracteriza la tarea (precio)
15
FIPA-iterated-contract-net
contract-net con varias rondasflujo general
se inicia con una cfpcada parcitipante emite su ofertael iniciador puede
aceptar unarechazarlas todasemitir un cfp revisada
FIPA-english-auction
método de subasta a la alzacuando se emite una oferta, el iniciador genera un cfp con el nuevo precio
16
FIPA-dutch-auction
método de subasta a la bajasuele haber un precio mínimo por debajo del cual no se realiza la venta
FIPA-brokering
intermediación entre agentesel broker envía la petición a un conjunto de agentesel brokerproporciona las respuestas
17
FIPA-recruiting
análogo a FIPA-brokeringel broker envía la petición a un conjunto de agenteslos 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
18
FIPA-propose
el emisor propone a los participantes la realización de una acciónhabitualmente, sigue la realización de la acción y la notificación del estado
KQML
www.cs.umbc.edu/kqml
19
GeneralidadesDefine la comunicación a cuatro niveles:
transporte: cómo se envían y reciben mensajeslenguaje: qué significa cada mensajepolítica: cómo se estructuran las conversacionesarquitectura: cómo conectar los sistemas
Es un lenguaje para comunicar actitudes sobre la informaciónEs indiferente al formato de la información en sí misma
Lenguaje KQMLNivel de contenido
incorpora el contenido en la representación empleada por las aplicacioneses ignorado por KQML
Nivel de comunicacióncodifica las características del mensaje para niveles inferiores (p.ej. emisor y receptor)
Nivel de mensajeidentifica el acto de habla adecuadoincluye información para poder interpretar el mensaje (p.qj. lenguaje y ontología)
20
Modelo de comunicacionesAgente iniciador
Agente receptor
Communicative ActTipo query | request
| inform | suscribe | ...Emisor :senderReceptor :receiverContenido :contentResponder con :reply-withEn respuesta a :in-reply-toInf. transporte :envelopeLenguaje :languageOntología :ontologyProtocolo :protocolConversación :conversatiod-id
Cualquier agente puede desempeñar el rol de
iniciador en un momento determinado
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)))
21
Parámetros (identificación)
Indican el emisor y el receptor “reales” del mensaje
:sender <word>:receiver <word>
Parámetros (conversación)
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 respuestadebe contener :in-reply-to exp
:reply-with <expression>:in-reply-to <expression>
22
Parámetros (mensaje)
establecen las características del mensaje concretocontent: objeto de la ejecutivalanguage: codificación del mensajeontology: reglas de validez del mensaje
:content <expression>:language <word>:ontology <word>
Clasificación de las “performatives”
broker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-allservicio
register, unregister, forward, broadcast, pipe, break, transport-addressred
suscribe, monitornotificación
advertisehabilidades
standby, ready, next, rest, discard, generatorgeneración
achieve, unachieveactuación
stream-about, stream-all, eos, sorrymultirespuesta
evaluate, reply, ask-if, ask-about, ask-one, ask-all, sorry
consultas básicas
error, sorryrespuesta
insert, delete, delete-one, delete-allbase de datos
tell, deny, untellinformación
23
P. información (básicas)telldenyuntell
(tell:sender agent1:receiver agent2:language KIF:ontology blocks-world:content
(and (block A)(block B)(on A B))
)
P. bases de datosinsertdeletedelete-onedelete-all
25
P. multi-respuestastream-aboutsorrystream-alleos (stream-all
:sender AgentA:receiver AgentB:reply-with id1:language Prolog:ontology Blocks-World:content “on(X,Y)” )
P. actuación (básicas)achieveunachieve
(achieve
:sender AgentA
:receiver AgentB
:language KIF
:ontology motors
:reply-with q1
:content (= (val (torque motor1) (sim-time 5 )) (scalar 2 kgf))))
26
P. generaciónstandbyreadynextrestdiscardgenerator
1. –> standby2. ready <–3. –>next4. tell <–5. –>next6. tell <–7. ...8. –>discard
P. def. habilidadesadvertise
(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))”))
27
P. notificaciónsuscribemonitor
(suscribe:sender AgentA:receiver AgentB:reply-with s1:language KQML:ontology K10:content (stream-about
:language KIF:ontology motors:content motor1))
P. redregisterunregisterforwardbroadcastpipebreaktransport-address
(forward:from Agent1:to Agent2:sender Agent1:receiver Agent3:language KQML:ontology kqml-ontology:content (tell
:sender Agent1:receiver Agent2:language KIF:ontology Blocks-World:content (AND (Block A) (BlockB) (On A B))))
28
P. serviciobroker-onebroker-allrecommend-onerecommend-allrecruit-onerecruit-all
KIF
www.cs.umbc.edu/kse/kif
29
Lenguajes de contenidoLenguaje natural
AmbiguoDifícil de procesar para máquinas
Implícito en procedimientosDifícil de entender y de procesar
Declarado en un lenguaje formalEntendible, precisoPoco eficiente
KIFKIF: Knowledge Interchange FormatKIF no es un lenguaje para…
la interacción con personasla representación interna del conocimiento
KIF es un lenguaje para el intercambio de conocimiento
entre computadoras
30
Características de KIFEsenciales
Semántica declarativaCompletoPermite representar meta-conocimiento
OptimizacionesCapacidad de ser traducidoLegibilidadUsabilidad
Representación del conocimiento
KIF emplea una base de conocimiento (KB)Es un conjunto (no secuencia) finito de fórmulas
Términos objetos del mundoSentencias hechos sobre el mundoReglas pasos de inferenciaDefiniciones declaraciones categóricas
y axiomas
31
Términosvariablessímbolos de objetosímbolos de funciónsímbolos de relacióntérminos funcionaleslistas de términos(listof … )
conjuntos de términos(setof … )
anotaciones(quote … )
términos lógicos(if …(cond …
términos cuantificados(the … (setofall … (kappa …(lambda …
SentenciasConstantes lógicasecuaciones (= … desigualdades (/= …sentencias relacionalessentencias lógicasnot and or=> <= <=>
sentencias cuantificadas(forall … (exists …
32
ReglasKIF permite la definición de reglas de inferencia hacia delante y hacia atrás(=>> … (<<= …
cuando las premisas de una regla son sentencias se denominan prerrequisitossi las premisas son de la forma
(consis φ)se denominan justificaciones.
DefinicionesCompletas: expresión que define el comportamiento completamente
objeto (defobject …
función (deffunction …
relación (defrelation …
Parciales: restringen el concepto sin proporcionar necesariamente una equivalencia completa
conservativasson restricción
Top Related