A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song

Apresentações semelhantes


Apresentação em tema: "Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song"— Transcrição da apresentação:

1 Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song
Algoritmos Paralelos Probabilísticos para Busca em Backtrack e Heurística Branch-and-Bound Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song

2 Referências Karp, R. and Zhang, Y. Randomized Parallel Algorithms for Backtrack Search and Branch-and-Bound Computation – ACM Journal, Vol. 40, No. 3, Julho de 1993. Kouril, M. and Paul, J. A Parallel Backtracking Framework (BkFr) for Single and Multiple Clusters – First Conference on Computing Frontiers, Abril de 2004.

3 Agenda Busca e Otimização Combinatória Uso de Computação Paralela
Backtrack Determinístico vs. Probabilístico Uso de Cluster de Clusters Heurística de Branch-and-Bound Backtracking Framework - BkFr Resultados obtidos

4 Problemas de busca combinatória
Busca por combinações de elementos que atendam certas características específicas Grande número de arranjos possíveis Problemas NP Árvore de soluções

5 Problema do caixeiro viajante
Encontrar um passeio de custo mínimo por um conjunto de cidades Problema NP-difícil Todas as cidades precisam ser visitadas Custo total deve ser o menor possível

6 Algoritmo genérico Instância A do problema é dada
Executa uma das operações: Resolve A diretamente ou Deriva de A os subproblemas A1, A2,...,Ad de forma que o problema A possa ser resolvido a partir da solução dos subproblemas

7 Árvore de soluções Associa-se à instância do problema uma árvore
Raiz: instância do problema Nós internos: subproblemas Folhas: subproblemas que podem ser resolvidos diretamente

8 Árvore de soluções

9 Uso de computação paralela
Busca na árvore de soluções é facilmente paralelizável Custo de comunicação é baixo Speed-up potencial é altíssimo Problemas propícios para aplicação de computação paralela

10 Backtrack Busca em profundidade na árvore de soluções
Todos os nós serão visitados Todas as possíveis soluções serão analisadas A melhor solução será encontrada

11 Complexidade Limite inferior: max{n/p,h}

12 Trivialmente paralelizável?
Processadores realizam a busca na árvore de soluções de forma independente – não exige comunicação

13 Qual o desafio? Distribuição de carga
Processadores ociosos recebem nova carga de trabalho Não implica em aumento de rodadas de comunicação Exige modelagem otimizada dos nós da árvore

14 Backtrack paralelo – definições
Nó de fronteira Nó que foi gerado mas não expandido Fronteira local Conjunto dos nós de fronteira possuídos pelo processador Nível de um nó v Número de nós no caminho da raiz até o nó v, inclusive

15 Backtrack paralelo – definições

16 Backtrack paralelo – estados
Processador ocioso Sua fronteira local está vazia Processador ocupado Sua fronteira local não está vazia

17 Backtrack paralelo – passos
Expansão de nó Cada processador expande seu nó de fronteira mais à esquerda Pareamento Alguns processadores ocupados são selecionados como doadores Doação Cada processador selecionado envia metade de seus nós superiores a um processador ocioso

18 Backtrack paralelo – algoritmo

19 Backtrack paralelo – algoritmo

20 Versão determinística
Escolhe maior pareamento possível

21 Versão determinística - complexidade
Número de passos h é a altura da árvore d é o grau da árvore n é o número de nós p é o número de processadores

22 Versão probabilística

23 Versão probabilística - complexidade
Passo bom: mais de p/2 processadores executam uma unidade de trabalho Número máximo de passos bons

24 Versão probabilística - complexidade
Número máximo de passos ruins Com probabilidade

25 Determinístico vs. Probabilístico
Dispensa controle global Tem tempo de execução próximo ao limite inferior Tem como premissa tempo de comunicação unitário entre quaisquer processadores

26 Cluster de clusters Oferece número significativamente maior de processadores Apresenta ambiente “hostil” Fere premissa da comunicação em tempo unitário Controle global é desejado ao permitir tolerância à falha Determinístico é mais indicado

27 Heurística branch-and-bound
Método mais utilizado na prática para solução de problemas de otimização combinatória Branch – derivação de subproblemas Bound – limite inferior do custo da solução ótima do problema A Se B é subproblema de A então bound(A) <= bound(B)

28 Heurística branch-and-bound
Nem todos os nós da árvore serão visitados Subproblemas com bound maior que uma solução já encontrada podem ser descartados Ordem de expansão dos nós pode ser alterada para best-first A melhor solução será encontrada

29 Branch-and-bound paralelo

30 Best-First global A cada passo, expande os p nós mais promissores
Exige manutenção de fila de prioridade global

31 Best-First local

32 Best-First local

33 Best-First local - complexidade
H: instância do problema c: função bound utilizada d: constante Com grande probabilidade, a razão entre o tempo de execução do Best-First local e o menor tempo possível para qualquer algoritmo em p processadores é constante

34 BkFr – Backtracking Framework
Arcabouço para o desenvolvimento de aplicações paralelas de backtracking Tolerante a falhas Apresenta controle hierárquico Permite a execução em múltiplos clusters

35 Resultados obtidos 1 proc 8 procs 16 procs 5:28 0:56 0:42 14:19 3:12
Soma de subconjuntos 5:28 0:56 0:42 SAT SBSAT 14:19 3:12 1:49 SAT zChaff 4:32 0:49 0:33

36 Resultados obtidos 1 proc 16 procs 16+32 procs 1:13:27 9:04 3:36
Soma de subconjuntos 1:13:27 9:04 3:36 SAT SBSAT 1:07:13 7:14 5:06 SAT zChaff 50:59 4:13 2:35

37 Perguntas?


Carregar ppt "Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song"

Apresentações semelhantes


Anúncios Google