Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
Texto Completo: | http://repositorio.utfpr.edu.br/jspui/handle/1/29132 |
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. |
id |
UTFPR-12_1c4932d079c1f17219467278d4db27fa |
---|---|
oai_identifier_str |
oai:repositorio.utfpr.edu.br:1/29132 |
network_acronym_str |
UTFPR-12 |
network_name_str |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
repository_id_str |
|
spelling |
2022-07-28T13:14:49Z2022-07-28T13:14:49Z2022-04-07DUARTE, 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.http://repositorio.utfpr.edu.br/jspui/handle/1/29132O 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.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.porUniversidade Tecnológica Federal do ParanáPato BrancoEngenharia de ComputaçãoUTFPRBrasilDepartamento Acadêmico de Informáticahttps://creativecommons.org/licenses/by-sa/4.0/info:eu-repo/semantics/openAccessCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOGrafos de ligaçãoProgramação heurísticaHeurísticaBond graphsHeuristic programmingHeuristicImplementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradoresImplementation of meta-heuristic for the graph coloring problem and of register allocationinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisPato BrancoBarbosa, Marco Antonio de CastroBarbosa, Marco Antonio de CastroBoss, Silvio Luiz BragattoDenardin, Gustavo WeberDuarte, Brunoreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRORIGINALmetaheuristicascoloracaografosregistradores.pdfmetaheuristicascoloracaografosregistradores.pdfapplication/pdf3765407http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/1/metaheuristicascoloracaografosregistradores.pdf23dc911d093d4bd3c94b16362eb3bf5eMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81290http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/2/license.txtb9d82215ab23456fa2d8b49c5df1b95bMD52TEXTmetaheuristicascoloracaografosregistradores.pdf.txtmetaheuristicascoloracaografosregistradores.pdf.txtExtracted texttext/plain131033http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/3/metaheuristicascoloracaografosregistradores.pdf.txt88eca0387e96b082a194076bac2e3ea6MD53THUMBNAILmetaheuristicascoloracaografosregistradores.pdf.jpgmetaheuristicascoloracaografosregistradores.pdf.jpgGenerated Thumbnailimage/jpeg1222http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/4/metaheuristicascoloracaografosregistradores.pdf.jpg035b7009b211868b58e99d97d1f30a8fMD541/291322022-07-29 03:06:31.104oai:repositorio.utfpr.edu.br:1/29132TmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGRhIHB1YmxpY2HDp8OjbywgYXV0b3Jpem8gYSBVVEZQUiBhIHZlaWN1bGFyLCAKYXRyYXbDqXMgZG8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlbSBBY2Vzc28gQWJlcnRvIChQSUFBKSBlIGRvcyBDYXTDoWxvZ29zIGRhcyBCaWJsaW90ZWNhcyAKZGVzdGEgSW5zdGl0dWnDp8Ojbywgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBkZSBhY29yZG8gY29tIGEgTGVpIG5vIDkuNjEwLzk4LCAKbyB0ZXh0byBkZXN0YSBvYnJhLCBvYnNlcnZhbmRvIGFzIGNvbmRpw6fDtWVzIGRlIGRpc3BvbmliaWxpemHDp8OjbyByZWdpc3RyYWRhcyBubyBpdGVtIDQgZG8gCuKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgVHJhYmFsaG9zIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28gZGUgR3JhZHVhw6fDo28gZSAKRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYcOnw6NvIGUgbm9zIENhdMOhbG9nb3MgRWxldHLDtG5pY29zIGRvIApTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCB2aXNhbmRvIGEgCmRpdnVsZ2HDp8OjbyBkYSBwcm9kdcOnw6NvIGNpZW50w61maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvIOKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgCmRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdIGUgZGEg4oCcRGVjbGFyYcOnw6NvIApkZSBBdXRvcmlh4oCdIGVuY29udHJhbS1zZSBhcnF1aXZhZGFzIG5hIEJpYmxpb3RlY2EgZG8gQ8OibXB1cyBubyBxdWFsIG8gdHJhYmFsaG8gZm9pIGRlZmVuZGlkby4gCk5vIGNhc28gZGUgcHVibGljYcOnw7VlcyBkZSBhdXRvcmlhIGNvbGV0aXZhIGUgbXVsdGljw6JtcHVzLCBvcyBkb2N1bWVudG9zIGZpY2Fyw6NvIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvIOKAnHByaW1laXJvIGF1dG9y4oCdIHBvc3N1YSB2w61uY3Vsby4KRepositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2022-07-29T06:06:31Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false |
dc.title.pt_BR.fl_str_mv |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
dc.title.alternative.pt_BR.fl_str_mv |
Implementation of meta-heuristic for the graph coloring problem and of register allocation |
title |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
spellingShingle |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores Duarte, Bruno CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Grafos de ligação Programação heurística Heurística Bond graphs Heuristic programming Heuristic |
title_short |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
title_full |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
title_fullStr |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
title_full_unstemmed |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
title_sort |
Implementação de meta-heurísticas para o problema da coloração de vértices e da alocação de registradores |
author |
Duarte, Bruno |
author_facet |
Duarte, Bruno |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Barbosa, Marco Antonio de Castro |
dc.contributor.referee1.fl_str_mv |
Barbosa, Marco Antonio de Castro |
dc.contributor.referee2.fl_str_mv |
Boss, Silvio Luiz Bragatto |
dc.contributor.referee3.fl_str_mv |
Denardin, Gustavo Weber |
dc.contributor.author.fl_str_mv |
Duarte, Bruno |
contributor_str_mv |
Barbosa, Marco Antonio de Castro Barbosa, Marco Antonio de Castro Boss, Silvio Luiz Bragatto Denardin, Gustavo Weber |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
topic |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Grafos de ligação Programação heurística Heurística Bond graphs Heuristic programming Heuristic |
dc.subject.por.fl_str_mv |
Grafos de ligação Programação heurística Heurística Bond graphs Heuristic programming Heuristic |
description |
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. |
publishDate |
2022 |
dc.date.accessioned.fl_str_mv |
2022-07-28T13:14:49Z |
dc.date.available.fl_str_mv |
2022-07-28T13:14:49Z |
dc.date.issued.fl_str_mv |
2022-04-07 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
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. |
dc.identifier.uri.fl_str_mv |
http://repositorio.utfpr.edu.br/jspui/handle/1/29132 |
identifier_str_mv |
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. |
url |
http://repositorio.utfpr.edu.br/jspui/handle/1/29132 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
https://creativecommons.org/licenses/by-sa/4.0/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
https://creativecommons.org/licenses/by-sa/4.0/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Tecnológica Federal do Paraná Pato Branco |
dc.publisher.program.fl_str_mv |
Engenharia de Computação |
dc.publisher.initials.fl_str_mv |
UTFPR |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
Departamento Acadêmico de Informática |
publisher.none.fl_str_mv |
Universidade Tecnológica Federal do Paraná Pato Branco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) instname:Universidade Tecnológica Federal do Paraná (UTFPR) instacron:UTFPR |
instname_str |
Universidade Tecnológica Federal do Paraná (UTFPR) |
instacron_str |
UTFPR |
institution |
UTFPR |
reponame_str |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
collection |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
bitstream.url.fl_str_mv |
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/1/metaheuristicascoloracaografosregistradores.pdf http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/2/license.txt http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/3/metaheuristicascoloracaografosregistradores.pdf.txt http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/29132/4/metaheuristicascoloracaografosregistradores.pdf.jpg |
bitstream.checksum.fl_str_mv |
23dc911d093d4bd3c94b16362eb3bf5e b9d82215ab23456fa2d8b49c5df1b95b 88eca0387e96b082a194076bac2e3ea6 035b7009b211868b58e99d97d1f30a8f |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR) |
repository.mail.fl_str_mv |
|
_version_ |
1805923045020270592 |