Plano de Aula Agentes que Interagem Conceitos Bsicos
Plano de Aula Agentes que Interagem Conceitos Básicos FIPA ACL Exemplo – Agente Comprando Livros Diferentes Formas de Interação entre Agentes 1
Motivação : Agentes Reflexão n n n Cenário dinâmico Integração de diversas mídias e dispositivos Inteligência Social Como implementar? n Sugestão: usar Agentes Inteligentes Agentes n n Ideal para aplicações autônomas, móveis e inseridas em uma sociedade Naturalmente capazes de: w w Reagir de forma autônoma e reativa Raciocinar de forma pró-ativa Adaptar-se ao ambiente onde estão inseridos Iteragir com outras entidades 2
Recordar é Viver. . . IAD lembra. . . n n n Comportamento Social Organização Interação w Coordenação w Cooperação w Ação 3
Recordar é Viver. . . II n RDP n n n Agentes projetados para o problema. Benevolência Organização em Tempo de Projeto Controle Global Pouca Flexibilidade n SMA n n n Agentes preexistentes Raciocínio sobre ações, cooperação Maior Flexibilidade Organização Variável Interações Genéricas 4
Assim. . . SMA. . . n n n Realiza a decomposição das tarefas Tem conflitos. . . ou junta esforços É variável. . . Como isso acontece? ? Interação é a chave. . . 5
Motivação : Agentes Iteração n n Solução compartilhada de problemas Requisito básico w Mecanismo de Comunicação n n Linguagem comum Infra-estrutura Mas como implementar? 6
Comunicação em SMA Conceitos Básicos 7
Comunicação. . . Relação dinâmica mediada por sinais, que quando interpretados, afetam os agentes envolvidos. Possibilita. . . Cooperação e Coordenação Em outra palavras. . . Comunicação é: n n Uma forma de ação Utilizada pelo agente para tornar realidade um estado do mundo 8
Tipos de Comunicação Telepatia n Acesso direto à uma Knowledge Base (KB) w Lendo a mente. . . w Cada um com sua KB w KB compartilhada n Problemas w Podem usar o mesmo símbolo para denotar coisas diferentes w Podem usar símbolos diferentes para denotar a mesma coisa Linguagem de Comunicação de Agentes (LCA) n Comum 9
Atos de Fala Categorização das expressões humanas quanto a n n Intenção do locutor Impacto do ato comunicativo no receptor Existem aproximadamente 4600 atos de fala! n Não é esse o objetivo de uma LCA Ajuda a decidir as primitivas das LCAs n Toda primitiva de uma LCA é um ato de fala 10
Atos da Fala Linguagem Humana n n Atos comunicativos são interpretados a partir da mensagem e do contexto Nem sempre esta interpretação é óbvia Dificuldades n n “Cale-se !” (Comando) “Por favor, você pode se calar ? ” (Pedido) “Você vai se calar ou não ? ” (Pergunta) “Eu gostaria que você se calasse. ” (Informação) 11
Atos da Fala : Categorias Representativos n n Expressam uma Proposta Ex: “Vamos jogar boliche amanhã? ” Diretivos n n Expressam um Pedido ou Comando Ex: “Cale-se!” Comissivos n n Expressam Promessa ou Ameaça Ex: “Eu prometo doar Expressivos n n Expressam Desculpas ou Agradecimentos Ex: “Desculpe pelo atraso” Declarativos n n Mudam o Estado do Mundo Ex: “Eu os declaro marido e mulher!” Veredictos n n Expressam um Julgamento Ex: “West é criminoso. ” R$1. 000, 00. ” 12
Várias Dimensões dos Atos da Fala Ato Locucionário n Emissão da mensagem w “Você poderia fazer um café? ” Efeito Ilocucionário n O que o locutor entende por algo w “Ele me pediu para fazer café” Efeito Perlocucionário n O real efeito do ato comunicativo no receptor w “Ele me fez fazer café” Ideal n n Efeito perlocucionário previsível Para um dado Ato Locucionário, w Efeito Ilocucionário = Efeito Perlocucionário. n Ou seja, prever a reação do receptor! 13
Linguagens de Comunicação Baseadas na Teoria dos Atos da Fala (Searle, Austin) Objetiva a troca de informações entre agentes n Transporte de mensagens na rede através de protocolos de baixo nível w SMTP, TCP/IP, IIOP ou HTTP n Esse transporte é transparente para o usuário Uma LCA é dividida em: n n Ontologia Linguagem interna (lógica) w Codificação do conteúdo n Linguagem externa w Ato Locucionário (Performativa) w Encapsulamento de infomações para o roteamento 14
Linguagem Interna (LI) O que é? n Linguagem em que deve ser codificado o conhecimento que se deseja compartilhar com o destinatário da mensagem Exemplos n KIF ( Knowledge Interchange Format ) w Versão prefixada (“LISP like”) da lógica clássica de primeira ordem w Não está totalmente implementada para uso comercial w Produzida pelo KSE n n Linguagem natural Prolog, SQL, LISP RDF (Resource Description Framework) XML Ato Comunicativo Mensagem Conteúdo 15
Linguagem Externa ( LE ) O que é ? n Linguagem que encapsula: w O ato comunicativo = ato locucionário = performativa w Informações para o roteamento n n n Agente receptor Ontologia Linguagem interna Conteúdo … Exemplos n n KQML FIPA ACL 16
FIPA Foundation for Intelligent Physical Agents www. fipa. org 17
FIPA : Histórico FIPA é uma associação sem fins lucrativos fundada em 1996 e localizada em Genebra na Suíça Objetiva promover o sucesso das aplicações, serviços e equipamentos baseados em agentes Provê especificações para maximizar a interoperabilidade entre aplicações, serviços e equipamentos baseados em agentes 18
FIPA x KQML n Ao contrário do KQML, as especificações FIPA têm uma grande preocupação com a modelagem semântica Linguagem de Comunicação de Agentes n FIPA ACL Linguagens Internas n n n FIPA Content Language Library (FIPA-CLL) FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF, … Mas também é independente de LI 19
FIPA ACL Sintaxe n n Praticamente igual ao KQML Conjunto de performativas menor w accept-proposal, agree, cancel, cfp, confirm, disconfirm, failure, inform-if, inform-ref, not-understood, propose, query-if, query-ref, refuse, reject-proposal, requestwhen, request-whenever, subscribe Semântica n n n Definida precisamente Mensagens são mapeadas na FIPA-SL <i, inform(j, ) pre: Bi Bi (Bifj Uifj ) w Efeito: Bj 20
Definindo Performativas. . . Inform – ato representativo, uma ação n n Está sol lá fora. Estou com sono. Visa. . n n n Modificar as crenças de agentes Não pode ser realizado por acidente São uma tentativa 21
Request Ato Diretivo Tenta modificar as intenções do destinatário Dois tipos diferentes n n Request-to Request-that 22
Exemplo A 1 envia a seguinte mensagem para A 2. . . ( inform : sender : receiver : reply-with : language : content A 1 A 2 id 1. . . : ontology. . . ((= available-service A 1) (set(provide Professor(X, Y))))” 23
Exemplo A 2 pergunta então a A 1. . . ( query-ref : sender : receiver : in-reply-to : reply-with : language : ontology : content ) A 2 A 1 id 2 Prolog CIn “Professor(X, ‘Agentes’)” 24
Exemplo A 1 responde ao agente A 2. . . ( inform : sender : receiver : in-reply-to : reply-with : language : ontology : content A 1 A 2 id 3 Prolog CIn “X = Geber, X = Flávia, X = Jacques. . . ” ) 25
Exemplo A simple one. . . 26
Compra de Livros Linguagens n n Java FIPA-ACL Ferramentas n JADE (Java Agent DEvelopment Framework) 27
Compra de Livros (1) Register Directory Facilitator Agent (Páginas Amarelas) (2) Search (3) Lista de agentes (3) CFP (4) Propose ou Refuse Agente Fornecedor (5) Accept Proposal Agente Comprador (6) Inform 28
Comportamento Agente Fornecedor private class Offer. Requests. Server extends Cyclic. Behaviour { public void action() { ACLMessage msg = my. Agent. receive(); if (msg != null) { // Message received. Process it String title = msg. get. Content(); ACLMessage reply = msg. create. Reply(); Integer price = (Integer) catalogue. get(title); if (price != null) { // The requested book is available for sale. Reply with the price reply. set. Performative(ACLMessage. PROPOSE); reply. set. Content(String. value. Of(price. int. Value())); } else { // The requested book is NOT available for sale. reply. set. Performative(ACLMessage. REFUSE); reply. set. Content(“not-available”); } my. Agent. send(reply); } } 29 }
Comportamento do Agente Comprador private class Request. Performer extends Behaviour { private AID best. Seller; // The agent who provides the best offer private int best. Price; // The best offered price private int replies. Cnt = 0; // The counter of replies from seller agents private Message. Template mt; // The template to receive replies private int step = 0; public void action() { switch (step) { (. . . ) } } 30
Comportamento do Agente Comprador (cont. ) case 0: // Send the cfp to all sellers ACLMessage cfp = new ACLMessage(ACLMessage. CFP); for (int i = 0; i < seller. Agents. length; ++i) { cfp. add. Receiver(seller. Agents[i]); } cfp. set. Content(target. Book. Title); cfp. set. Conversation. Id(“book-trade”); cfp. set. Reply. With(“cfp”+System. current. Time. Millis()); // Unique value my. Agent. send(cfp); // Prepare the template to get proposals mt = Message. Template. and(Message. Template. Match. Conversation. Id(“booktrade”), Message. Template. Match. In. Reply. To(cfp. get. Reply. With())); step = 1; break; 31
Comportamento do Agente Comprador (cont. ) case 1: // Receive all proposals/refusals from seller agents ACLMessage reply = my. Agent. receive(mt); if (reply != null) { // Reply received if (reply. get. Performative() == ACLMessage. PROPOSE) { // This is an offer int price = Integer. parse. Int(reply. get. Content()); if (best. Seller == null || price < best. Price) { // This is the best offer at present best. Price = price; best. Seller = reply. get. Sender(); } } replies. Cnt++; if (replies. Cnt >= seller. Agents. length) // We received all replies step = 2; } else block(); break; 32
Comportamento do Agente Comprador (cont. ) case 2: // Send the purchase order to the seller that provided the best offer ACLMessage order = new ACLMessage(ACLMessage. ACCEPT_PROPOSAL); order. add. Receiver(best. Seller); order. set. Content(target. Book. Title); order. set. Conversation. Id(“book-trade”); order. set. Reply. With(“order”+System. current. Time. Millis()); my. Agent. send(order); // Prepare the template to get the purchase order reply mt = Message. Template. and(Message. Template. Match. Conversation. Id(“booktrade”), Message. Template. Match. In. Reply. To(order. get. Reply. With())); step = 3; break; 33
Comportamento do Agente Comprador (cont. ) case 3: // Receive the purchase order reply = my. Agent. receive(mt); if (reply != null) { // Purchase order reply received if (reply. get. Performative() == ACLMessage. INFORM) { // Purchase successful. We can terminate System. out. println(target. Book. Title+“ successfully purchased. ”); System. out. println(“Price = ”+best. Price); my. Agent. do. Delete(); } step = 4; } else block(); break; 34
Várias formas de Interação em SMA. . . 35
Situações de Interação Uma situação de Interação então é. . . Um conjunto de comportamentos que resulta do agrupamento de agentes que devem atuar no ambiente para atingir seus objetivos, e que dependem de recursos limitados. 36
Comparando Interações Uma interação depende de. . . n Objetivos w Os agentes têm objetivos compatíveis? n Recursos Disponíveis w Lembram do exemplo do jantar? n Habilidades de cada agente w O que eu sei fazer? 37
Uma primeira Classificação Cooperação Indiferença Antagonismo – ou Conflito Agente A Região de Conflito Agente B 38
Tipos de Interação (I) Independência n n n Objetivos Compatíveis Recursos e Habilidades Suficientes Ex. Duas pessoas pegando o Ceasa/Casa Amarela Colaboração Simples n n n Objetivos compatíveis e Recursos Suficientes Habilidades Insuficientes Ex. Agentes compartilhando conhecimento 39
Tipos de Interação (II) Obstrução n n Objetivos Compatíveis e Habilidades Suficientes Recursos Insuficientes w Agentes Atrapalham os outros. w Situação de Comércio Colaboração Coordenada n n Objetivos Compatíveis Recursos e Habilidades Insuficientes w Controle de Redes 40
Tipos de Interação (III) Competição Individual n n n Objetivos Incompatíveis Recursos e habilidades Suficientes Maratona Competição Coletiva n n n Objetivos Incompatíveis Recursos Suficientes Habilidades Insuficientes w Formação de Coalisões n Ex. Jogo de Futebol 41
Tipos de Interação (IV) Conflitos Individuais sobre Recursos n n n Objetivos incompatíveis e recursos insuficientes Habilidades Suficientes Ex. Dois agentes querendo o “prato de lasanha” Conflitos Coletivos n n Objetivos Incompatíveis Recursos e Habilidades Insuficientes w Formação de Coalizões para se apossar dos recursos necessários. n Ex. quem já jogou “War”? 42
Ainda mais Interação. . . Comensalismo n Interação beneficia apenas um dos agentes, sem prejudicar o outro. Proto-Cooperação n Interação otimiza a obtenção das metas. Simbiose n A interação entre os agentes é obrigatória, cada um cedendo serviços ao outro. 43
- Slides: 43