Practical Access to Dynamic Programming on Tree Decompositions
Max Bannach, Sebastian Berndt

TL;DR
This paper presents a practical approach to implementing dynamic programming on tree decompositions, making it easier to solve MSO-definable problems efficiently in real-world applications.
Contribution
It introduces a simple interface for dynamic programming on tree decompositions and a lightweight MSO model-checker, enhancing practical usability of theoretical algorithms.
Findings
Implementation of dynamic programs in about 100 lines of Java
The model-checker is competitive with state-of-the-art tools
Enables practical solving of MSO-definable problems
Abstract
Parameterized complexity theory has lead to a wide range of algorithmic breakthroughs within the last 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
