Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/29132
Título: Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores
Título(s) alternativo(s): Implementation of meta-heuristic for the graph coloring problem and of register allocation
Autor(es): Duarte, Bruno
Orientador(es): Barbosa, Marco Antonio de Castro
Palavras-chave: Grafos de ligação
Programação heurística
Heurística
Bond graphs
Heuristic programming
Heuristic
Data do documento: 7-Abr-2022
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Pato Branco
Citação: DUARTE, Bruno. Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores. 2022. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Computação) - Universidade Tecnológica Federal do Paraná, Pato Branco, 2022.
Resumo: O Problema da Coloração de Grafos é um dos principais desafios da computação, tendo origem no século XIX, e sendo um dos grandes alicerces da teoria dos grafos. Este consiste em colorir regiões de um grafo, de modo que áreas vizinhas não recebam a mesma cor. Diversos outros problemas podem ser encarados através de uma abordagem via Coloração de Grafos, como a Alocação de Registradores no processo de compilação de programas. Neste, variáveis cujas faixas vivas – tempo entre declaração e último uso – interferem entre si, não podem ser alocadas ao mesmo registrador, e ao menos uma delas deve ser armazenada na memória. Ambos os problemas mencionados pertencem a classe dos NP-Completos, e lidam com gestão de poucos recursos, cores e registradores, sendo necessário trabalhar com inteligência em sua utilização. A resolução exata deste tipo de problema demanda tempo de computação exponencial, sendo as meta-heurísticas alternativas extremamente viáveis para encontrar soluções de qualidade em tempo polinomial. Este trabalho propôs a implementação das meta-heurísticas Busca Tabu e Simulated Annealing, para o Problema da Coloração de Grafos, e para o problema derivado deste, a Alocação de Registradores, com o objetivo de investigar o comportamento destes métodos e compará-los entre si. Após uma série de experimentos com casos de teste do DIMACS, foi possível verificar que a Busca Tabu implementada é capaz de produzir soluções de melhor qualidade para a Coloração de Grafos, enquanto o Simulated Annealing teve menores tempos de execução. Para a Alocação de Registradores, a Busca Tabu demonstrou-se capaz de alcançar melhores soluções, com menor tempo de execução.
Abstract: The Graph Coloring Problem is one of the major challenges in computing, having its origins in the 19th century, and being one of the great foundations of graph theory. It consists in coloring regions of a graph, such as vertices or edges, so that neighboring areas do not receive the same color. Several other problems can be faced through an approach via Graph Coloring, such as Register Allocation in the compilation process. Here, variables that intersect their life span – time between declaration and last use – cannot be allocated to the same register, and at least one of them must be stored in memory. Here, variables that intersect their live-ranges – time between declaration and last use – cannot be allocated to the same register, and at least one of them must be stored in memory. Both problems mentioned belong to the NP-Complete class, and deal with the management of few resources, colors and registers, being necessary to work intelligently in their utilization. Finding the exact solution of this type of problem demands exponential computation time, being the meta-heuristics extremely suitable alternatives to find solutions of quality in polynomial time. This work proposed the implementation of Tabu Search and Simulated Annealing meta-heuristics for the Graph Coloring Problem, and for the problem derived from it, Register Allocation, with the objective of investigating the behavior of these methods and comparing them with each other. After a series of experiments with DIMACS test cases, it was possible to verify that the implemented Tabu Search is capable of producing better quality solutions for Graph Coloring, while Simulated Annealing had lower execution times. For Register Allocation, Tabu Search proved to be able to achieve better solutions, with less execution time.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/29132
Aparece nas coleções:PB - Engenharia de Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
metaheuristicascoloracaografosregistradores.pdf3,68 MBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons