23
Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos

Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

Embed Size (px)

Citation preview

Page 1: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

Planejamento e Solucionamento de Problemas Distribuídos

Sistemas MultiagenteEwerton Felipe Miglioranza

1Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos

Page 2: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

Ê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

Page 3: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 4: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 5: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 6: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 7: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 8: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 9: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 10: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 11: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 12: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 13: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 14: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 15: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 16: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 17: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 18: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 19: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 20: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 21: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 22: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

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

Page 23: Planejamento e Solucionamento de Problemas Distribuídos Sistemas Multiagente Ewerton Felipe Miglioranza 1 Sistemas Multiagente - Planejamento e Solucionamento

Referências

• Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence. Gerhard Weiss.

Sistemas Multiagente - Planejamento e Solucionamento de Problemas Distribuídos 23