Algoritmos Paralelos Probabil - PowerPoint PPT Presentation

About This Presentation
Title:

Algoritmos Paralelos Probabil

Description:

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 – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 38
Provided by: F9C
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos Paralelos Probabil


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 maxn/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) lt 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
Soma de subconjuntos 528 056 042
SAT SBSAT 1419 312 149
SAT zChaff 432 049 033
36
Resultados obtidos
1 proc 16 procs 1632 procs
Soma de subconjuntos 11327 904 336
SAT SBSAT 10713 714 506
SAT zChaff 5059 413 235
37
Perguntas?
Write a Comment
User Comments (0)
About PowerShow.com