Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/16980
Type: Dissertação
Title: Um estudo computacional sobre o problema de decomposição de grafos em árvore
Title in English: A computational study of the tree decomposition problem
Authors: Silva, Ana Shirley Ferreira da
Advisor: Sales, Cláudia Linhares
Keywords: Algoritmos em grafos;Decomposição em árvore;Grafos;Ordens parciais;Triangulação;Algorithsms in graphs;Decomposition in tree;Graphs;Partial orders;Triangularização
Issue Date: 2005
Citation: SILVA, Ana Shirley Ferreira da. Um estudo computacional sobre o problema de decomposição de grafos em árvore. 2005. 112 f. Dissertação (mestrado) - Universidade Federal do Ceará, Centro de Ciências, Departamento de Computação, Fortaleza-CE, 2005.
Abstract in Brazilian Portuguese: A noção de Decomposição em árvore foi introduzida por Robertson e Seymour em sua série de artigos sobre menores de grafos e pode ser definida, intuitivamente, como uma organização dos vértices e arestas do grafo em uma estrutura de árvore, sendo a largura da decomposição igual ao tamanho do maior subconjunto de vértices relacionado a um nó desta estrutura menos um. A largura mínima de uma decomposição em árvore de um grafo G é chamada de largura em árvore de G. Vários problemas difíceis podem ser resolvidos em tempo polinomial, dada uma decomposição em árvore de largura limitada, como, por exemplo, Ciclo Hamiltoniano, Conjunto Independente Máximo, Isomorfismo, Coloração de Vértices, etc. A complexidade dos algoritmos que resolvem tais problemas são geralmente exponenciais na largura da decomposição fornecida. Logo, é esperado que encontrar uma decomposição de largura mínima seja um problema difícil. De fato, Arnborg, Corneil e Proskurowski [2] mostraram que o problema é NP - difícil. O problema de encontrar a largura em árvore de um grafo qualquer é o objeto de estudo da presente dissertação de mestrado. Uma restrição desse problema é o de decidir, para um inteiro k fixo, se a largura em árvore de G é no máximo k. Apresentamos a prova de que o problema para k fixo pode ser resolvido polinomialmente. Na última década foram propostas várias heurísticas que fornecem limites superiores para o problema [3, 10], heurísticas para o cálculo de limites inferiores [6, 8, 11], além de métodos enumerativos [5] e algoritmos aproximativos [1, 7, 4]. Porém, nenhum resultado obtido pode ser considerado bom, uma vez que não existe um benchmark para o qual se conhece a largura em árvore e os limites inferiores e superiores têm se mostrado muito distantes. Além disso, o algoritmo enumerativo existente mostrou-se ineficiente mesmo para o problema de decisão com k fixo em valores pequenos (por exemplo, k = 4) [12]. É neste quadro que propomos um método enumerativo para o problema. Na verdade, abordamos o problema de triangularização, que é equivalente ao problema de decomposição em árvore. Isso nos permitiu a proposta de uma nova representação para uma solução do problema que utiliza o conceito de ordens totais. Uma vez que as soluções podem assim ser representadas, um algoritmo que enumere as extensões totais de uma dada ordem parcial pode ser utilizado para enumerar todas as soluções do problema, bastando que fornecemos uma ordem que contenha apenas os pares reflexivos vv, onde v é um vértice do grafo de entrada. O método enumerativo proposto é uma modificação do algoritmo de Corrêa e Szwarcfiter [9]. Esta modificação faz com que apenas as extensões totais da ordem fornecida seja enumerada. O algoritmo apresenta duas principais vantagens com relação ao método enumerativo proposto por Bodlaender e Kloks: pode ser utilizado juntamente com o método “branch and bound”; e pode enumerar um sub-espaço de soluções, o que pode ser útil caso se conheça algumas relações existentes na solução ótima, ou mesmo para investigar determinados sub-espaços de soluções. Implementamos e testamos o algoritmo proposto, aplicando o método “branch and bound” e restringindo o espaço de soluções. As ordens parciais utilizadas para definir os sub-espaços explorados foram obtidas baseando-se nas heurísticas de limite superior que utilizam rotulação. Infelizmente, não obtivemos bons resultados, pois, mesmo restringindo o espaço de busca, a quantidade de nós gerados da árvore de “branch and bound” foi muito grande, excedendo a quantidade de memória disponível da máquina utilizada para os testes. No texto da dissertação apresentamos também um estudo da complexidade do problema, um algoritmo para calcular uma decomposição em árvore ótima de um grafo cordal, além das várias heurísticas para o cálculo de limites superiores e inferiores existentes. Além disso, implementamos e testamos as heurísticas de limite superior que utilizam rotulação e uma heurística GRASP, tendo sido o primeiro estudo de uma aplicação da meta-heurística GRASP para o problema de decomposição em árvore.
Abstract: The notion of Tree Decomposition was introduced by Robertson and Seymour in their seris of articles about graph minors and can be intuitively seen as an organization of the vertices and edges of the graph in a tree structure, being the treewidth equal to the size of the largest subset of vertices minus one. The minimum treewidth over all tree decompositions of a graph gives us the treewidth of the graph. Many hard problems can be polinomially solved for a graph G if a tree decomposition with bounded treewidth of G is given. For instance, hamiltonian cycle, maximum independent set isomorphism, vertex coloring, etc. The complexity of the algorithm that solves such problems are generally exponential on the width of the given tree decomposition. So, we can expect that finding a tree decomposition of minimum width is hard. In fact, Arnborg, Corneil and Proskurowski [2] showed that the problem os NP-hard. The problem of finding the treewidth of a graph is the subject of this thesis. The decision variation of the problem is, given a graph G and for a fixed integer k, deciding if the treewidth of G is at most k. We discuss a proof that the decision problem can be polynomially solved. In the last decade were proposed many heuristics for computing upper bounds [3, 10], lower bounds [6, 8, 11], enumeration methods [5] and approximative algorithms [1, 7, 4]. However, none of these results can be considered as good ones, since there is no benchmarks for with the treewidth is known, as well as the difference between the lower and upper bounds for the existing benchmarks is very large. Additionally, the enumeration method was showed to be inefficient even for the decision problem with k fixed in small values (e.g., k = 4) [12]. So, we propose another enumeration method for the problem that can be used along with branch and bound techniques. Actually, we work with the triangulation problem that is equivalent to the tree decomposition problem. We propose a new representation of a solution, wich uses the concept of total orders. Once a solution ca be represented like that, an algorithm that enumerates all the total extensions of a given partial order can be used to enumerate all solutions for the tree decomposition problem, as long as we offer the partial order containing only the reflexive pairs vv, where v is a vertex of the input graph. The proposed enumeration method is a modification of the Corrêa and Szwarcfiter algorithm [9]. This modification allows only the total extensions to be enumerated. The algorithm presents two principal advantages over the Bodlander and Kloks method: it can be used in conjunction with the Branch and Bound method; and it can enumerate a subspace of solutions, what can be useful if we know some existing relations in an optimal solution, or even to investigate such subspaces in order to characterize them. We have implemented and tested the proposed algorithm, applying the branch and bound method and restricting the subspace of solutions. The partial orders used to define the explored subspaces were obtained based on the labeling heuristics for finding upper bounds. Unfortunately, we did not obtain good results because, even when we restricted the subspace of solutions to be searched, the number of nodes generated in the branch and bound tree was too large, exceeding the machine’s memory capacity. In the text, we also present the proof of the NP-hardness of the problem, an algorithm to compute an optimal decompostion of a chordal graph, and also the many existing heuristics to compute lower and upper bounds. In addition, we implemented and tested the labeling heuristics for upper bounds and a GRASP heuristic, being the first application of a GRASP meta-heuristic to the problem.
URI: http://www.repositorio.ufc.br/handle/riufc/16980
Appears in Collections:DCOMP - Dissertações defendidas na UFC

Files in This Item:
File Description SizeFormat 
2005_dis_asfsilva.pdf942,5 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.