Diapositiva 1
Download
Report
Transcript Diapositiva 1
Comunicação entre Agentes
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/ismapi
Comunicação direta entre os agentes
A comunicação é a base para as interação entre os agentes
Existem diversas formas de interagir com outros agentes:
– Ações realizadas no ambiente
– Quadro compartilhado
– Envio direto de mensagem para outro agente
–…
Comunicação mediante o ambiente
Os agentes executam ações que modificam o ambiente e os
outros agentes podem “ver” as conseqüências
Não é uma comunicação direta mas indireta através de
ambiente
Exemplos: robôs em um sistema distribuído
– Objetivo: robôs têm que pegar pedras e enviar para uma nave
– Os robôs são capazes de detectar pedras, pegar uma pedra e colocar a
pedra na nave
Sistema de quadro compartilhado
Quadro: área de trabalho comum onde os agentes
compartilham informação
Não existe uma comunicação direta mas através do quadro
Problema: os agentes de um sistema distribuído têm que ter
acesso ao quadro que é um mecanismo centralizado
Comunicação direta entre os agentes
Os agentes se comunicam para
– Pedir uma informação
– Enviar uma informação
– Pedir a execução de um determinado serviço
– ….
Os agente tentam alcançar seus objetivos através da
comunicação com os outros agentes
A maior parte das linguagens para agentes se inspirou na teoria
dos atos de fala (speech act)
Atos de Fala
Tentam descrever como as linguagens são utilizadas pelas
pessoas todos os dias para alcançar os seus objetivos
A origem da teoria dos atos da fala está publicada em:
– How to Do Things with Words, de J. Austin 1962
Quem fala não declara somente sentenças certas ou falsas
Quem fala realiza “atos da fala”:
– Pedidos, sugestões, promessas, ameaças, etc.
Cada declaração é um ato da fala
Tipos de Atos da Fala (J. Searle 1969)
Atos assertivos: dão informação sobre o mundo
– Ex: Estou de acordo
Atos diretivos: para solicitar algo ao destinatário
– Ex: Cale-se
Ex: 2 e 2 são 4
Ex: Quanto custa esta caneta?
Atos de promessas: comprometem aquele que fala a realizar
certas ações no futuro
– Ex: Farei o trabalho amanhã Ex: Te ajudarei a fazer
Atos expressivos: dão indicações do estado mental daquele que
fala
– Ex: Estou cansado
Ex: Obrigada
Atos declarativos: a declaração é a realização de um ato
– Ex: Teu salário é R$600,00 Ex: Este sapato está apertado
Componentes dos Atos de Fala
Locução: modo de produção de frases utilizando uma
gramática
Ilocução: ato realizado pelo locutor sobre o destinatário
mediante a declaração
– pergunta(dia de hoje)
responde(11/03)
– <performative>(<conteúdo>)
– Ex. de performativas: afirmação, pergunta, petição, promessa, ordem
Perlocução: efeitos que podem ter os atos ilocutórios no estado
do destinatário (ações, crenças, objetivos,…)
– Ex.: convencer, inspirar, persuadir, atemorizar
Exemplo
Mensagem: “abra a porta”
Locução: declaração física com contexto e referência
– Quem fala, quem escuta, que porta, etc.
Ilocução: ato de levar intenções
– O que fala quer que o que escuta abra a porta
Perlocução: ações que ocorrem como resultado da ilocução
– O que escuta abre a porta
Componentes dos Atos de Fala
Diferentes performativas podem ser aplicadas ao mesmo
conteúdo com diferentes objetivos
Conteúdo: abrir a porta
Performativa: petição
– Por favor, abrir a porta.
Performativa: informação
– Não é necessário abrir a porta.
Performativa: pergunta
– Pode abrir a porta?
Êxitos do Atos de Fala
Um ato de fala pode ter êxito ou pode falhar
Motivos para a falha:
– Enunciação: a mensagem pode não chegar ou pode chegar corrompida
– Interpretação: o destinatário não entende a mensagem
– Execução final: o destinatário não é capaz de executar a ação solicitada
ou decide não executar a ação
Linguagens de Comunicação entre Agentes
Agent Communication Languages (ACLs)
A mais antiga é a KQML desenvolvida por ARPA
A mais conhecida atualmente é a ACL desenvolvida pela FIPA
KQML está dividida em duas partes:
– A linguagem de manipulação do conhecimento (KQML)
– A linguagem de descrição do conteúdo (KIF)
KIF
Objetivo: compartilhar bases de conhecimento mediante uma
linguagem comum (interlingua)
Utiliza operações lógicas para descrever coisas:
As propriedades de coisas em um domínio
– Ex: Viviane é professora
Relacionamentos entre coisas em um domínio
– Ex: Viviane é professora da disciplina ISMA
As propriedades de um domínio
– Ex.: Todos os alunos são alunos de ao menos uma disciplina
KIF: Exemplos
“A temperatura da água é 30º Celsius”
(= (temperatura água) (valor 30 Celsius))
“Um indivíduo solteiro é um homem que não está casado”
(defrelation solteiro (?x) :=>
(and (homem ?x) (not (casado ?x))))
“Um indivíduo que é uma pessoa também é um mamífero”
(defrelation pessoa (?x) :=> (mamífero ?x))
Ontologia
Para se comunicar os agentes precisam estar de acordo com o
significado de um conjunto de termos que será utilizado na
linguagem
Ontologia: especificação formal de um conjunto de termos
– É uma definição do “mundo”, em função de objetos, qualidades,
distinções e relações
– Uma ontologia define um conjunto de classes, funções e constantes para
um domínio do discurso
KQML
É uma linguagem de comunicação e protocolo, orientada a
mensagens, para a troca de informação
KQML é independente de
– protocolos de transporte (TCP/IP, HTTP, ...)
– sintaxes de contexto
– ontologias do conteúdo
– protocolos de comunicação / alto nível (contract net, subasta, ...)
KQML define um conjunto de performativas que podem ser
utilizadas para expressar diferentes desejos
KQML
A sintaxe da linguagem utiliza LISP
– Uma pessoa pode compreender e é fácil de fazer parser
Performativa
(ask-if
Parâmetro
:sender A
Valor
:receiver B
:ontology std
:language prolog
:content (preço Livro ?preço) )
Composição de um mensagem KQML
A performativa
O que envia a mensagem
Nível de mensagem
– :sender <word>
O que recebe a mensagem
– :receiver <word>
Nível de comunicação
Descreve a performativa que deverá ser utilizada na resposta
– :reply-with <expression>
– :in-reply-to <expression>
Conteúdo
– :content <expression>
Nível de conteúdo
Linguagem na qual o conteúdo está descrito
– :language <word>
A ontologia que descreve os conceitos que estão na linguagem de conteúdo
– :ontology <word>
Nível de mensagem
Indica si o agente irá em algum momento negar o conteúdo da mensagem
– :force <word>
Tipos de Performativas
Performativas básicas
– evaluate, ask-if, ask-in, ask-one, ask-all, …
Performativas de resposta
– reply, sorry, stream-all, …
Performativas genéricas de informação
– tell, achieve, cancel, untell, unachieve, …
Performativas relacionadas a una ação
– standby, ready, next, rest, discard, generator, …
Performativas de capacidade:
– advertise, subscribe, monitor, import, export, …
Performativas de rede:
– register, unregister, forward, broadcast, route, …
Exemplo
(ask-one
:sender José
:receiver Servidor-Jogo
:content (pontos Maria ?pontos)
:ontology jogo-X
:reply-with resposta-pontos
:language prolog)
(tell
:sender Servidor-Jogo
:receiver José
:content (pontos Maria 74 )
:ontology jogo-X
:in-reply-to resposta-pontos
:language prolog)
FIPA (Foundation for Intelligent Physical Agents)
Objetivo: acelerar o desenvolvimento de tecnologias de agentes
inteligentes mediante a produção de especificações acordadas
internacionalmente
– http:://www.fipa.org
ACL (Agent Communicaion Language)
Propôs uma linguagem com uma semântica mais rigorosa que a
KQML
FIPA: Comunicação entre Agentes
Especificação da estrutura da mensagem
Especificação sobre o serviço de ontologias
Protocolos de interação
– Descreve os requisitos de um protocolo
– Tem uma biblioteca de protocolos
Atos da fala
– Define um conjunto de performativas
Conteúdos da linguagem
– Define os requisitos de uma linguagem de conteúdo
– Tem uma biblioteca de linguagens de conteúdo
FIPA: Especificação da estrutura da mensagem
Não existe
em KQML
FIPA: Especificação da estrutura da mensagem
Reply-to: indica o agente que irá receber a mensagem, que é diferente do
agente que enviou a mensagem
Enconding: forma de criptografia do conteúdo
Protocol: o protocolo de comunicação que está sendo utilizado na interação
dos agente
Conversation-id: identificador da conversa onde está a mensagem
Reply-by: hora ou data máxima na qual a resposta deve ser enviada
FIPA: Atos de Fala
Define 20 performativas
– Resumo
– Como descrever o conteúdo da mensagem
– Descrição da performativa (detalhes)
– Modelo formal
– Exemplo
Uma performativa pode
– Enviar uma informação
– Pedir uma informação
– Negociar
– Executar uma ação
– Falar sobre um erro
Exemplo: Inform
Resumo:
– Um agente informa outro agente sobre uma coisa que é verdade
Conteúdo:
– a informação
Descrição: o agente que envia crê que...
– a informação é verdadeira
– o agente que irá receber a informação irá crer
– o agente que irá receber a informação não conhece a informação
Exemplo:
(inform
:sender (agent-identifier :name i)
:receiver (agent-identifier :name j)
:content “tempo (hoje, chovendo)“
:language Prolog)
Exemplo: Request
Resumo:
– o agente que envia a mensagem pede para o agente que a recebe que
execute uma ação
Conteúdo:
– a ação
Descrição: o agente que envia crê que...
– o agente que recebe é capaz de executar a ação
– o agente que recebe não tinha a intenção de executar a ação
Exemplo:
(request
:sender (agent-identifier :name i)
:receiver (agent-identifier :name j)
:content “abrir o arquivo db.txt“
:language vb)
FIPA: Protocolos de Comunicação
FIPA-Request-Protocol
FIPA Request Interaction
FIPA Query Interaction
FIPA Request When Interaction
FIPA Contract Net Interaction
FIPA Iterated Contract Net Interaction
FIPA English Auction Interaction
FIPA Dutch Auction Interaction
FIPA Brokering Interaction
FIPA Recruiting Interaction
FIPA Subscribe Interaction
FIPA Propose Interaction