Sistemas Multi-Agentes - PowerPoint PPT Presentation

About This Presentation
Title:

Sistemas Multi-Agentes

Description:

Sistemas Multi-Agentes Comunica o e Coopera o – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 45
Provided by: Jo139
Category:

less

Transcript and Presenter's Notes

Title: Sistemas Multi-Agentes


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
Cooperação Estratégias
Cooperação Protocolos
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
Comunica- ção Quadro Negro Diálogos
Comunica- ção Quadro Negro Mensagens
Comunica- ção Protocolos Protocolos
7
Processo de Resolver Problemas Distribuídos
OVERALL PROBLEM
Problem division
.......
SUBPROBLEM 1
SUBPROBLEM 2
SUBPROBLEM n
Solution of the subproblems
.......
SUBSOLUTION n
SUBSOLUTION 1
SUBSOLUTION 2
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
Choose-KSAR
Execute-KSAR
Enumerate-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
Ask-about
reply
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
  • (ltPerformativegt
  • content ltstatement/speechatgt
  • sender ltnamegt
  • receiver ltnamegt
  • language lttextgt
  • ontology lttextgt
  • )

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
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.
27
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.
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)
Write a Comment
User Comments (0)
About PowerShow.com