Upload
internet
View
107
Download
0
Embed Size (px)
Citation preview
Planejamento e Solucionamento de Problemas Distribuídos
Sistemas MultiagenteEwerton Felipe Miglioranza
1Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Ênfase
• Trabalho em conjunto.• Quando um agente sozinho não consegue
realizar ou realiza de forma menos eficiente uma tarefa.
• Recursos distribuidos.• Requer coerência e competência.• Coerência: vontade de trabalhar em conjunto
(normalmente assumido previamente).• Competência: saber trabalhar em conjunto
(principal foco - querer não é poder!).2Sistemas Multiagente - Planejamento e
Solucionamento de Problemas Distribuídos
Motivação
• Busca por uma solução: agentes em conjunto buscam uma solucao geral partindo de sub-problemas.
• Busca por um planejamento: como decompor um problema em subproblemas, alocação de subproblemas, troca de soluções e finalmente como reagrupar as soluções.
• Exemplos: Torre de Hanói, sensoreamento distribuído (tráfego, aeroportos), sistemas de entregas distribuídos.
3Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Estratégias
• Compartilhamento de tarefas (Task Sharing).
• Compartilhamento de resultados (Result Sharing).
• Planejamento distribuído (Distributed Planning).
4Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Task Sharing• Idéia: um agente com muitas tarefas pede ajuda para
outros com poucas ou nenhuma.• Passos:
- Decomposição: gerar lista de possíveis tarefas ou subdividir um problema para repassar.- Alocação: designar as sub-tarefas para os agentes apropriados.- Realização: cada agente completa sua tarefa, o que pode incluir nova decomposição (recursivamente).- Síntese dos resultados: o agente devolve a solução do sub-problema repassado para que a solução final possa ser composta.
5Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Exemplo Torre de Hanói
• Decomposição: mover o maior disco para a estaca de destino (decomposição recursiva).
• Alocação: qualquer agente disponível.• Realização: executar a decomposição
recursiva.• Síntese dos resultados: o agente recebe os
resultados para compor uma sequência de movimentos e retornar a solução.
6Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Task Sharing
• Prós:- Simples.- Funciona bem em sistemas homogêneos.
• Contras:- Encotrar agentes livres e capazes de
realizar uma sub-tarefa.- Em geral complexidade alta.- Problema se o ambiente muda enquanto
um agente espera a resposta.
7Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Result Sharing• Idéia: vários agentes compartilham seus resultados a fim de
otimizar suas soluções:
- Confiança: resultados independentes de uma mesma tarefa podem ser trocados a fim de aumentar a confiança das soluções.Ex: um grupo de alunos que recebe um mesmo exercício.
- Completude: cada agente formula um resultado para as tarefas as quais fora designado, e esses resultados juntos cobrem uma área mais completa do problema geral.Ex: monitoramento de veículos distribuído.
8Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Result Sharing• Idéia: vários agentes compartilham seus resultados para
otimizar:
- Precisão: para refinar um resultado, um agente precisa saber mais sobre as soluções encontradas pelos outros agentes.Ex: Aplicação de engenharia concorrente.
- Tempo: mesmo que um agente possa resolver uma grande tarefa sozinho, resolver sub-tarefas paralelamente pode ser mais rápido.
9Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos
Result Sharing
• Falar é fácil...- Excesso de comunicação.- Como saber o que fazer com os resultados compartilhados?- Muitos resultados para analizar. Como selecionar?
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 10
Result Sharing - Alternativas
• Cooperação por funcionalidade:- Idéia usada pelo monitoramento de veículos distribuídos.- Tratar resultados parciais obtidos com formulação de tentativas (heurísticas) e trocas interativas.- Problema: Distração (todos tentando resolver a mesma parte do problema).
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 11
Result Sharing - Alternativas• Repositórios compartilhados e busca negociada:
- Ter um repositório central, guardando todas as respostas aos sub-problemas encontradas pelos agentes.- Diminui a troca de mensagens.
• Problemas:- Um agente não sabe o que pode acontecer ao fazer uma escolha.- Um agente pode relaxar restrições, tornando soluções descartadas em soluções possíveis.- Torna o domínio do problema mais complexo (negociação).
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 12
Result Sharing - Alternativas• Busca heurística de restrições:
- Usar heurísticas para resolver dependências mais fáceis.- Evitar desperdícios com backtracking.
• Organização estrutural:- Organizar agentes em grupos de comunicação (interesses).- Reduz a troca de mensagens.Problemas:
- Separar os agentes.- Buscas podem se tornar complexas.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 13
Result Sharing - Alternativas• Estratégias de comunicação:
- Decidir qual o melhor momento para a troca de mensagens (Ex: DVM).- Garantir que a mensagem foi recebida:
- Repetição da mensagem.- Usar heurísticas para determinar as mudanças
na base.
• Estrutura das tarefas:- Captar relações intrínsecas ao problema.- Dependente do problema.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 14
Distributed Planning
• Generalização do solucionamento distribuído.• Problema passa a ser gerar um plano.
• Planejamento centralizado para planos distribuídos.
• Planejamento distribuído para planos centralizados.
• Planejamento distribuído para planos distribuídos.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 15
Distributed Planning• Planejamento centralizado para planos
distribuídos:- Execuções são planejadas sequencialmente.- Um agente pode separar o problema em threads.
• Problemas:- Dificuldade em dividir um problema (número de agentes vs. tamanho do subproblema).- Planejamento sequencial.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 16
Distributed Planning
• Planejamento distribuído para planos distribuídos:- Versão mais complexa.- Plano não está representado inteiramente no sistema (distribuído).
- Plan Merging.- Interative Plan Formation.- Negotiation.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 17
Distributed Planning
• Plan Merging:- Agente inicia um plano individual.- Agentes resolvem conflitos mudando seus planos.- Funciona paralelamente (planejamento e execução).
• Problemas:- Sincronização.- Pode demorar para convergir.- Dependências locais.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 18
Distributed Planning• Interative Plan Formation:
- Agente constroi um conjunto de planos que satisfaçam seu objetivo.- Processo consiste em realizar uma busca de como esses conjuntos podem ser unidos.
• Negotiation- Trata da escolha do agente que deve mudar seu plano.- Trata de assegurar a honestidade de um agente.- Diversos meios...
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 19
Distributed Planning - Execução• Execução:
- Temos um plano, mas e se um agente falhar?
• Post-Planing Coordination:- Planos alternativos (planos de contingência).- Problema de muitos planos.
• Pre-Planing Coordination:- Assegurar previamente que qualquer ação tomada pelo agente faça-o ficar em coordenação com os outros.- Agente pode trabalhar em qualquer parte do problema que se encaixe em suas responsabilidades.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 20
Distributed Planning - Execução• Execução:
- Temos um plano, mas e se um agente falhar?
• Interleaved Planning, Coordination and Execution:- Intercalar planejamento, coordenação e execução.- Garantir que o planejamento e a coordenação sejam revistos continuamente.
• Runtime Plan Coordination Without Communication:- Inferir planos de outros agentes através da observação. - Utilizar racionalidade.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 21
Conclusões
• Várias ferramentas e técnicas bem estudadas.
• Atualmente um dos principais desafios é saber como e onde aplicar essas ferramentas.
• Desenvolver estratégias de planejamento distribuídos ainda envolve muita “arte”.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 22
Referências
• Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence. Gerhard Weiss.
Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 23