1 / 37

Algoritmos Paralelos Probabilísticos para Busca em Backtrack e Heurística Branch-and-Bound

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. Referências.

teenie
Download Presentation

Algoritmos Paralelos Probabilísticos para Busca em Backtrack e Heurística Branch-and-Bound

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • 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 • Estados: • Processador ocioso • Sua fronteira local está vazia • Processador ocupado • Sua fronteira local não está vazia

  17. Backtrack paralelo – passos • 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 • 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

  36. Resultados obtidos

  37. Perguntas?

More Related