Abstract. Branch & Reduce and dynamic programming on graphs of bounded treewidth are among the most common and powerful techniques used in the design of moderately exponential time exact algorithms for NP hard problems. In this paper we discuss the efficiency of simple algorithms based on combinations of these techniques. The idea behind these algorithms is very natural: If a parameter like the treewidth of a graph is small, algorithms based on dynamic programming perform well. On the other side, if the treewidth is large, then there must be vertices of high degree in the graph, which is good for branching algorithms. We give several examples of possible combinations of branching and programming which provide the fastest known algorithms for a number of NP hard problems. All our algorithms require non-trivial balancing of these two techniques.In the first approach the algorithm either performs fast branching, or if there is an obstacle for fast branching, this obstacle is used for the construction of a path decomposition of small width for the original graph. Using this approach we give the fastest known algorithms for Minimum Maximal Matching and for counting all 3-colorings of a graph.In the second approach the branching occurs until the algorithm reaches a subproblem with a small number of edges (and here the right choice of the size of subproblems is crucial) and then dynamic programming is applied on these subproblems of small width. We exemplify this approach by giving the fastest known algorithm to count all minimum weighted dominating sets of a graph.We also discuss how similar techniques can be used to design faster parameterized algorithms.
We provide an algorithm listing all minimal dominating sets of a graph on
n
vertices in time
O
(1.7159
n
). This result can be seen as an algorithmic proof of the fact that the number of minimal dominating sets in a graph on
n
vertices is at most 1.7159
n
, thus improving on the trivial
O
(2
n
/√
n
) bound. Our result makes use of the measure-and-conquer technique which was recently developed in the area of exact algorithms.
Based on this result, we derive an
O
(2.8718
n
) algorithm for the domatic number problem.
We present a moderately exponential time exact algorithm for the wellstudied Full Degree Spanning Tree problem, an NP-hard variant of the Spanning Tree problem. Given a graph G, the objective is to find a spanning tree T of G which maximizes the number of vertices that have the same degree in T as in G. The problem is motivated by its application in fluid networks and is basically a graph-theoretic abstraction of the problem of placing flow meters in fluid networks. We give an exact algorithm for Full Degree Spanning Tree running in time O(1.9465 n ). This adds Full Degree Spanning Tree to a very small list of "non-local problems", like Feedback Vertex Set and Connected Dominating Set, for which non-trivial (non brute force enumeration) exact algorithms are known.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.