A heuristic use of dynamic programming to upperbound treewidth
For a graph G, let Ω(G) denote the set of all potential maximal cliques of G. For each subset Ω of Ω(G), let (G, Ω) denote the smallest k such that there is a tree-decomposition of G of width k whose bags all belong to Ω. Bouchitté and Todinca observed in 2001 that (G, Ω(G)) is exactly the treewidth of G and developed a dynamic programming algorithm to compute it. Indeed, their algorithm can readily be applied to an arbitrary non-empty subset Ω of Ω(G) and computes (G, Ω), or reports that it is undefined, in time |Ω||V(G)|^O(1). This efficient tool for computing (G, Ω) allows us to conceive of an iterative improvement procedure for treewidth upper bounds which maintains, as the current solution, a set of potential maximal cliques rather than a tree-decomposition. We design and implement an algorithm along this approach. Experiments show that our algorithm vastly outperforms previously implemented heuristic algorithms for treewidth.
READ FULL TEXT