Proposta de um Algoritmo para Problema de Satisfação de...

26
Proposta de um Algoritmo para Problema de Satisfação de Restrição Distribuída Formando: Daniel Moser Tralamazza Orientador: Jomi Fred Hübner

Transcript of Proposta de um Algoritmo para Problema de Satisfação de...

Page 1: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Proposta de um Algoritmo para Problema de Satisfação

de Restrição Distribuída

Formando: Daniel Moser TralamazzaOrientador: Jomi Fred Hübner

Page 2: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Roteiro

• Introdução• Fundamentação• Desenvolvimento• Resultados• Conclusão

Page 3: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Contexto

• Problemas de satisfação de restrição• Algoritmos distribuídos• Sistemas Multiagentes (SMA)

Page 4: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Objetivos

• Implementar o algoritmo AWC proposto por Makoto Yokoo

• Criar um algoritmo derivado que utilize novas heurísticas

Page 5: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Constraint SatisfactionProblems (CSP)

• Simples representação (TSANG 1993):– Conjunto de variáveisvariáveisvariáveisvariáveis x1, x2,... xn com valoresvaloresvaloresvalores v1,

v2,... vn pertencentes à domíniosdomíniosdomíniosdomínios D1, D2,... Dnnão vazios;

– Conjunto de restriçõesrestriçõesrestriçõesrestrições C1, C2,... Cn sobre os valores das variáveis.

• Em geral NP-Completos (YOKOO 2001)• Capaz de modelar diversos problemas na IA:

– Alocação de recursos;– Coloração de grafos;– Agendamento de tarefas.

Page 6: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Exemplos

x2

x1

x4

x3

Page 7: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Distributed CSP (DCSP)

• Pioneiro: Makoto Yokoo• Distribuição da informação entre agentes• Paralelismo: vantagens e desvantagens

Page 8: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Asynchronous Backtracking(ABT)

• Assíncrono• Ordenação (estática) dos agentes• Completo

Page 9: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Asynchronous Weak Commitment (AWC)

• Derivado do ABT• Ordenação dinâmica dos agentes

(prioridade)• Heurística para escolha de valores

Page 10: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Funcionamento do AWC

0

0

2

1 1

2

0

0

1

0 0

0

0

0

0

0

Page 11: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Desenvolvimento

• Utilização de um framework específico para DCSP desenvolvido pelo Grupo de Pesquisa de DCSP da FURB

• Implementado em Java Sun ®

Page 12: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Framework

Page 13: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Classe BaseAlg

Page 14: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Desenvolvimento AWC

• Implementado a partir do pseudo-código original desenvolvido por Yokoo(2001)

Page 15: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Classe AWC

Page 16: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Heurística Min-Conflict

Page 17: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Funcionamento do protótipo: Criação de launchers

Page 18: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Execução distribuída

Page 19: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Funcionamento do protótipo: Criação de agentes

Page 20: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Avaliação do AWC

• Problema das n-Rainhas (40)• Número de computadores variando de

1 a 40• Configuração:

– Rede 100Mbit– Pentium 1GHz, 256 RAM– Conectiva Linux 9

Page 21: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Resultado AWC

Page 22: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Protótipo

• Heurísticas propostas:– Valores menos utilizados;– Ordenação de restrições.

• Não armazenamento de nogoods

Page 23: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Conclusão

• O AWC foi implementado com sucesso• A garantia de completude AWC causa

grande perda de desempenho• Novas heurísticas para escolha de

valores aumentaram o desempenho

Page 24: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Extensões

• DCSP dinâmicos• Domínios infinitos• Novos algoritmos e heurísticas• Segurança da comunicação e

exposição do problema• Tornar os agentes “menos” reativos

Page 25: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Referencias Bibliográficas• YOKOO, M. Distributed constraint satisfaction. Berlin:

Springer, 2001.

• TSANG, E.Foundations of constraint satisfaction.London: Academic Press, 1993.

Page 26: Proposta de um Algoritmo para Problema de Satisfação de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2004-1danielmtralamazz… · Asynchronous Backtracking (ABT) • Assíncrono

Demonstração

• AWC– Uma máquina com 4-Rainhas– 20 máquinas com 40-Rainhas

• AWC sem nogood– 20 máquinas com 40-Rainhas

• AWC sem nogood e least used values– 20 máquinas com 40-Rainhas