planejamento e solucionamento de problemas distribuídos
DESCRIPTION
Planejamento e Solucionamento de Problemas Distribuídos. Sistemas Multiagente Ewerton Felipe Miglioranza. Ê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. - PowerPoint PPT PresentationTRANSCRIPT
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