Agentes Inteligentes e Sistemas Multiagente
(UD 8) Comunicação
IST- 2004/2005
Problema 3: Comunicação entre
Agentes
•
Que tipo de comunicação entre agentes é a mais
adequada à estrutura escolhida?
• Que linguagens de comunicação existem e podem
ser usadas para a comunicação entre agentes
numa sociedade de agentes?
• Que conceitos (ontologias) são necessários ser
partilhados para que os elementos da sociedade
consigam interpretar as mensagens recebidas?
Comunicação entre Agentes
"uma troca intencional de informação originada
pela produção de símbolos e a sua percepção
derivada de um sistema convencional de
sinais"
Comunicação entre Agentes

Baseada em Speech Acts- tratamento da comunicação como
acção.

Originalmente proposta por Austin (1962) que notou que certas
classes de expressões de fala – speech acts (actos de fala)- têm
caracteristicas de acção – mudam o estado do mundo de forma
semelhante às acções – por exemplo: declarar guerra.

Austin identificou um conjunto de verbos performativos
(performative verbs) que correspondem a diversos tipos de
speech acts. Exemplos: “request”, “inform”, “promisse”, etc.
Comunicação entre Agentes

Austin identificou 3 aspectos de um acto de fala:
• Locutionary act- o acto de construção da frase
- Dizer “Por favor faz um chá”
•
Illocutionary act – a acção executada quando é dito algo
- “Ele pediu-me para fazer um chá”
•
Perlocution- o efeito do acto
- “Ele pos-me a fazer um chá”

Identificou as condições necessárias para a que as performatives tenham
sucesso – felicity conditions:
•
(1) Tem de haver um procedimento para a performativa que
explicitamente especifica as circunstancias e
agentes/pessoas, (2) o que tem de ser executado
completamente e correctamente, (3) o acto tem de ser
sincero, e os seus requisitos satisfeitos, etc.
Comunicação entre Agentes: SEARLE
Trabalhou sobre o trabalho de Austin e apresentou a sua
teoria no livro Speech Acts.
Propriedades necessárias para que a comunicação
entre um “speaker” e “hearer”:
(1) Condições de I/O normais- o hearer consegue ouvir o
acto do speaker (por exemplo um request).
(2) Condições preparatórias- condições que têm que ser
verdade no mundo para o speaker escolher um dado
speech act. Por exemplo o hearer pode efectuar a acção
e o speaker tem de acreditar que ele o consegue
efectuar.
(3) Condições de sinceridade- o speaker é sincero na sua
informação ou pedido.
Tipos de Actos de Fala
1.
2.
3.
4.
5.
Representativos- dá o comprometimento de S de que
uma dada proposição é verdade (ex. Informing)
Directivos – pedido de S para que H faça algo (ex.
Request)
Comissivos – comprometimento de S a uma dada
acção (ex. Promisse)
Expressivo- expressão de um estado psicológico (ex.
Agradecimento)
Declaration- execução de mudanças no estado de
coisas (ex. Declaração de guerra)
Linguagens de Comunicação entre
Agentes
ARPA financiou o programa KSE (Knowledge Sharing Effort-KSE). O KSE
foi organizado em quatro grupos de trabalho:
1. Interlingua; - destinava-se a desenvolver uma linguagem comum que
permitisse expressar o conteúdo de uma dada base de conhecimentos
e facilitar o processo de tradução entre diferentes formalismos.
Resultado: KIF (Knowledge Interchange Format) o qual é baseado em
lógica de primeira ordem com algumas extensões para o suporte de
definições.
2.
KRSS (Knowledge Representation Systems Specification),
destinava-se a definir as construções básicas em famílias de linguagens
de representação de conhecimento
3. SRKB (Shared, Reusable Knowledge Bases) - destinava-se a
facilitar a partilha de conhecimento focando mais o trabalho nos
conteúdos.
4. External Interfaces- focou o seu trabalho na definição das
interacções "runtime" entre diversas bases de conhecimento (ou
agentes) e como resultado desse trabalho surgiu a linguagem KQML
Linguagens de Comunicação entre
Agentes (KQML)
Pode-se dividir uma comunicação em KQML por 3 camadas:
1. a camada conteúdo (pode ser codificado em qualquer
linguagem de representação);
2. comunicação (contém informação como: identificação do
emissor e do receptor, ID da comunicação, etc...)
3. mensagem (é a linguagem KQML em si, codifica a
mensagem em si – tipo de performativa que o emissor
associa ao conteúdo- com todos os seus parâmetros
segundo a sintaxe KQML- linguagem do conteúdo, etc.):
Em termos sintáticos o KQML define uma mensagem da
seguinte forma:
 Cada mensagem é uma lista de parêntesis;
 O primeiro elemento é chamado de “performative”;
 Os restantes elementos são os chamados argumentos que
