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.
Highlights
Suppose we design a dynamic programming algorithm for some decision problem, formulating subproblems, which are decision problems as well, and recurrences among those subproblems
We fix graph G and positive integer k that are given in the problem instance: we are to decide if the treewidth of G is at most k
We are interested in the number of combinatorial objects involved in the treewidth computation: minimal separators, potential maximal cliques, and feasible objects used in our positive-instance driven (PID) algorithm
Summary
Suppose we design a dynamic programming algorithm for some decision problem, formulating subproblems, which are decision problems as well, and recurrences among those subproblems. S ⊆ V (G) is feasible if it has a total ordering that qualifies as a prefix of a total ordering of V (G) that gives a chordal completion with the clique number k or smaller This feasibility notion, has a more direct interpretation in terms of tree-decompositions: S is feasible if each connected component of G[S] is feasible and each connected vertex set C is feasible if G[C ∪ N (C)], where N (C) is the open neighborhood of S, has a tree-decomposition of width k or smaller that has a bag containing N (C). A PID variant of the ACP algorithm was implemented by the present author and has won the first place in the exact treewidth track of PACE 2016 [10], a competition on algorithm implementations, outperforming other submissions based on PEO Given this success, a natural step is to design a PID variant of the BT algorithm, which is tackled in this paper
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.