Análise de Desempenho de Estratégias de Particionamento de Grafos
|
|
- Vera Leveck Amado
- 5 Há anos
- Visualizações:
Transcrição
1 Análise de Desempenho de Estratégias de Particionamento de Grafos Diogo T. Murata, Rodrigo M. Martins, Vanderson M. do Rosario, Anderson F. da Silva 1 Departamento de Informática - Universidade Estadual de Maringá (UEM) Av. Colombo, UEM - Bloco C56 - Maringá - PR - Brazil {ra69553,ra68773,ra67620}@uem.br, anderson@din.uem.br Resumo. No contexto de computação paralela aplicada a problemas com grafos, uma questão que deve ser analisada é a divisão do grafo entre as unidades de processamento. Este artigo investiga estratégias de particionamento de grafo. Os resultados alcançados demonstram que o desempenho está relacionado com a quantidade de interconexões geradas pela estratégia utilizada, como também pela sua complexidade. 1. Introdução Coloração de grafo possui diversas aplicações, incluindo escalonamento de trabalhadores, alocação de registradores, processamento de matrizes esparsas, agendamento de tarefas, entre outros. A formulação de tal problema é como segue. Dado um grafo G = (V, E), o problema da coloração de grafos tem como objetivo determinar a quantidade de cores necessárias para colorir todos os vértices de um grafo sem que vértices adjacentes tenham a mesma cor [Cormen et al. 2009]. Dentre os algoritmos desenvolvidos para solucionar tal problema, o algoritmo de Jones-Plassmann [Jones and Plassmann 1993] possui o atrativo de encontrar o número cromático 1 para diversas instâncias de grafos em um tempo aceitável. Este artigo investiga quatro estratégias de particionamento de grafo no contexto do algoritmo Jones-Plassmann paralelo, a saber: busca em largura (BFS), busca em profundidade (DFS), gulosa e aleatória. Os resultados indicam que o desempenho do algoritmo Jones-Plassmann paralelo está relacionado com a quantidade de interconexões geradas durante o particionamento do grafo entre as diferentes unidades de processamento (UP), como também pela complexidade da estratégia de particionamento. O restante deste artigo está organizado da seguinte maneira: a Seção 2 apresenta brevemente o algoritmo Jones-Plassmann; a Seção 3 apresenta os resultados e uma discussão sobre estes; e a Seção 4 finaliza este artigo apresentando algumas conclusões, trabalhos relacionados e os trabalhos futuros. 2. O Algoritmo Jones-Plassmann Jones e Plassmann [Jones and Plassmann 1993] propuseram um algoritmo para coloração que melhora o algoritmo MIS. O MIS colore o grafo em um processo iterativo, no qual cada iteração encontra e colore o maior conjunto independente de vértices do grafo. A 1 Quantidade mínima de cores para uma coloração efetiva - na qual não existem arestas conflitantes. 302
2 diferença do algoritmo Jones-Plassmann está no fato deste não criar uma nova permutação dos vértices toda vez que um conjunto independente precisa ser calculado. Um único conjunto de pesos aleatórios pode ser construído no começo e ser usado em todo o algoritmo. Isso é feito atribuindo números aleatórios para cada vértice e utilizando o número único para resolver um conflito no caso de vértices vizinhos estarem com o mesmo número. Além disto, Jones-Plassmann não encontra um conjunto independente máximo. Este encontra um conjunto independente usando o método de Luby de escolher vértices os quais os pesos são máximos locais. Outra diferença é que os vértices do conjunto independente não são atribuídos com a mesma cor nova, eles são coloridos usando a menor cor disponível que ainda não foi atribuída a nenhum vértice vizinho. 3. Resultados e Discussão No contexto de problemas paralelos que utilizam grafos, uma boa divisão de tais grafos possui o potencial de minimizar o tempo de processamento. Pelo fato de reduzir a contenção entre as UPs. Nesta seção são avaliadas as quatro estratégias de particionamento de grafo. Para alcançar tal objetivo foram implementadas quatro versões do algoritmo Jones-Plassmann, cada uma utilizando uma estratégia diferente de particionamento. Cada versão utiliza a estratégia de coloração maiores graus primeiro (Largest-Degree-First). Além disto, estas utilizam a biblioteca OpenMP, como estratégia de paralelização do algoritmo. Uma questão importante é a escolha das instâncias a serem avaliadas. Os experimentos foram realizados com instâncias de diferentes características, a saber: 1000 vértices, 2000 vértices, 4000 vértices e 8000 vértices. Além disto, para cada quantidade de vértices foram criadas duas instâncias, uma com densidade 0,1 e outra com densidade 0,5. Portanto, existem 8 instâncias diferentes. Tais instâncias foram criadas com a ferramenta GTgraph 2. A motivação do uso de tal ferramenta para criar grafos sintéticos, está no fato desta ser utilizada no contexto científico para avaliar algoritmos baseados em grafos. A avaliação experimental foi realizada em um computador que possui dois processadores Xeon E5504, 24 GB RAM e executa o sistema operacional Ubuntu x86 64 com kernel generic. Cada processador possui 4 núcleos totalizando 8 UPs. Todas as UPs citadas nos experimentos são dessa máquina. Além disto, cada instância foi executada 12 vezes e os dados apresentados são a média entre 10 execuções, descartadas a pior e a melhor. Um ponto importante a ser ressaltado é o fato do foco do artigo ser a divisão do grafo entre as UPs e não no número cromático encontrado. De qualquer forma, os experimentos realizados indicam que independente da estratégia de particionamento, o algoritmo Jones-Plassmann encontra o mesmo número cromático para uma determinada instância. Além disto, o número cromático encontrado por Jones-Plassmann é o mesmo que o encontrado por um algoritmo guloso, implementado para avaliar a qualidade do resultado final encontrado por Jones-Plassmann Speedups A Figura 1 apresenta o speedup alcançado por cada versão do algoritmo Jones-Plassmann. 2 madduri/software/gtgraph/ 303
3 Figura 1. Speedup do algoritmo Jones-Plassmann com diferentes estratégias de particionamento. É possível perceber pela Figura 1 que o uso de duas UPs possui o melhor desempenho. A partir deste ponto ocorre uma perda de desempenho. Isto indica que o aumento de UPs está potencialmente aumentando o overhead do sistema como um todo. A estratégia gulosa é a que ocasiona o pior desempenho. De fato, independente da quantidade de UPs, o uso desta estratégia ocasiona uma desaceleração. Para a estratégia gulosa a versão paralela possui um desempenho pior do que a versão sequencial. As outras três estratégias possuem um comportamento semelhante. Embora, a estratégia aleatória tenha um desempenho ligeiramente superior a BFS e DFS. Estes resultados são interessantes, pelo fato de que em uma primeira instância não seja esperado que a estratégia aleatória seja melhor do que estratégias mais elaboradas. Uma questão que deve ser respondida é a falta de escalabilidade de tais estratégias. Este é o objetivo da próxima seção Custo da Divisão A perda de escalabilidade está relacionada ao fato de uma UP não encontrar em sua partição um vértice que seja maior (em sua métrica) que seus vizinhos. Isto ocorre normalmente porque os vizinhos estão em partições de outras UPs. Tal situação ocasiona uma perda de desempenho, pois a unidade precisa interromper sua execução até que outra processe um vértice que a permita continuar. Desta forma, o aumento da quantidade de UPs, em outras palavras o aumento de partições, potencialmente agrava este problema. Pois, quanto maior é a quantidade de partições do grafo, maior a chance de uma unidade precisar interromper sua execução. A quantidade de interconexões entre duas partições - arestas que ocasionam a interrupção da execução, resultante da estratégia de divisão do grafo, afeta drasticamente o desempenho. Um algoritmo de divisão de grafo que divida o grafo minimizando o número de arestas entre as partições diminuem as interconexões. No entanto, algoritmos de divisão do grafo podem necessitar de um tempo considerável nessa tarefa, e portanto o ganho de desempenho final com uma boa divisão pode não ser vantajoso. A Figura 2 apresenta a relação entre interconexões e tempo de execução. É possível perceber pela Figura 2 que o tempo de execução aumenta, independente da quantidade de UPs, com o aumento da quantidade de interconexões. Além disso, o tempo de execução aumenta seguindo uma determinada proporcionalidade. As estratégias aleatória, BFS, DFS, gulosa e aleatória não possuem as mesmas 304
4 (a) 2 UPs (b) 4 UPs (c) 8 UPs Figura 2. Relação entre interconexões e tempo de execução. divisões 3. Desta forma, cada estratégia resultará em diferentes quantidades de interconexões. Entretanto, deve ser considerado que tais estratégias possuem diferentes complexidades, consequentemente diferentes tempos de execução. Portanto, o overhead do particionamento do grafo deve ser levado em consideração. Além disto, como a parte sequencial de um código limita o speedup, a estratégia de particionamento terá grande impacto no desempenho. A Figura 3 apresenta as interconexões para cada estratégia de particionamento. (a) 2 UPs (b) 4 UPs (c) 8 UPs Figura 3. Quantidade de interconexões (em escala logarítmica) para cada versão do algoritmo Jones-Plassmann. A Figura 3 mostra que as estratégias BFS, DFS e aleatória possuem uma quantidade de interconexões similar, em diferentes instâncias. Enquanto a estratégia gulosa apresenta a maior quantidade de interconexões para todas as instâncias, principalmente para 4 e 8 UPs. Isto explica a perda de desempenho para a estratégia gulosa. É importante perceber que o aumento de UPs acarreta o aumento na quantidade de interconexões aproximadamente em uma ordem de grandeza. Isto aumenta consideravelmente o overhead, consequentemente ocasionando o baixo speedup. Os dados apresentados na Figura 3 explicam o speedup apresentado na Figura 1. Em geral as estratégias BFS e DFS possuem comportamentos semelhantes - no tocante a quantidade de interconexões, enquanto a estratégia aleatória possui uma ligeira diminuição desta quantidade para algumas instâncias. Além disto, esta estratégia é mais rápida do que as outras, ocasionando um menor impacto no desempenho geral 4. 3 Dada a restrição de espaço, tais dados não serão apresentados graficamente. 4 O speedup apresentado se refere a toda computação - desde a carga dos dados até a impressão do valor cromático, e não apenas o desempenho da parte paralela. 305
5 3.3. Alcançando um Speedup Próximo do Linear Para mostrar que a escalabilidade do algoritmo Jones-Plassmann está relacionada à estratégia de particionamento do grafo, foram criados grafos que sejam facilmente particionados pelas estratégias avaliadas. Para alcançar este objetivo, os grafos com 1000 vértices foram duplicados e arestas entre eles foram adicionadas - de forma aleatória. Este processo foi realizado três vezes, sempre duplicando a instância gerada na iteração anterior. É importante ressaltar que durante a criação de tais instâncias é necessário renomear os índices dos vértices, para que não existam vértices com o mesmo rótulo. Portanto, foram criadas 6 novas instâncias. A diferença entre estas e as utilizadas nas Seções 3.1 e 3.2, está no fato de se conhecer onde se inicia e onde se termina uma partição da instância. Desta forma, as estratégias de divisão se beneficiam dessas divisões muito bem delineadas, para determinar as partições que serão criadas. A Figura 4 apresenta o speedup alcançado por cada versão do algoritmo Jones- Plassmann, utilizando as 2 instâncias com 1000 vértices mais as 6 novas instâncias. Figura 4. Speedup do algoritmo Jones-Plassmann com diferentes estratégias de particionamento. Os dados apresentados na Figura 4 indicam que o comportamento das versões do algoritmo Jones-Plassmann seguem o mesmo padrão apresentado na Figura 1. A estratégia gulosa é a pior estratégia, ocasionado um desempenho pior do que a contraparte sequencial. Enquanto as outras estratégias possuem o melhor desempenho, com uma ligeira melhora para a estratégia aleatória. O uso das novas instâncias ocasionou um speedup próximo ao linear, o qual é aproximadamente duas vezes maior do que aquele alcançado com as instâncias originais. Isto indica que pelo menos quatro fatores influenciam o desempenho de algoritmos paralelos baseados em grafos, a saber: (1) a natureza do grafo; (2) a quantidade de partições; (3) a quantidade de interconexões entre as partições do grafo; e (4) a complexidade da estratégia de particionamento. 4. Conclusões Este artigo investigou diferentes estratégias de particionamento de grafo. Os resultados indicam que o desempenho está relacionado a quantidade de interconexões existentes entre as partições. Além disto, estes indicam que uma estratégia simples - aleatória - possui o atrativo de ser rápida, minimizando o custo da parte sequencial do processamento e consequentemente maximizando o desempenho final alcançado. Embora, esta não encontre necessariamente um bom particionamento. 306
6 Por outro lado, a natureza do grafo tende a limitar tal desempenho. O que foi demonstrado com o uso de instâncias para as quais cada partição tende a conter um bom agrupamento. Contudo, tal situação nem sempre será encontrada. De fato, a tendência é existir grafos irregulares, os quais não ocasionarão um particionamento ideal. Portanto, neste contexto as pesquisas devem ser voltadas para a implementação de estratégias eficientes de particionamento de grafos irregulares. Basicamente tais estratégias devem buscar as seguintes características: (1) serem rápidas, (2) alcançarem o melhor balanceamento de carga possível; e (3) minimizar ao máximo a quantidade de interconexões entre as partições. Trabalhos Relacionados: Pesquisas com algoritmos paralelos para estruturas com componentes conectados vem sendo realizadas ao longo das últimas décadas [Jones and Plassmann 1993, Greiner 1994]. Gebremedhin e Manne [Gebremedhin and Manne 2000] analisam a escalabilidade de algoritmos paralelos de coloração de grafo baseado em métodos gulosos. Abbasian e Mouhoub [Abbasian and Mouhoub 2011] propuseram um algoritmo genético hierárquico paralelo para a solução do problema de coloração de grafo. Hasenplaugh e outros [Hasenplaugh et al. 2014] analisam diferentes heurísticas de ordenação para coloração de grafo baseado em algoritmos gulosos paralelos. Trabalhos Futuros: O próximo passo deste trabalho de iniciação científica é propor estratégias de particionamento que minimizem a quantidade de interconexões. Além disto, serão propostas versões do algoritmo Jones-Plassmann que façam uso de GPUs, além de OpenMP. Referências Abbasian, R. and Mouhoub, M. (2011). An Efficient Hierarchical Parallel Genetic Algorithm for Graph Coloring Problem. In Proceedings of the Annual Conference on Genetic and Evolutionary Computation, pages , New York, NY, USA. ACM. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009). Algorithms. The MIT Press, 3rd edition. Introduction to Gebremedhin, A. H. and Manne, F. (2000). Scalable Parallel Graph Coloring Algorithms. Concurrency - Practice and Experience, 12(12): Greiner, J. (1994). A Comparison of Parallel Algorithms for Connected Components. In Proceedings of the Annual ACM Symposium on Parallel Algorithms and Architectures, pages 16 25, New York, NY, USA. ACM. Hasenplaugh, W., Kaler, T., Schardl, T. B., and Leiserson, C. E. (2014). Ordering Heuristics for Parallel Graph Coloring. In Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures, pages , New York, NY, USA. ACM. Jones, M. T. and Plassmann, P. E. (1993). A Parallel Graph Coloring Heuristic. SIAM Journal of Scientific Computing, 14(3):
5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
Leia maisArquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento
Leia maisDecisões arquiteturais importantes. Projeto arquitetural x projeto de algoritmos. Decomposição de dados. Decomposição de dados
Processamento Paralelo Técnicas de Decomposição de Problemas Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Decisões arquiteturais importantes 1. Divisão de responsabilidades entre partes (componentes)
Leia maisAbordagens para Problemas Intratáveis
Abordagens para Problemas Intratáveis Letícia Rodrigues Bueno UFABC Motivação Se você se depara com um problema intratável... Motivação Se você se depara com um problema intratável... I can t find an efficient
Leia maisComplexidade de Tempo e Espaço
Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando
Leia maisTeoria da Complexidade Computacional
Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and
Leia maisDistâncias entre vértces em um grafo. Implementação sequencial
Distâncias entre vértces em um grafo Implementação sequencial André de Freitas Smaira 16 de outubro de 2013 1 1 Introdução Nesse projeto, temos por objetivo a determinação das distâncias mínimas entre
Leia maisAluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
Leia maisModelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora
Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora Autor: Adilmar Coelho Dantas 1, Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em
Leia maisUm estudo computacional de dois algoritmos de programação dinâmica com utilização eficiente de cache
Um estudo computacional de dois algoritmos de programação dinâmica com utilização eficiente de cache Guilherme S. Ribeiro 1, Marcus Ritt 1, Luciana S. Buriol 1 1 Instituto de Informática Universidade Federal
Leia maisGRAFOS Aula 09 Coloração de Grafos Max Pereira
Ciência da Computação GRAFOS Aula 09 Coloração de Grafos Max Pereira O problema da coloração de grafos trata-se de atribuir cores a determinados elementos de um grafo, sob certas restrições. A coloração
Leia maisQuestões de Computação Científica no contexto da Otimização
Questões de Computação Científica no contexto da Otimização Universidade Federal do Espírito Santo Mestrado em Informática Abril de 2009 Sumário Introdução 1 Introdução 2 3 Sumário Introdução 1 Introdução
Leia maisAlgoritmos em Grafos
Algoritmos em Grafos Letícia Rodrigues Bueno UFABC Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar problemas; Grafos: ferramenta fundamental de abstração; Abstraímos
Leia maisIMPLEMENTAÇÕES PARALELAS PARA FECHO TRANSITIVO
IMPLEMENTAÇÕES PARALELAS PARA FECHO TRANSITIVO Raphael de Aquino Gomes Departamento de Áreas Acadêmicas IV Instituto Federal de Educação, Ciência e Tecnologia de Goiás Câmpus Goiânia, Rua 75, n o 46, Centro,
Leia maisPCC104 Projeto e Análise de Algoritmos
PCC104 Projeto e Análise de Algoritmos Joubert de Castro Lima joubertlima@gmail.com Professor Adjunto DECOM UFOP 2010/1 Figuras retiradas do livro Introduction to parallel Computing Programar em paralelo
Leia maisProjeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática
Projeto e Análise de Algoritmos Introdução Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Eu penso que o projeto de algoritmos eficientes
Leia maisTeoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Leia maisAlgoritmos em Grafos: Caminho Mínimo
Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre
Leia maisDESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES
DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: ssvenske@unicentro.br
Leia maisFormulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos
Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Teobaldo L. Bulhões Júnior a a Instituto de Computação, Universidade Federal Fluminense, Niterói, RJ, Brazil
Leia maisEmparelhamentos Máximos em Grafos Bipartidos
Introdução à Teoria dos Grafos Emparelhamentos Máximos em Grafos Bipartidos Bacharelado em Ciência da Computação, DCT UFMS, 6/6/2005 Entrega em 04/07/2005 Resumo Quando estudamos emparalhementos e fatorações
Leia maisProjeto e Análise de Algoritmos
Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais harison@pucpcaldas.br 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter
Leia maisProjeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns
Leia maisEstruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello
Estruturas de Dados Grafos VIII: Árvores Geradoras Mínimas Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww.datastructures.net
Leia maisUSO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO
Leia maisSobre a execução de workflows científicos sobre diferentes estrategias de dados de entrada - Uma Avaliação Experimental
Sobre a execução de workflows científicos sobre diferentes estrategias de dados de entrada - Uma Avaliação Experimental Douglas Oliveira Cristina Boeres Fábio Laboratório Nacional de Computação Científica
Leia maisToward an Architecture-Independent Analysis of Parallel Algorithms
1/22 Introdução O algoritmo de aproximação Aplicações em Problemas Concretos Problemas Abertos Referências Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de
Leia maisBusca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro
Fevereiro - 009 Definição de Grafo Listas de Adjacências de Técnicas da Classificação das Arestas Aplicação do de de 4 Grafo Transposto Definição de Grafo Listas de Adjacências de Exemplos de Aplicação
Leia maisProva Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
Leia maisPaulo Guilherme Inça. 7 de dezembro de 2016
Coloração de grafos é NP-Difícil Paulo Guilherme Inça 7 de dezembro de 2016 Sumário 1 Introdução 1 2 O Problema da Coloração de Grafos 2 3 3-Coloração é NP-Completo 3 4 Generalizações e Restrições 6 5
Leia maisAlgoritmo para Construção do Diagrama de Voronoi com abordagem de Divisão e Conquista
Algoritmo para Construção do Diagrama de Voronoi com abordagem de Divisão e Conquista Augusto Luengo Pereira Nunes 1 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal
Leia mais04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II
04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisINPE Outubro, Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva Projeto:
INPE Outubro, 2008 Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva fabiana.santana@usp.br, amsaraiv@usp.br Apoio: Instituição: Projeto: Objetivos: Apresentar versão de alto desempenho para o Garp
Leia maisANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC
ANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC Bruno Cesar Puli Dala Rosa (PIBIC/CNPq/FA/Uem), Anderson Faustino Da Silva (Orientador), e-mail: bcesar.g6@gmail.com Universidade Estadual de Maringá
Leia maisUm algoritmo pseudo-periférico genérico para a heurística de Snay
Trabalho apresentado no CNMAC, Gramado - RS, 2016. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Um algoritmo pseudo-periférico genérico para a heurística de Snay
Leia maisPARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1
PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado
Leia maisBusca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???
Teoria dos Grafos Introdução Prof. Humberto Brandão humberto@unifal-mg.edu.br aula disponível no site: http:bcc.unifal-mg.edu.br~humberto Universidade Federal de Alfenas Departamento de Ciências Exatas
Leia maisCAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)
1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação
Leia maisPCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio
Leia maisProjeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2)
1 Projeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Baseado no material desenvolvido por Andréa Iabrudi Tavares BCC 241 2012/2 2 Algumas
Leia maisTécnicas de Projeto de Algoritmos
UNIVERSIDADE NOVE DE JULHO - UNINOVE Pesquisa e Ordenação Técnicas de Projeto de Algoritmos Material disponível para download em: www.profvaniacristina.com Profa. Vânia Cristina de Souza Pereira 03 _ Material
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 13 Componentes Fortemente Conectados Edirlei Soares de Lima Componentes Fortemente Conectados Um componente fortemente conectado (Strongly Connected
Leia maisTrabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides.
Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos Alessander Botti Benevides abbenevides@inf.ufes.br 4 de julho de 2011 Sumário 1 2 Coloração de mapas Problemas de agendamento
Leia maisMétodos Exatos para PI - Parte 1: Branch-and-Bound
Introdução à Otimização Combinatória Métodos Exatos para PI - Parte 1: Professora: Rosiane de Freitas (rosiane@icomp.ufam.edu.br) Bruno Raphael Cardoso Dias Prof. Estágio em Docência (bruno.dias@icomp.ufam.edu.br)
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo
Leia maisO Problema da 3- Coloração de Grafos
Otimização Combinatória O Problema da - Coloração de Grafos Guilherme Zanardo Borduchi Hugo Armando Gualdron Colmenares Tiago Moreira Trocoli da Cunha Prof.ª Marina Andretta Introdução ao Problema Problema
Leia mais6 Experimentos realizados
6 Experimentos realizados 6.1 Considerações iniciais Resolvemos os modelos de PLIM utilizando o resolvedor CPLEX, baseado no método de branch-and-bound. Resolvemos as relaxações lineares dos mesmos modelos
Leia maisArquiteturas Paralelas
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos
Leia maisEstruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno
Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno UFABC Estruturas de Dados para Conjuntos Disjuntos: Introdução Estruturas de Dados para Conjuntos Disjuntos: Introdução
Leia maisAlgoritmo Paralelo para Árvore Geradora usando GPU
Algoritmo Paralelo para Árvore Geradora usando GPU Jucele F. A. Vasconcellos 1, Edson N. Cáceres 1, Henrique Mongelli 1, Siang W. Song 2 1 Faculdade de Computação Universidade Federal do Mato Grosso do
Leia mais1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador
1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática
Leia maisUNIVERSIDADE FEDERAL DO CEARÁ CAMPUS QUIXADÁ BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO LUCAS DA SILVA COSTA
UNIVERSIDADE FEDERAL DO CEARÁ CAMPUS QUIXADÁ BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO LUCAS DA SILVA COSTA UMA NOVA HEURÍSTICA DE COLORAÇÃO GULOSA SEQUENCIAL QUIXADÁ 2018 LUCAS DA SILVA COSTA UMA NOVA HEURÍSTICA
Leia maisScheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 18: Coloração de Arestas Preparado a partir do texto: Rangel, Socorro. Teoria
Leia maisPreliminares. Profa. Sheila Morais de Almeida. agosto
Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa
Leia maisGrafos IFRN. Prof. Robinson Alves
Grafos IFRN Prof. Robinson Alves Problema do Caixeiro Viajante Consiste em determinar o menor caminho, passando por todos os vértices uma única vez e retornando ao vértice de origem Métodos: Tentativa
Leia maisPrograma Analítico de Disciplina SIN213 Projeto de Algoritmos
Programa Analítico de Disciplina Campus Rio Paranaíba - Campus Rio Paranaíba Número de créditos: 6 Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 4 2 6 Períodos - oferecimento: II
Leia maisCaminho Mínimo de Fonte Única em Grafos sem Pesos Negativos
Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual
Leia maisBuscas Informadas ou Heurísticas - Parte II
Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são
Leia maisTeoria da Computação. Complexidade computacional classes de problemas
Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos
Leia maisQuicksort Letícia Rodrigues Bueno
Quicksort Letícia Rodrigues Bueno UFABC Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição:
Leia maisAED2 - Aula 22 Busca em largura, cálculo de distâncias
AED2 - Aula 22 Busca em largura, cálculo de distâncias Relembrando a busca genérica, usando um versão alternativa: marque todos os vértices como não encontrados. marque s como encontrado. coloque s no
Leia mais4 Testes e experimentos realizados 4.1. Implementação e banco de dados
32 4 Testes e experimentos realizados 4.1. Implementação e banco de dados Devido à própria natureza dos sites de redes sociais, é normal que a maior parte deles possua uma grande quantidade de usuários
Leia maisGrafos Árvores Geradoras Mínimas
ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Árvores Geradoras Mínimas Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes Existem famílias de problemas cuja solução é alcançada de forma semelhante. O relacionamento entre problemas: caso especial; versão abstração; similar. Exemplos: A inserção de um elemento
Leia maisTeoria dos Grafos Aula 14
Teoria dos Grafos Aula 14 Aula passada MST Aula de hoje Construção de algoritmos Paradigma guloso Escalonando tarefas no tempo (interval scheduling) Projetando Algoritmos Dado um problema P, como projetar
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisMonografia de Conclusão do Curso de Graduação em Ciência da Computação. 2
APLICAÇÃO DE BALANCEAMENTO DE CARGA COM CHARM++ NA PARALELIZANDO DE UM SIMULADOR DO MOVIMENTO DA ÁGUA NO SOLO 1 LOAD BALANCING APLICATION WITH CHARM++ IN THE PARALELIZATION OF A WATER MOVEMENT SIMULATOR
Leia maisBusca em Largura Letícia Rodrigues Bueno
Busca em Largura Letícia Rodrigues Bueno UFABC Número de Erdõs - Equivalente Nerd do Número de Bacon :) Paul Erdõs: famoso matemático hungáro; Trabalhou com centenas de colaboradores; Publicou mais de
Leia maisESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018
ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 Página da Disciplina http://www.di.ubi.pt/~hugomcp/estruturas Conteúdo: Avaliação.
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
Leia maisGRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes
8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus
Leia maisTeoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
Leia maisImplementação de um escalonador de processos em GPU
Implementação de um escalonador de processos em GPU Guilherme Martins guilhermemartins@usp.br 6 de abril de 2017 Guilherme Martins (guilhermemartins@usp.br) Implementação de um escalonador de processos
Leia maisCEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01
. CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence
Leia maisAlgoritmos para Automação e Sistemas
Universidade Federal do Amazonas Departamento de Eletrônica e Computação Algoritmos para Automação e Sistemas Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Estes slides estão baseados livro do
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019
Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 1. Unidade Orgânica Instituto de Engenharia e Tecnologias (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos
Leia maisAlgoritmos e Estruturas de Dados II
Algoritmos e Estruturas de Dados II Organização Revisão (DFS) Exemplo de Execução (DFS) Grafos V: e Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis
Leia maisFábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de
Leia maisAluno do Curso de Ciência da Computação UNIJUÍ, 3
PROPOSTA DE UM BALANCEADOR DE CARGA PARA REDUÇÃO DE TEMPO DE EXECUÇÃO DE APLICAÇÕES EM AMBIENTES PARALELOS 1 PROPOSAL FOR A LOAD BALANCER TO REDUCE APPLICATION RUNTIME IN PARALLEL ENVIRONMENTS Vinícius
Leia maisSIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019
SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades Programa de Pós-graduação em Sistemas de Informação (PPgSI)
Leia maisCT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches Bibliografia T.H. Cormen, C.E. Leiserson and R.L. Rivest Introduction to algorithms R. Sedgewick
Leia maisGrafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina
Grafos: Busca SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é um problema fundamental Deve-se ter uma forma sistemática
Leia maisAlgoritmos evolutivos paralelos. Carlos Eduardo Cuzik Marcos Felipe Eipper Ramon Artner Rocha
Algoritmos evolutivos paralelos Carlos Eduardo Cuzik Marcos Felipe Eipper Ramon Artner Rocha Introdução O mesmo de sempre mas com thread. Obrigado Fake news Introdução de verdade Era da informação - Big
Leia mais2 Definição do Problema
Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções
Leia maisGRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira
Ciência da Computação GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira Busca em Largura (Breadth-First Search) Um dos algoritmos mais simples para exploração de um grafo.
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
Leia maisEquivalência de Fluxos e Modelagem Hierárquica. Profa. Jussara M. Almeida 1 o Semestre de 2014
Equivalência de Fluxos e Modelagem Hierárquica Profa. Jussara M. Almeida 1 o Semestre de 2014 Modelagem Hierárquica Modelos mais sofisticados que podem incluir detalhes adicionais do sistema sendo representado
Leia maisVisualização Distribuída utilizando Agrupamentos de PCs 10
1 Introdução Sistemas de visualização vêm sendo utilizados em diversas áreas da indústria e do campo científico. Dentre essas áreas, CAD (Computer Aided Design), visualização científica e realidade virtual
Leia maisProblemas de otimização
Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,
Leia maisDescrição da Disciplina
UFMG/ICEx/DCC Algoritmos e Estruturas de Dados II Descrição da Disciplina Bacharelado em Ciência da Computação 1 o Semestre de 2007 1 A disciplina Carga Horária: 60 horas Créditos: 4 Professor: Antonio
Leia maisFigura 5.1: Resultados do método desenvolvido por Kolmogorov (09).
5 Resultados Neste capítulo vamos apresentar os resultados obtidos com o método proposto neste trabalho. Para os testes foram utilizados diferentes pares de imagens presentes no conjunto de dados disponível
Leia maisImplementação de algoritmos para consultas de segmentos em janelas
Implementação de algoritmos para consultas de segmentos em janelas MAC0499 - Trabalho de formatura supervisionado Proposta de Trabalho Aluno: Mateus Barros Rodrigues Orientador: Prof. Dr. Carlos Eduardo
Leia maisProgramação Concorrente e Paralela
projeto de programas paralelos 2016 PCAM problema particionamento comunicacao aglomeracao mapeamento desenhada para memória distribuída mas muitas idéias em comum Particionamento idéia é expor oportunidades
Leia maisALGORITMOS GENÉTICOS, QUADTREE E LÓGICA FUZZY NA SEGMENTAÇÃO E CLASSIFICAÇÃO DE IMAGENS COM ALTO DESEMPENHO 1. INTRODUÇÃO
ALGORITMOS GENÉTICOS, QUADTREE E LÓGICA FUZZY NA SEGMENTAÇÃO E CLASSIFICAÇÃO DE IMAGENS COM ALTO DESEMPENHO SILVA, Frederico Corrêa da 1 ; AGUIAR, Marilton Sanchotene de 1. 1 Programa de Pós-Graduação
Leia mais