English

Positive-instance driven dynamic programming for treewidth

Data Structures and Algorithms 2018-01-15 v2

Abstract

Consider a dynamic programming scheme for a decision problem in which all subproblems involved are also decision problems. An implementation of such a scheme is {\em positive-instance driven} (PID), if it generates positive subproblem instances, but not negative ones, building each on smaller positive instances. We take the dynamic programming scheme due to Bouchitt\'{e} and Todinca for treewidth computation, which is based on minimal separators and potential maximal cliques, and design a variant (for the decision version of the problem) with a natural PID implementation. The resulting algorithm performs extremely well: it solves a number of standard benchmark instances for which the optimal solutions have not previously been known. Incorporating a new heuristic algorithm for detecting safe separators, it also solves all of the 100 public instances posed by the exact treewidth track in PACE 2017, a competition on algorithm implementation. We describe the algorithm, prove its correctness, and give a running time bound in terms of the number of positive subproblem instances. We perform an experimental analysis which supports the practical importance of such a bound.

Keywords

Cite

@article{arxiv.1704.05286,
  title  = {Positive-instance driven dynamic programming for treewidth},
  author = {Hisao Tamaki},
  journal= {arXiv preprint arXiv:1704.05286},
  year   = {2018}
}

Comments

A preliminary and abridged version appeared in ESA 2017

R2 v1 2026-06-22T19:19:58.490Z