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

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Estratégias Pipelined
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
A Classe de Problemas NP
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
ARQUITETURA DE COMPUTADORES II
Método de Clusterização baseado em Densidade Algoritmo DBSCAN
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
UM ESTUDO SOBRE O PROBLEMA DO CAIXEIRO VIAJANTE
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Geometria Computacional Fecho Convexo
Colônia de Formigas (Ant Colony Optimization)
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Disciplina de Otimização Aluno: Cristhian A. C. Cortez
Busca Cega (Exaustiva)
Busca Heurística - Informada
Artigo: The dynamic berth allocation problem for a container port Akio Imai, Etsuko Nishimura, Stratos Papadimitriou, Analisando a formulação relaxada.
Solução de problemas por meio de busca
Estruturas de Dados e Complexidade de Algoritmos
Problemas NP-completo
Uso de Cluster de Computadores no Ambiente Corporativo
List Ranking: Um Estudo Experimental
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Estratégias de Busca com informação e exploração
Aprendizagem de Máquina - Agrupamento
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Otimização Inteira 5a. Aula Franklina.
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Metodologia da Pesquisa em Ciência da Computação - INE – Luís Fernando Custódio Seminário de Metodologia GPU em Ambientes Compartilhados.
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
Aula 3 - Método gráfico Programação Linear
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
AULA COMPUTACIONAL - Síntese de Sistemas de Separação (Cap. 7) 20 DE OUTUBRO DE 2008.
Aula 5 Programação Inteira
NP-Completude Algoritmos e Estruturas de Dados – IF672
Resolução de Problemas de Busca
Algoritmos de Busca Local
Tópicos Avançados em Inteligência Artificial
Complexidade de Algoritmos
Uma Análise das plataformas CUDA e OpenCL usando MetaHeurísticas aplicadas no Problema do Caixeiro Viajante Aluno: Hedley Luna Gois Oriá Disciplina: Introdução.
Construção e Análise de Algoritmos
Busca Combinatorial e Métodos de Heurística
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Resolução de Problemas de Busca
Busca com Informação e Exploração “Busca heurística”
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
UMA ABORDAGEM PARA O PROJETO DE REDES URBANAS DE DISTRIBUIÇÃO DE GÁS POR OTIMIZAÇÃO COMBINATÓRIA E SISTEMAS DE INFORMAÇÃO GEOGRÁFICAS Cezar Miranda Paula.
Problemas NP-completos e Programação Dinâmica
Algoritmos FPT para o Problema da k-Cobertura por Vértices
Geometria Computacional Fecho Convexo
Mailson Felipe da Silva Marques Johnson Cordeiro Sarmento
Resolução de Problemas de Busca Agentes Baseados em Objetivo
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Ordenação Professor Paulo Gomide 27 de outubro de 2015.
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Comportamento Assintótico
Ant Colony Optimization Eraylson Galdino da Silva Universidade Federal de Pernambuco Centro de Informática Tópicos Avançados em Inteligência.
Transcrição da apresentação:

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

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.

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

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

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

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

Á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

Árvore de soluções

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

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

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

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

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

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

Backtrack paralelo – definições

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

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

Backtrack paralelo – algoritmo

Backtrack paralelo – algoritmo

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

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

Versão probabilística

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

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

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

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

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)

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

Branch-and-bound paralelo

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

Best-First local

Best-First local

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

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

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

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

Perguntas?