A Practical Approach to Courcelle's Theorem

https://doi.org/10.1016/j.entcs.2009.08.028Get rights and content
Under a Creative Commons license
open access

Abstract

In 1990, Courcelle showed that every problem definable in Monadic Second-Order Logic (MSO) can be solved in linear time on graphs with bounded treewidth. This powerful and important theorem is amongst others the foundation for several fixed parameter tractability results. The standard proof of Courcelle's Theorem is to construct a finite bottom-up tree automaton that recognizes a tree decomposition of the graph. However, the size of the automaton, which is usually hidden as a constant in the Landau-notation, can become extremely large and cannot be bounded by any elemental function unless P=NP (Frick and Grohe, 2004). This makes the problem hard to tackle in practice, because it is just impossible to construct the tree automata.

Aiming for a practical implementation, we give a proof of Courcelle's Theorem restricted to Extended MSO formulas of the form optUVφ(U), where φ is a first-order formula with vocabulary (adj, U) and opt{min,max}. Note that many optimization problems such as Minimum Vertex Cover, Minimum Dominating Set, and Maximum Independent Set can be expressed by such formulas. The proof uses a new technique based on using Hintikka game properties in dynamic programming. To demonstrate the usability of this approach, we present an implementation that solves such formulas on graphs with small pathwidth. It turns out that the large constants can be circumvented on graphs that are not too complex.

Keywords

Exact Algorithms
Parameterized Algorithms
Treewidth
Model-Checking
Monadic Second-Order Logic
Courcelle's Theorem

Cited by (0)

Supported by the DFG under grant RO 927/8