Metodologias (Parte II) Viviane Torres da Silva [email protected] viviane.silva/isma.
Comunicação entre Agentes Viviane Torres da Silva [email protected]...
Transcript of Comunicação entre Agentes Viviane Torres da Silva [email protected]...
![Page 1: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/1.jpg)
Comunicação entre Agentes
Viviane Torres da [email protected]
http://www.ic.uff.br/~viviane.silva/2010.1/isma
![Page 2: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/2.jpg)
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
– …
![Page 3: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/3.jpg)
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 una pedra e colocar a pedra na nave
![Page 4: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/4.jpg)
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
![Page 5: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/5.jpg)
Comunicação direta entre os agentes
Os agentes se comunicam para– Pedir una informação
– Enviar una 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)
![Page 6: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/6.jpg)
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 faltas Quem fala realiza “atos da fala”:
– Pedidos, sugestões, promessas, ameaças, etc.
Cada declaração é um ato da fala
![Page 7: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/7.jpg)
Tipos de Atos da Fala (J. Searle 1969)
Atos assertivos: dão informação sobre o mundo– Ex: Estou de acordo Ex: 2 y 2 são 4
Atos diretivos: para solicitar algo ao destinatário– Ex: Cale-se 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
![Page 8: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/8.jpg)
Componentes dos Atos de Fala
Locução: modo de produção de frases utilizando una 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, promessas, 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
![Page 9: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/9.jpg)
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
![Page 10: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/10.jpg)
Componentes da Ilocução
Condições de entrada y saída:– O que envia não é mudo e o que recebe não é surdo– Existe um canal de comunicação
Condições relacionas ao conteúdo– Existe una estrutura conhecida para descrever o conteúdo
Condições preparatórias– As cosas que necessitam ser verdade para que o locutor possa enviar a
mensagem Condições de sinceridade
– Se assume que o locutor está dizendo a verdade Condições essenciais
– O locutor realmente deseja enviar a mensagem, ex., o locutor que envia uma pergunta realmente deseja saber a resposta
Grau de poder do locutor sobre aquele que recebe
![Page 11: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/11.jpg)
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, abra a porta.
Performativa: informar– A porta está aberta.
Performativa: perguntar– A porta está aberta?
![Page 12: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/12.jpg)
Ê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
![Page 13: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/13.jpg)
Linguagens de Comunicação entre Agentes
Agent Communication Languages (ACLs)
A mais conhecida é a KQML desenvolvida por ARPA
KQML está dividida em duas partes:– A linguagem de manipulação do conhecimento (KQML)
– A linguagem de descrição do conteúdo (KIF)
![Page 14: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/14.jpg)
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 de disciplina ISMA
As propriedades de um domínio– Ex.: Todos os alunos são alunos de ao menos uma disciplina
![Page 15: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/15.jpg)
KIF: Exemplos
“A temperatura de água é 30º Celsius”(= (temperatura água) (valor 30 Celsius))
“Uma 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))
![Page 16: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/16.jpg)
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 de discurso
![Page 17: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/17.jpg)
KQML
É uma linguagem de comunicação e protocolo, orientada a mensagens, para a modificação de informação
KQML é independente de– protocolos de transporte (TCP/IP, HTTP, ...)
– sintaxes de contexto
– Ontologias
– protocolos de alto nível (contract net, subasta, ...)
KQML define um conjunto de performativas que podem ser utilizadas para expressar diferentes desejos
![Page 18: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/18.jpg)
KQML
A sintaxe da linguagem utiliza LISP– Uma pessoa pode compreender e é fácil de fazer parser
(ask-if:sender A:receiver B:ontology std:language prolog:content (preço Livro ?preço) )
Performativa
Parámetro
Valor
![Page 19: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/19.jpg)
Níveis de uma mensagem KQML
Nível de conteúdos– Leva o conteúdo da mensagem
– Não é processado pelas implementações de KQML (é o agente que interpreta)
Nível de mensagens (núcleo del linguagem KQML)– Determina os tipos de interação que um agente pode realizar
– Identifica a performativa, o protocolo, a linguagem de conteúdos, ontologia assumida, e algum descritor sobre o conteúdo (isso permite a algumas aplicações processar as mensagens sem acessar o conteúdo)
Nível de comunicações– Trata os parâmetros de comunicação de mais baixo nível: identidade do
emissor e receptor, identificação da comunicação
![Page 20: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/20.jpg)
Composição de um mensagem KQML
A performativa O que envia a mensagem
– :sender <word> O que recebe a mensagem
– :receiver <word> Descreve a performativa que deverá ser utilizada na resposta
– :reply-with <expression>– :in-reply-to <expression>
Conteúdo– :content <expression>
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>
Indica si o agente irá em algum momento negar o conteúdo da mensagem– :force <word>
Nível de comunicação
Nível de conteúdo
Nível de mensagem
![Page 21: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/21.jpg)
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, …
![Page 22: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/22.jpg)
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-potos:language prolog)
![Page 23: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/23.jpg)
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
Propôs a linguagem com uma semântica mais rigorosa que a KQML
![Page 24: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/24.jpg)
FIPA
Applications
Abstract Architecture
AgentManagement
AgentCommunication
Agent MessageTransport
Transport Protocols
EnvelopeRepresentations
ACLRepresentations
Content Languages
CommunicativeActs
InteractionProtocols
![Page 25: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/25.jpg)
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
![Page 26: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/26.jpg)
FIPA: Especificação da estrutura da mensagem
Não existe em KQML
![Page 27: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/27.jpg)
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
![Page 28: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/28.jpg)
FIPA: Atos de Fala
Define 20 performativas– Resumo– Como descrever o conteúdo da mensagem– Descrição da performativa (detalhes)– Modelo formal– Exemplo
Una performativa pode– Enviar uma informação– Pedir uma informação– Negociar– Executar uma ação– Falar sobre um erro
![Page 29: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/29.jpg)
![Page 30: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/30.jpg)
Exemplo: Inform
Resumo:– Um agente informa outro agente sobre uma cosa 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)
![Page 31: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/31.jpg)
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)
![Page 32: Comunicação entre Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10b497959413d8c17af/html5/thumbnails/32.jpg)
FIPA: Protocolos de Comunicación
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