1 / 44

Sistemas Multi-Agentes

Sistemas Multi-Agentes. Comunicação e Cooperação. Motivação. O uso de agentes individuais pode não ser adequado para todas as situações de problemas que ocorrem na prática. Um único agente pode causar sérias restrições.

kueng
Download Presentation

Sistemas Multi-Agentes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Multi-Agentes Comunicação e Cooperação

  2. Motivação • O uso de agentes individuais pode não ser adequado para todas as situações de problemas que ocorrem na prática. • Um único agente pode causar sérias restrições. • Requer uma enorme quantidade de conhecimento para resolver situações complexas.

  3. Motivação • Muitos problemas, por causa de sua natureza distribuída, requerem unidades que resolvam o problema distribuído. • Sistemas Multi-Agentes evitam as situações de problemas descritos. • Um determinado número de agentes autônomos e independentes são ativos dentro de um sistema multi-agentes.

  4. Cooperação em Sistemas Multi-Agentes

  5. Estratégias de Cooperação • São compostas de módulos. • Estratégias de Negociação. • Princípios de Matchmaking e Brokering.

  6. Comunicação em Sistemas Multi-Agentes

  7. Processo de Resolver Problemas Distribuídos OVERALL PROBLEM Problem division SUBPROBLEM 1 SUBPROBLEM 2 ....... SUBPROBLEM n Solution of the subproblems ....... SUBSOLUTION 1 SUBSOLUTION 2 SUBSOLUTION n Combining the subsolutions OVERALL PROBLEM

  8. Métodos de Comunicação • Diferenciados em: - sistemas com quadro-negro, - sistemas baseados em mensagens - sistemas baseados em diálogos.

  9. Método do Quadro-Negro Agente Agente Quadro Negro Agente Agente

  10. Quadro-Negro • O quadro-negro provê a todos os agentes dentro de um sistema multiagentes, uma área de trabalho comum, na qual eles podem trocar informação e conhecimento.

  11. Quadro-Negro • Um agente inicia uma ação de comunicação escrevendo um ítem de informação no quadro. Esta informação é então disponível para todos os outros agentes no sistema.

  12. Quadro-Negro • Todo agente pode, em qualquer tempo acessar o quadro, para ver se alguma informação tem chegado desde seu último acesso. Se sim, ele pode ler essa informação.

  13. Estrutura Estendida de Quadro-Negro Moderador KSARs Conhecimento de Controle Subproblemas Agente Dispatcher Agente Agente

  14. Moderador • O conceito de quadro-negro original não tem qualquer instância para verificar contribuições ou parar agentes de armazenar informação para subproblemas que não são parte de sua área de responsabilidade. • Assim, um moderador publica no quadro os próximos subproblemas a serem resolvidos e verifica quais agentes se aplicam para a solução das tarefas associadas. • O moderador realiza a atribuição de um subproblema a um agente.

  15. KSAR • Qualquer agente pode usar o quadro para ler subproblemas em aberto. • Se ele tem interesse em subproblemas específicos, ele usará uma base de dados por criar um Knowledge Source Ativation Record (KSAR) na base de dados.

  16. Dispatcher • Um dispatcher tem a tarefa de informar aos agentes, registrados no quadro, de mudanças feitas no quadro. Por exemplo, se novas mensagens surgem e novos subproblemas são oferecidos, o dispatcher pode contactar aqueles agentes que ele considera que podem ter interesse na nova informação.

  17. Modelo BBI Agent Agent Agent Agent Domain Blackboard Control Blackboard Domain KSARs Control KSARs Enumerate-KSAR Choose-KSAR Execute-KSAR

  18. Princípio de Transmissão de Mensagem Agent A (Sender) Agent B (Receiver) Message

  19. Estrutura de Diálogo Ask-about Agent A Agent B reply reply Ask-about Agent C

  20. Protocolos • KQML (Knowledge and Query Manipulation Language) representa o mais amplamente usado protlocolo para comunicação em sistemas multi-agentes. • KQML foi desenvolvida como parte do projeto American Knowledge Sharing Efforts (KSE) na University of Maryland [Finin 1993, Labrou/Finin 1997].

  21. KQML • KQML define um formato de mensagem e um sistema de transmissão de mensagens para a comunicação e cooperação em sistemas multi-agentes. • KQML define um grupos de protocolos para identificação, estabelecimento de conexão e troca de mensagens.

  22. KQML • O conteúdo semântico de uma mensagem não é especificado em detalhe em KQML. • Porque o padrão é aberto, várias linguagens podem ser usadas para trocar conhecimento e podem ser integradas em uma mensagem KQML.

  23. KQML • KQML diferencia três níveis: - comunicação (protocolos para todos os parâmetros de comunicação técnica). - mensagens (define os tipos de ações de fala associados com uma mensagem). - conteúdo (especifica o conteúdo da mensagem, embora KQML seja limitado para especificar somente um frame geral no qual os conteúdos reais podem se incorporados em alguma linguagem arbitrária)

  24. KQML • Toda mensagem de KQML tem a seguinte estrutura: (<Performative> : content <statement/speechat> : sender <name> : receiver <name> : language <text> : ontology <text> )

  25. KQML • Performative são os tipos de ações de fala. • Para garantir o seu uso generalizado, KQML define uma ampla gama de tipos de ações de fala que podem ser usados para quase todas os propósitos de aplicações.

  26. KQML –Tipos de Ações de Fala em

  27. Performativas KQML

  28. KQML • Os conteúdos de mensagens reais, tal como uma ação de fala específica, são inseridos no campo de conteúdo. • A linguagem usada não é definida, e por esta razão, essa linguagem é especificada no campo de linguagem. • O receptor pode usar o campo de linguagem para determinar a linguagem usada para codificar os conteúdos de mensagens e então ler o campo de conteúdo.

  29. KQML • Obviamente, para este propósito, o receptor deve,ser capaz de entender e interpretar a linguagem usada. • O campo Ontology define o dicionário ou vocabulário especial usado para os conteúdos de mensagem.

  30. KQML • Um exemplo de comando KQML (ask-one :content(PRICE IBM ?price) :receiver stok-server :language LPROLOG :ontology NYSE-TICKS )

  31. KQML • O sender usa o tipo de ação de fala ask-one para informar o receptor de seu desejo de receber uma resposta para a questão realizada. • O conteúdo real da mensagem neste exemplo é formulado na linguagem LPROLOG e a questão é o preço de um IBM share.

  32. KQML • O fato que o preço requerido se relaciona a um share price resulta da ontologia usada, neste caso, os símbolos em New York Exchanger (NYSE) ticker. • Se, por exemplo, o receptor for um vendedor de computadores e a ontologia sobre sistemas de computação, o conteúdo da mensagem poderia ser interpretado diferentemente, por exemplo, como uma questão perguntando o preço de um sistema de computação IBM.

  33. KQML • Nem todo diálogoem KQML deve ser modelado na forma de simples processos question/answer. • KQML introduz a função de um facilitador para também permitir o uso de estruturas de dados mais complexas.

  34. KQML • A principal tarefa de um facilitador é trazer juntos aqueles agentes que estão buscando por informação e aqueles que estão provendo informação.

  35. Uso de um Facilitador ASK(X) AGENT1 AGENT 2 AGENT 2 AGENT1 1. ADVERTISE (ASK(X)) TELL(X) 2. BROKER (ASK(X)) 4. TELL(X) 3. ASK(X) 5. TELL(X) FACILITATOR

  36. KQML • Se um agente busca por informação específica, mas não sabe quais outros agentes podem provê a informação, ele pode usar a performativa broker para fazer uso de serviços de um facilitador. • O facilitador aceita a consulta e tenta encontrar um agente com o conhecimento apropriado.

  37. KQML • Todo agente pode usar uma performativa advertise para registrar seu conhecimento com o facilitador.

  38. Variantes de Comunicação em KQML 4. ask(X) AGENT 2 AGENT1 AGENT 2 AGENT1 5. tell(X) 3. tell(X) 2. tell(X) 3. reply(X) 1. Advertise (ask(X)) 1. subscribe (ASK(X)) FACILITATOR FACILITATOR 2. Recommend (ask(X))

  39. Variantes em KQML • O lado esquerdo da figura mostra um processo similar ao do exemplo prévio, mas com a diferença que um recommend é usado no lugar de broker. • Neste caso, o facilitador supre somente o endereço de um agente adequado. A transferência do conhecimento toma lugar diretamente entre os dois agentes e não, como no exemplo anterior, mas por meio do facilitador.

  40. Variantes em KQML • Um subscribe informa ao facilitador continuamente buscar respostas através de sua base de conhecimento para uma mudança específica. Se uma mudança ocorre, ela é passada ao agente questionador.

  41. Integrando agentes • Existem dois possíveis conceitos para integrar agentes existentes em um sistema multi-agentes baseado em KQML: - todo agente poderia ser estendido com a capacidade para processar mensagens KQML. - ou um componente adicional poderia realizar esta tarefa para o agente.

  42. Integrando agentes • Para tornar o sistema o mais flexível e aberto possível, é desejável considerar a segunda variante. • Uma possível arquitetura testada como parte de diversos sistemas:

  43. Arquitetura de um SMA baseado em KQML KRIL KQML Router AGENT NETWORK KQML Messages KRIL Function calls KQML Messages

  44. Arquitetura de um SMAbaseado em KQML • Todo agente tem dois módulos adicionais: - um roteador KQML - uma de interface entre o roteador KQML e o agente (KRIL)

More Related