Sistemas Multi-Agentes Comunicação e Cooperação. Motivação O uso de agentes individuais pode...
-
Upload
kevin-prado-freire -
Category
Documents
-
view
213 -
download
0
Transcript of Sistemas Multi-Agentes Comunicação e Cooperação. Motivação O uso de agentes individuais pode...
![Page 1: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/1.jpg)
Sistemas Multi-Agentes
Comunicação e Cooperação
![Page 2: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/2.jpg)
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.
![Page 3: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/3.jpg)
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.
![Page 4: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/4.jpg)
Cooperação em Sistemas Multi-Agentes
Cooperação
Estratégias
Protocolos
![Page 5: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/5.jpg)
Estratégias de Cooperação
São compostas de módulos.
Estratégias de Negociação. Princípios de Matchmaking e
Brokering.
![Page 6: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/6.jpg)
Comunicação em Sistemas Multi-Agentes
Comunica-ção
QuadroNegro
Diálogos
Mensagens
Protocolos
![Page 7: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/7.jpg)
Processo de Resolver Problemas Distribuídos
.......
.......
OVERALL PROBLEM
OVERALL PROBLEM
SUBPROBLEM 1 SUBPROBLEM 2 SUBPROBLEM n
SUBSOLUTION nSUBSOLUTION 1 SUBSOLUTION 2
Problem division
Solution of the
subproblems
Combining the
subsolutions
![Page 8: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/8.jpg)
Métodos de Comunicação
Diferenciados em: - sistemas com quadro-negro, - sistemas baseados em
mensagens - sistemas baseados em diálogos.
![Page 9: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/9.jpg)
Método do Quadro-Negro
Quadro Negro
Agente
Agente Agente
Agente
![Page 10: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/10.jpg)
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.
![Page 11: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/11.jpg)
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.
![Page 12: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/12.jpg)
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.
![Page 13: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/13.jpg)
Estrutura Estendida de Quadro-Negro
Subproblemas
Moderador
AgenteAgente
Agente Dispatcher
KSARs
Conhecimento de Controle
![Page 14: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/14.jpg)
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.
![Page 15: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/15.jpg)
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.
![Page 16: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/16.jpg)
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.
![Page 17: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/17.jpg)
Modelo BBI
DomainBlackboard
ControlBlackboard
Agent Agent Agent Agent
Choose-KSAR Execute-KSAREnumerate-KSAR
Domain
KSARsControlKSARs
![Page 18: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/18.jpg)
Princípio de Transmissão de Mensagem
Agent A(Sender)
Agent B(Receiver)
Message
![Page 19: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/19.jpg)
Estrutura de Diálogo
Agent A Agent B
Agent C
Ask-about
reply
Ask-aboutreply
![Page 20: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/20.jpg)
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].
![Page 21: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/21.jpg)
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.
![Page 22: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/22.jpg)
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.
![Page 23: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/23.jpg)
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)
![Page 24: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/24.jpg)
KQML Toda mensagem de KQML tem a
seguinte estrutura: (<Performative> : content <statement/speechat> : sender <name> : receiver <name> : language <text> : ontology <text> )
![Page 25: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/25.jpg)
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.
![Page 26: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/26.jpg)
KQML –Tipos de Ações de Fala em
Tipo de Ações de Fala ou
Performativa
Significado
achieve S deseja que E torne verdadeiras algumas declarações em seu ambiente.
advertise S é particularmente adequado para realizar algum tipo de ação de fala particular.
ask-all S deseja que todos respondam na base de conhecimento de E.
broker-one S deseja que E encontre auxilio para sua ação de fala.
deny A ação de fala já não mais se aplica a S.delete S deseja que E remova certos fatos específicos de
sua base de conhecimento.
![Page 27: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/27.jpg)
Performativas KQML
recommend-one S deseja o nome de um agente que pode responder a uma ação de fala.
recruit-one S deseja que um agente E execute uma ação de fala.
sorry S não possui o requerido conhecimento ou informação.
subscribe S deseja continuamente informação das respostas de E para uma ação de fala.
tell S transfere uma ação de fala.
![Page 28: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/28.jpg)
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.
![Page 29: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/29.jpg)
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.
![Page 30: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/30.jpg)
KQML Um exemplo de comando KQML
(ask-one :content(PRICE IBM ?price) :receiver stok-server :language LPROLOG :ontology NYSE-TICKS )
![Page 31: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/31.jpg)
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.
![Page 32: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/32.jpg)
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.
![Page 33: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/33.jpg)
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.
![Page 34: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/34.jpg)
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.
![Page 35: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/35.jpg)
Uso de um Facilitador
AGENT1
AGENT 2 AGENT
1AGENT
2
FACILITATOR
ASK(X)
TELL(X)2.
BROKER(ASK(X))
5.TELL(X)
1.ADVERTIS
E(ASK(X))
4.TELL(X)
3.ASK(X
)
![Page 36: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/36.jpg)
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.
![Page 37: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/37.jpg)
KQML
Todo agente pode usar uma performativa advertise para registrar seu conhecimento com o facilitador.
![Page 38: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/38.jpg)
Variantes de Comunicação em KQML
AGENT1
AGENT 2
FACILITATOR
AGENT1
AGENT 2
FACILITATOR
4.ask(X)
5.tell(X)
3.reply(X)
1.Advertise(ask(X))
2.Recommend
(ask(X))
1.subscr
ibe(ASK(
X))
2.tell(X)
3.tell(X)
![Page 39: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/39.jpg)
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.
![Page 40: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/40.jpg)
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.
![Page 41: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/41.jpg)
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.
![Page 42: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/42.jpg)
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:
![Page 43: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/43.jpg)
Arquitetura de um SMA baseado em KQML
AGENT KQMLRouter
KRIL
KRIL
Functioncalls
KQMLMessage
s
KQMLMessage
s
NETWORK
![Page 44: 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.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384b1a28abb8238f5cf0/html5/thumbnails/44.jpg)
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)