Summary: | CoordenaÃÃo de AperfeiÃoamento de NÃvel Superior === 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. === 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.
|