Sistemas Multi-Agentes

download Sistemas Multi-Agentes

If you can't read please download the document

description

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. - PowerPoint PPT Presentation

Transcript of Sistemas Multi-Agentes

  • Sistemas Multi-AgentesComunicao e Cooperao

  • MotivaoO uso de agentes individuais pode no ser adequado para todas as situaes de problemas que ocorrem na prtica.Um nico agente pode causar srias restries.Requer uma enorme quantidade de conhecimento para resolver situaes complexas.

  • MotivaoMuitos problemas, por causa de sua natureza distribuda, requerem unidades que resolvam o problema distribudo.

    Sistemas Multi-Agentes evitam as situaes de problemas descritos.

    Um determinado nmero de agentes autnomos e independentes so ativos dentro de um sistema multi-agentes.

  • Cooperao em Sistemas Multi-Agentes

    CooperaoEstratgias

    Protocolos

  • Estratgias de Cooperao

    So compostas de mdulos.

    Estratgias de Negociao. Princpios de Matchmaking e Brokering.

  • Comunicao em Sistemas Multi-Agentes

    Comunica-o

    QuadroNegroDilogosMensagensProtocolos

  • Processo de Resolver Problemas Distribudos..............OVERALL PROBLEMOVERALL PROBLEMSUBPROBLEM 1SUBPROBLEM 2SUBPROBLEM nSUBSOLUTION nSUBSOLUTION 1SUBSOLUTION 2Problem divisionSolution of the subproblemsCombining the subsolutions

  • Mtodos de Comunicao

    Diferenciados em: - sistemas com quadro-negro, - sistemas baseados em mensagens - sistemas baseados em dilogos.

  • Mtodo do Quadro-NegroQuadro Negro AgenteAgenteAgenteAgente

  • 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 informao e conhecimento.

  • Quadro-Negro

    Um agente inicia uma ao de comunicao escrevendo um tem de informao no quadro. Esta informao ento disponvel para todos os outros agentes no sistema.

  • Quadro-Negro

    Todo agente pode, em qualquer tempo acessar o quadro, para ver se alguma informao tem chegado desde seu ltimo acesso. Se sim, ele pode ler essa informao.

  • Estrutura Estendida de Quadro-NegroSubproblemasModeradorAgenteAgenteAgenteDispatcher KSARsConhecimento de Controle

  • ModeradorO conceito de quadro-negro original no tem qualquer instncia para verificar contribuies ou parar agentes de armazenar informao para subproblemas que no so parte de sua rea de responsabilidade.Assim, um moderador publica no quadro os prximos subproblemas a serem resolvidos e verifica quais agentes se aplicam para a soluo das tarefas associadas.O moderador realiza a atribuio de um subproblema a um agente.

  • KSARQualquer agente pode usar o quadro para ler subproblemas em aberto.

    Se ele tem interesse em subproblemas especficos, ele usar uma base de dados por criar um Knowledge Source Ativation Record (KSAR) na base de dados.

  • Dispatcher

    Um dispatcher tem a tarefa de informar aos agentes, registrados no quadro, de mudanas feitas no quadro. Por exemplo, se novas mensagens surgem e novos subproblemas so oferecidos, o dispatcher pode contactar aqueles agentes que ele considera que podem ter interesse na nova informao.

  • Modelo BBIDomainBlackboardControlBlackboardAgentAgentAgentAgentChoose-KSARExecute-KSAREnumerate-KSARDomainKSARsControlKSARs

  • Princpio de Transmisso de MensagemAgent A(Sender)Agent B(Receiver)Message

  • Estrutura de DilogoAgent AAgent BAgent CAsk-aboutreplyAsk-aboutreply

  • ProtocolosKQML (Knowledge and Query Manipulation Language) representa o mais amplamente usado protlocolo para comunicao 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].

  • KQMLKQML define um formato de mensagem e um sistema de transmisso de mensagens para a comunicao e cooperao em sistemas multi-agentes.

    KQML define um grupos de protocolos para identificao, estabelecimento de conexo e troca de mensagens.

  • KQMLO contedo semntico de uma mensagem no especificado em detalhe em KQML.Porque o padro aberto, vrias linguagens podem ser usadas para trocar conhecimento e podem ser integradas em uma mensagem KQML.

  • KQML

    KQML diferencia trs nveis: - comunicao (protocolos para todos os parmetros de comunicao tcnica). - mensagens (define os tipos de aes de fala associados com uma mensagem). - contedo (especifica o contedo da mensagem, embora KQML seja limitado para especificar somente um frame geral no qual os contedos reais podem se incorporados em alguma linguagem arbitrria)

  • KQMLToda mensagem de KQML tem a seguinte estrutura: ( : content : sender : receiver : language : ontology )

  • KQMLPerformative so os tipos de aes de fala.

    Para garantir o seu uso generalizado, KQML define uma ampla gama de tipos de aes de fala que podem ser usados para quase todas os propsitos de aplicaes.

  • KQML Tipos de Aes de Fala em

    Tipo de Aes de Fala ou PerformativaSignificadoachieve S deseja que E torne verdadeiras algumas declaraes em seu ambiente.advertiseS particularmente adequado para realizar algum tipo de ao de fala particular.ask-allS deseja que todos respondam na base de conhecimento de E.broker-oneS deseja que E encontre auxilio para sua ao de fala.denyA ao de fala j no mais se aplica a S.deleteS deseja que E remova certos fatos especficos de sua base de conhecimento.

  • Performativas KQML

    recommend-oneS deseja o nome de um agente que pode responder a uma ao de fala.recruit-oneS deseja que um agente E execute uma ao de fala.sorryS no possui o requerido conhecimento ou informao.subscribeS deseja continuamente informao das respostas de E para uma ao de fala.tellS transfere uma ao de fala.

  • KQMLOs contedos de mensagens reais, tal como uma ao de fala especfica, so inseridos no campo de contedo.A linguagem usada no definida, e por esta razo, essa linguagem especificada no campo de linguagem.O receptor pode usar o campo de linguagem para determinar a linguagem usada para codificar os contedos de mensagens e ento ler o campo de contedo.

  • KQMLObviamente, para este propsito, o receptor deve,ser capaz de entender e interpretar a linguagem usada.

    O campo Ontology define o dicionrio ou vocabulrio especial usado para os contedos de mensagem.

  • KQMLUm exemplo de comando KQML

    (ask-one :content(PRICE IBM ?price) :receiver stok-server :language LPROLOG :ontology NYSE-TICKS )

  • KQMLO sender usa o tipo de ao de fala ask-one para informar o receptor de seu desejo de receber uma resposta para a questo realizada.

    O contedo real da mensagem neste exemplo formulado na linguagem LPROLOG e a questo o preo de um IBM share.

  • KQMLO fato que o preo requerido se relaciona a um share price resulta da ontologia usada, neste caso, os smbolos em New York Exchanger (NYSE) ticker.Se, por exemplo, o receptor for um vendedor de computadores e a ontologia sobre sistemas de computao, o contedo da mensagem poderia ser interpretado diferentemente, por exemplo, como uma questo perguntando o preo de um sistema de computao IBM.

  • KQMLNem todo dilogoem KQML deve ser modelado na forma de simples processos question/answer.

    KQML introduz a funo de um facilitador para tambm permitir o uso de estruturas de dados mais complexas.

  • KQMLA principal tarefa de um facilitador trazer juntos aqueles agentes que esto buscando por informao e aqueles que esto provendo informao.

  • Uso de um FacilitadorAGENT1AGENT 2AGENT1AGENT 2FACILITATORASK(X)TELL(X)2.BROKER(ASK(X))5.TELL(X)1.ADVERTISE(ASK(X))4.TELL(X)3.ASK(X)

  • KQMLSe um agente busca por informao especfica, mas no sabe quais outros agentes podem prov a informao, ele pode usar a performativa broker para fazer uso de servios de um facilitador. O facilitador aceita a consulta e tenta encontrar um agente com o conhecimento apropriado.

  • KQML

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

  • Variantes de Comunicao em KQML AGENT1AGENT 2FACILITATORAGENT1AGENT 2FACILITATOR4.ask(X)5.tell(X)3.reply(X)1.Advertise(ask(X))2.Recommend(ask(X))1.subscribe(ASK(X))2.tell(X)3.tell(X)

  • Variantes em KQMLO lado esquerdo da figura mostra um processo similar ao do exemplo prvio, mas com a diferena que um recommend usado no lugar de broker.

    Neste caso, o facilitador supre somente o endereo de um agente adequado. A transferncia do conhecimento toma lugar diretamente entre os dois agentes e no, como no exemplo anterior, mas por meio do facilitador.

  • Variantes em KQML

    Um subscribe informa ao facilitador continuamente buscar respostas atravs de sua base de conhecimento para uma mudana especfica. Se uma mudana ocorre, ela passada ao agente questionador.

  • Integrando agentes

    Existem dois possveis 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.

  • Integrando agentes

    Para tornar o sistema o mais flexvel e aberto possvel, desejvel considerar a segunda variante.

    Uma possvel arquitetura testada como parte de diversos sistemas:

  • Arquitetura de um SMA baseado em KQMLAGENTKQMLRouterKRILKRILFunctioncallsKQMLMessagesKQMLMessagesNETWORK

  • Arquitetura de um SMAbaseado em KQMLTodo agente tem dois mdulos adicionais: - um roteador KQML - uma de interface entre o roteador KQML e o agente (KRIL)