Efficient Problem Solving on Tree Decompositions Using Binary Decision Diagrams

  • Günther CharwatEmail author
  • Stefan Woltran
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9345)


Dynamic programming (DP) on tree decompositions is a well studied approach for solving hard problems efficiently. Usually, implementations rely on tables for storing information, and algorithms specify how tuples are manipulated during traversal of the decomposition. However, a bottleneck of such table-based algorithms is relatively high memory consumption. Binary Decision Diagrams (BDDs) and related concepts have been shown to be very well suited to store information efficiently. While several techniques have been proposed that combine DP with efficient BDD-based storage for some particular problems, in this work we present a general approach where DP algorithms are specified on a logical level in form of set-based formula manipulation operations that are executed directly on the BDD data structure. In the paper, we provide several case studies in order to illustrate the method at work, and report on preliminary experiments. These show promising results, both with respect to memory and run-time.


  1. 1.
    Arnborg, S., Corneil, D.G., Proskurowski, A.: Complexity of finding embeddings in a k-tree. SIAM J. Algebraic Discrete Methods 8, 277–284 (1987)zbMATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    Aspvall, B., Telle, J.A., Proskurowski, A.: Memory requirements for table computations in partial k-tree algorithms. Algorithmica 27(3), 382–394 (2000)zbMATHMathSciNetCrossRefGoogle Scholar
  3. 3.
    Bahar, R., Frohm, E., Gaona, C., Hachtel, G., Macii, E., Pardo, A., Somenzi, F.: Algebric decision diagrams and their applications. Formal Meth. Syst. Des. 10(2–3), 171–206 (1997)CrossRefGoogle Scholar
  4. 4.
    Betzler, N., Niedermeier, R., Uhlmann, J.: Tree decompositions of graphs: saving memory in dynamic programming. Discrete Optim. 3(3), 220–229 (2006)zbMATHMathSciNetCrossRefGoogle Scholar
  5. 5.
    Beyer, D., Stahlbauer, A.: BDD-based software verification - applications to event-condition-action systems. STTT 16(5), 507–518 (2014)CrossRefGoogle Scholar
  6. 6.
    Bliem, B., Morak, M., Woltran, S.: D-FLAT: declarative problem solving using tree decompositions and answer-set programming. TPLP 12(4–5), 445–464 (2012)zbMATHMathSciNetGoogle Scholar
  7. 7.
    Bodlaender, H.L., Koster, A.M.C.A.: Treewidth computations I. Upper Bounds. Inf. Comput. 208(3), 259–275 (2010)zbMATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Boutaleb, K., Jégou, P., Terrioux, C.: (No)good recording and ROBDDs for solving structured (V)CSPs. In: Proceedings of the ICTAI, pp. 297–304. IEEE Computer Society (2006)Google Scholar
  9. 9.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 100(8), 677–691 (1986)CrossRefGoogle Scholar
  10. 10.
    Charwat, G., Dvořák, W.: dynPARTIX 2.0 - Dynamic programming argumentation reasoning tool. In: Proceedings of the COMMA, FAIA, vol. 245, pp. 507–508. IOS Press (2012)Google Scholar
  11. 11.
    Chavira, M., Darwiche, A.: Compiling Bayesian networks using variable elimination. In: Proceedings of the IJCAI, pp. 2443–2449 (2007)Google Scholar
  12. 12.
    Courcelle, B.: The monadic second-order logic of graphs. I. Recognizable sets of finite graphs. Inf. Comput. 85(1), 12–75 (1990)zbMATHMathSciNetCrossRefGoogle Scholar
  13. 13.
    Dechter, R.: Constraint Processing. Morgan Kaufmann, San Francisco (2003)Google Scholar
  14. 14.
    Dermaku, A., Ganzow, T., Gottlob, G., McMahan, B., Musliu, N., Samer, M.: Heuristic methods for hypertree decomposition. In: Gelbukh, A., Morales, E.F. (eds.) MICAI 2008. LNCS (LNAI), vol. 5317, pp. 1–11. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  15. 15.
    van Dijk, T., Laarman, A., van de Pol, J.: Multi-core BDD operations for symbolic reachability. Electr. Notes Theor. Comput. Sci. 296, 127–143 (2013)CrossRefGoogle Scholar
  16. 16.
    Dung, P.M.: On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games. Artif. Intell. 77(2), 321–357 (1995)zbMATHMathSciNetCrossRefGoogle Scholar
  17. 17.
    Dvořák, W., Pichler, R., Woltran, S.: Towards fixed-parameter tractable algorithms for abstract argumentation. Artif. Intell. 186, 1–37 (2012)zbMATHCrossRefGoogle Scholar
  18. 18.
    Erdös, P., Rényi, A.: On random graphs. I. Publicationes Mathematicae (Debrecen) 6, 290–297 (1959)zbMATHGoogle Scholar
  19. 19.
    Fargier, H., Marquis, P.: Knowledge compilation properties of Trees-of-BDDs, revisited. In: Proceedings of the IJCAI, pp. 772–777 (2009)Google Scholar
  20. 20.
    Friedman, S.J., Supowit, K.J.: Finding the optimal variable ordering for binary decision diagrams. In: Proceedings of the IEEE Design Automation Conference, pp. 348–356. ACM (1987)Google Scholar
  21. 21.
    Groër, C., Sullivan, B.D., Weerapurage, D.: INDDGO: Integrated network decomposition & dynamic programming for graph optimization. Technical reports ORNL/TM-2012/176 (2012)Google Scholar
  22. 22.
    Kissmann, P., Hoffmann, J.: BDD ordering heuristics for classical planning. J. Artif. Intell. Res. (JAIR) 51, 779–804 (2014)zbMATHMathSciNetGoogle Scholar
  23. 23.
    Kloks, T.: Treewidth, Computations and Approximations. LNCS, vol. 842. Springer, Heidelberg (1994)zbMATHGoogle Scholar
  24. 24.
    Kneis, J., Langer, A., Rossmanith, P.: Courcelle’s theorem - A game-theoretic approach. Discrete Optimization 8(4), 568–594 (2011)zbMATHMathSciNetCrossRefGoogle Scholar
  25. 25.
    Langer, A., Reidl, F., Rossmanith, P., Sikdar, S.: Evaluation of an MSO-solver. In: Proceedings of the ALENEX, pp. 55–63 (2012)Google Scholar
  26. 26.
    Lovato, A., Macedonio, D., Spoto, F.: A thread-safe library for binary decision diagrams. In: Giannakopoulou, D., Salaün, G. (eds.) SEFM 2014. LNCS, vol. 8702, pp. 35–49. Springer, Heidelberg (2014) Google Scholar
  27. 27.
    Mȩski, A., Penczek, W., Szreter, M., Woiźna-Szcześniak, B., Zbrzezny, A.: BDD-versus SAT-based bounded model checking for the existential fragment of linear temporal logic with knowledge: algorithms and their performance. Auton. Agent. Multi-Agent Syst. 28(4), 558–604 (2014)CrossRefGoogle Scholar
  28. 28.
    Miller, D.M.: Multiple-valued logic design tools. In: Proceedings of the MVL, pp. 2–11 (1993)Google Scholar
  29. 29.
    Niedermeier, R.: Invitation to fixed-parameter algorithms. Oxford Lecture Series in Mathematics and its Applications, vol. 31. OUP, Oxford (2006)Google Scholar
  30. 30.
    Robertson, N., Seymour, P.D.: Graph minors. III. Planar tree-width. J. Comb. Theory, Ser. B 36(1), 49–64 (1984)zbMATHMathSciNetCrossRefGoogle Scholar
  31. 31.
    Sachenbacher, M., Williams, B.C.: Bounded search and symbolic inference for constraint optimization. In: Proceedings of the IJCAI, pp. 286–291. PBC (2005)Google Scholar
  32. 32.
    Somenzi, F.: CU Decision Diagram package release 2.5.0. Department of Electrical and Computer Engineering, University of Colorado at Boulder (2012)Google Scholar
  33. 33.
    Subbarayan, S.: Integrating CSP decomposition techniques and BDDs for compiling configuration problems. In: Barták, R., Milano, M. (eds.) CPAIOR 2005. LNCS, vol. 3524, pp. 351–365. Springer, Heidelberg (2005) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Institute of Information SystemsTU WienWienAustria

Personalised recommendations