são representados por pares (“keyword”, valor).
KQML: Exemplos de performativas
(ask-if
:content ligado(aparador-relva)
:sender
dono-jardim
:receiver jardineiro
:language PROLOG
:ontology jardim)
(ask-if
:content (PRICE IBM ?price)
:receiver stock-server
:language PROLOG
:ontology NYSE-TICKS)
Argumentos das Performativas em
KQML
:sender
Quem envia a performativa
:receiver
Quem recebe a performativa
:from
Quem originou a performativa contida em
:content
no
caso
de
haver
encaminhamento de mensagens
:to
O destino final da performativa quando é
usado encaminhamento
:in-reply-to
A etiqueta esperada de resposta a uma
pergunta feita anteriormente
:reply-with
A etiqueta esperada para a resposta à
mensagem corrente.
:language
A linguagem do conteúdo da performativa
:ontology
O nome da ontologia necessária para a
interpretação do conteúdo da mensagem
:content
O
conteúdo da mensagem-informaçãosobre a qual incide a atitude da
performativa.
Performativas em KQML
achieve
S quer q R faça algo verdade ao seu
ambiente
advertise
S anuncia que é adequado para processar a
performativa
ask-about
S quer todas as proposições relevantes
das KB virtuais de R
ask-all, ask-one
break
S quer quebrar um “pipe” estabelecido
broacast
S quer enviar a performativa a todas as suas
ligações.
… delete (eliminar K da KB), insert,
Broker (colecionar respostas), forward,
recomend (quem sabe responder a …), Ao todo definiram-se 41 performativas
recruit, reply, standy, subscribe, etc
KQML: Exemplos de performativas
(evaluate
:sender
A :receiver
B
:language KIF
:ontology motors
:reply-with q1
:content (val (torque m1)))
(reply
:sender
B :receiver
A
:language KIF
:ontology motors
:in-reply-to q1
:content (= (torque m1) (scalar 12 kgf)))
Exemplo de KQML
ask(X)
Agente A
Agente B
tell(X)
Agentes especiais: Facilitadores
Introduzidos pela linguagem KQML
Funções
 Manter um registo com os nomes dos serviços disponíveis;
 Re-encaminhar mensagens para os fornecedores desses
serviços;
 Providenciar emparelhamento entre fornecedores e
consumidores de informação;
 Servir como mediadores e tradutores.
Comunicação usando um facilitador
Comunicação entre agentes
KQML: Apreciação

Semântica:
- No início: definida informalmente
- 1996: definida a partir da lógica modal a partir
das pré-condições, post-condições e condições
de “completion”

Conjunto não mínimo (redundante) de performativas
- implementações escolhem um conj arbitrários
de performativas que suportam -> falta de
interoperabilidade entre diferentes sistemas
FIPA: uma outra aproximação
Humans
Hardware
A
x.3
1.2.c
Information
Processing
1.2.a
Information
Fusion
1.2.b
2.2
Software
Agent Interaction
A
Environment
A
Other
Agents
A
Requisitos





Requisito 1-Os agentes devem enviar um “not-understand”quando receberem
uma mensagem que nao reconhecem ou quando recebem uma mensagem que
sao incapazes de processar o seu conteudo. Por outro lado, os agentes devem
estar preparados para receber e tratar mensagens “not-understand” vindas de
outros agentes.
Requisito 2- Um agente ACL compliant pode implementar qualquer subconjunto
dos typos de mensagens e protologos pre-definidos. A implementacao dessas
mensagens deve ser correcta no que diz respeito ‘a definicao semantica dos
actos de discurso.
Requisito 3- Uma agente ACL-compliant que use os actos comunicativos cujos
nomes sao definidos pela especificacao FIPA’97 Part 2 devem implementar
esses actos correctamente relativamente à sua definição.
Requisito 4- Os agentes podem usar os actos comunicativos, não definidos no
documento de especificação, e são responsáveis por garatir que o agente
receptor compreende os significado do acto. Os agentes não devem no entanto
definir actos que ja’ estao definidos nos standard actos.
Requisito 5- Um agente ACL-compliant deve gerar mensagens correctamente e
sintaticamente bem formadas na forma que deseja que a mensagem seja
enviada. De forma paralela os agentes devem poder interpretar e traduzir as
sequencias de caracteres de uma mensagem bem formada.
Formato de mensagem em FIPAACL
(inform
:sender
jardineiro
:receiver toby
:content (come osso)
:reply-with
resp
:language j1
:ontology jardim
)
(mais detalhe sobre FIPA-ACL será dado na unidade respeitante às
ferramentas)
20 performativas!
FIPA-ACL: Apreciação

Semântica:
- definida a partir da lógica modal a partir de
feasability pre-conditions e rational effect

Conjunto reduzido de performativas
- Ultimamente (desde ~2000) a ganhar terreno
Sumário: Problemas Revistos (1/2)
Problema dos comportamentos sociais e individuais
• Como especificar os comportamentos sociais dos agentes?
• Como é que os comportamentos dos outros e da sociedade
influenciam o comportamento individual?
Problema da estrutura da organização
• Como organizar uma sociedade de agentes para que no
global, esta execute a tarefa desejada?
• Qual o tipo de estrutura mais adequada para a tarefa em
causa?
• Como definir os aspectos do comportamento individual para
que sejam integrados na sociedade levando a um
comportamento global desejado?
• Que tipos de mecanismos há que levem ao surgimento e
desaparecimento de sociedades?
Sumário: Problemas Revistos (2/2)

Problema da comunicação entre agentes
• Que tipo de comunicação entre agentes é a mais
adequada à estrutura escolhida?
• Que linguagens de comunicação existem e podem
ser usadas para a comunicação entre agentes
numa sociedade de agentes?
• Que conceitos (ontologias) são necessários ser
partilhados para que os elementos da sociedade
consigam interpretar as mensagens recebidas?
Sumário: Problemas a Abordar

Cooperação, colaboração e negociação
• Que mecanismos de cooperação são necessários
para que os agentes executem cooperativamente
uma dada tarefa?
• Que estruturas de organização são as mais
adequadas para determinados tipos de
cooperação?
• Que linguagens existem que podem ser usadas
para permitir a cooperação e negociação entre
agentes numa sociedade?
Download

Comunicação