_algorithms_  
_Article_  
**DynASP2.5: Dynamic Programming on Tree Decompositions**  
**in Action \({}^{\dagger}\)**  
**[PERSON] \({}^{1,*}\), [PERSON] \({}^{2,3,*}\), [PERSON] \({}^{4,*}\) and [PERSON] \({}^{2,*}\) (\({}^{\dagger}\)**)  
\({}^{1}\) Simons Institute for the Theory of Computing, University of California, Berkeley, CA 94720-2190, USA  
\({}^{2}\) Institute of Logic and Computation, TU Wien, 1040 Vienna, Austria  
\({}^{3}\) Institute of Computer Science, University of Potsdam, 14482 Potsdam, Germany  
\({}^{4}\) Institut fur Artificial Intelligence und Cybersecurity, AAVU Klagernfurt, 9020 Klagernfurt, Austria  
\({}^{*}\) Correspondence: [EMAIL_ADDRESS] (J.K.F.); markus.hecher@tuwien.ac.acat (M.H.); [PERSON]S] (M.M.); [PERSON]ADDRESS] (S.W.)  
\({}^{\dagger}\) This paper is an extended version of our paper published in the Proceedings of the 12 th International Symposium on Parameterized and Exact Computation (IPEC 2017). Main work was carried out while the first and third author were PostDocs at TU Wien.  
Efficient exact parameterized algorithms are an active research area. Such algorithms exhibit a broad interest in the theoretical community. In the last few years, implementations for computing various parameters (parameter detection) have been established in parameterized challenges, such as treewidth, treedepth, hypertree width, feedback vertex set, or vertex cover. In theory, instances, for which the considered parameter is small, can be solved fast (problem evaluation), i.e., the runtime is bounded exponential in the parameter. While such favorable theoretical guarantees exists, it is often unclear whether one can successfully implement these algorithms under practical considerations. In other words, can we design and construct implementations of parameterized algorithms such that they perform similar or even better than well-established problem solvers on instances where the parameter is small. Indeed, we can build an implementation that performs well under the theoretical assumptions. However, it could also well be that an existing solver implicitly takes advantage of a structure, which is often claimed for solvers that build on Sat-solving. In this paper, we consider finding one solution to instances of answer set programming (ASP), which is a logic-based declarative modeling and solving framework. Solutions for ASP instances are so-called answer sets. Interestingly, the problem of deciding whether an instance has an answer set is already located on the second level of the polynomial hierarchy. An ASP solver that employs treewidth as parameter and runs dynamic programming on tree decompositions is DynASP2. Empirical experiments show that this solver is fast on instances of small treewidth and can outperform modern ASP when one counts answer sets. It remains open, whether one can improve the solver such that it also finds one answer set fast and shows competitive behavior to modern ASP solvers on instances of low treewidth. Unfortunately, theoretical models of modern ASP solvers already indicate that these solvers can solve instances of low treewidth fast, since they are based on Sat-solving algorithms. In this paper, we improve DynASP2 and construct the solver DynASP2.5, which uses a different approach. The new solver shows competitive behavior to state-of-the-art ASP solvers even for finding just one solution. We present empirical experiments where one can see that our new implementation solves ASP instances, which encode the Steiner tree problem on graphs with low treewidth, fast. Our implementation is based on a novel approach that we call multi-pass dynamic programming (M-\(\mathsf{PP}_{\mathsf{SINC}}\)). In the paper, we describe the underlying concepts of our implementation (DynASP2.5) and we argue why the techniques still yield correct algorithms.  
parameterized algorithms; fixed-parameter linear time; semi-incidence graph; tree decompositions; multi-pass dynamic programming