Abstract

Parameterized complexity theory has led to a wide range of algorithmic breakthroughs within the last few decades, but the practicability of these methods for real-world problems is still not well understood. We investigate the practicability of one of the fundamental approaches of this field: dynamic programming on tree decompositions. Indisputably, this is a key technique in parameterized algorithms and modern algorithm design. Despite the enormous impact of this approach in theory, it still has very little influence on practical implementations. The reasons for this phenomenon are manifold. One of them is the simple fact that such an implementation requires a long chain of non-trivial tasks (as computing the decomposition, preparing it, …). We provide an easy way to implement such dynamic programs that only requires the definition of the update rules. With this interface, dynamic programs for various problems, such as 3-coloring, can be implemented easily in about 100 lines of structured Java code. The theoretical foundation of the success of dynamic programming on tree decompositions is well understood due to Courcelle’s celebrated theorem, which states that every MSO-definable problem can be efficiently solved if a tree decomposition of small width is given. We seek to provide practical access to this theorem as well, by presenting a lightweight model checker for a small fragment of MSO 1 (that is, we do not consider “edge-set-based” problems). This fragment is powerful enough to describe many natural problems, and our model checker turns out to be very competitive against similar state-of-the-art tools.

Highlights

  • Parameterized algorithms aim to solve intractable problems on instances where the value of some parameter tied to the complexity of the instance is small

  • A general result explaining the usefulness of tree decompositions was given by Courcelle [4], who showed that every property that can be expressed in monadic second-order logic (MSO) is fixed-parameter tractable if it is parameterized by treewidth of the input graph

  • We investigated investigated the the practicability practicability of of dynamic dynamic programming programming on on tree tree decompositions, decompositions, which which is is

Read more

Summary

Introduction

Parameterized algorithms aim to solve intractable problems on instances where the value of some parameter tied to the complexity of the instance is small. A general result explaining the usefulness of tree decompositions was given by Courcelle [4], who showed that every property that can be expressed in monadic second-order logic (MSO) is fixed-parameter tractable if it is parameterized by treewidth of the input graph By combining this result (known as Courcelle’s Theorem) with the f (tw( G )) · | G | algorithm of Bodlaender [5] to compute an optimal tree. This allows users to implement a wide range of algorithms within very few lines of code and, gives the opportunity to test the practicability of these algorithms quickly. We conclude that concentrating on a small fragment of MSO gives rise to practically fast solvers, which are still able to solve a large class of problems on graphs of bounded treewidth

Preliminaries
An Interface for Dynamic Programming on Tree Decompositions
The Tree Automaton Perspective
The Interface
Example
A Lightweight Model Checker for an MSO-Fragment
Description of the Used MSO-Fragment
A Syntactic Extension of the Fragment
Description of the Model Checker
The Partition Quantifier
The Connected Quantifier
Extending the Model Checker to Optimization Problems
Handling Symmetric and Non-Symmetric Joins
Applications and Experiments
2: VERTEX
3: DOMINATING
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call