Comunicao entre Agentes Viviane Torres da Silva viviane

  • Slides: 32
Download presentation
Comunicação entre Agentes Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic.

Comunicação entre Agentes Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/2012. 1/isma

Comunicação direta entre os agentes Ø A comunicação é a base para as interação

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

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

Sistema de quadro compartilhado Ø Quadro: área de trabalho comum onde os agentes compartilham

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 una

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)

Atos de Fala Ø Tentam descrever como as linguagens são utilizadas pelas pessoas todos

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

Tipos de Atos da Fala (J. Searle 1969) Ø Atos assertivos: dão informação sobre

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 y 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 una

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

Exemplo Ø Mensagem: “abra a porta” Ø Locução: declaração física com contexto e referência

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 da Ilocução Ø Condições de entrada y saída: – O que envia não

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

Componentes dos Atos de Fala Ø Diferentes performativas podem ser aplicadas ao mesmo conteúdo

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?

Êxitos do Atos de Fala Ø Um ato de fala pode ter êxito ou

Ê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 conhecida

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)

KIF Ø Objetivo: compartilhar bases de conhecimento mediante uma linguagem comum (interlingua) Utiliza operações

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

KIF: Exemplos Ø “A temperatura de água é 30º Celsius” (= (temperatura água) (valor

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))

Ontologia Ø Para se comunicar os agentes precisam estar de acordo com o significado

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

KQML Ø É uma linguagem de comunicação e protocolo, orientada a mensagens, para a

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

KQML Ø A sintaxe da linguagem utiliza LISP – Uma pessoa pode compreender e

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) )

Níveis de uma mensagem KQML Ø Nível de conteúdos – Leva o conteúdo da

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

Composição de um mensagem KQML Ø Ø A performativa O que envia a mensagem

Composição de um mensagem KQML Ø Ø A performativa O que envia a 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, … Ø

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)

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)

FIPA (Foundation for Intelligent Physical Agents) Ø Objetivo: acelerar o desenvolvimento de tecnologias de

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

FIPA Applications Abstract Architecture Agent Communication Interaction Protocols Agent Management ACL Communicative Representations Acts

FIPA Applications Abstract Architecture Agent Communication Interaction Protocols Agent Management ACL Communicative Representations Acts Envelope Content Representations Languages Agent Message Transport Protocols

FIPA: Comunicação entre Agentes Especificação da estrutura da mensagem Ø Especificação sobre o serviço

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 Não existe em KQML

FIPA: Especificação da estrutura da mensagem Ø Reply-to: indica o agente que irá receber

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

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

Exemplo: Inform Ø Resumo: – Um agente informa outro agente sobre uma cosa que

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)

Exemplo: Request Ø Resumo: – o agente que envia a mensagem pede para o

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 Comunicación Ø Ø Ø FIPA-Request-Protocol FIPA Request Interaction FIPA Query Interaction

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