Refining Partial Invalidations for Indexed Algebraic Dynamic Programming

  • Christopher BacherEmail author
  • Günther R. Raidl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10710)


We consider dynamic programs modelled in a variant of the Algebraic Dynamic Programming (ADP) framework which allows us to develop general purpose solvers for Dynamic Programming problems. In such dynamic programs the information accumulated in memoization tables is usually lost if the input data of the problem instance changes. We analyze those changes and how they affect the information stored for subproblems of a dynamic program. We then present the theory for a new algorithm for partial invalidation and incremental evaluation of ADPs based on a previous simpler algorithm. The new algorithm should reduce the amount of discarded information in Dynamic Programming tables and to speed up the reevaluation of dynamic programs in the face of changing inputs. In future work we will integrate the algorithms into a framework currently under development to conduct thorough experiments on their practical efficieny.


Algebraic Dynamic Programming Formal grammars Incremental evaluation Logic programming 


  1. 1.
    Bellman, R.: Dynamic Programming. Princeton University Press, Princeton (1957)zbMATHGoogle Scholar
  2. 2.
    Giegerich, R., Meyer, C.: Algebraic Dynamic Programming. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 349–364. Springer, Heidelberg (2002). Scholar
  3. 3.
    Giegerich, R., Meyer, C., Steffen, P.: A discipline of dynamic programming over sequence data. Sci. Comput. Program. 51(3), 215–263 (2004)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Sauthoff, G., Janssen, S., Giegerich, R.: Bellman’s GAP: a declarative language for dynamic programming. In: Proceedings of the 13th International ACM SIGPLAN Symposium on Principles and Practices of Declarative Programming, pp. 29–40. ACM (2011)Google Scholar
  5. 5.
    Sauthoff, G., Möhl, M., Janssen, S., Giegerich, R.: Bellman’s GAP–a language and compiler for dynamic programming in sequence analysis. Bioinformatics 29(5), 551–560 (2013)CrossRefGoogle Scholar
  6. 6.
    Algebraic dynamic programming for multiple context-free grammars: Riechert, M., Höner zu Siederdissen, C., Stadler, P.F. Theoret. Comput. Sci. 639, 91–109 (2016)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Höner zu Siederdissen, C., Prohaska, S.J., Stadler, P.F.: Dynamic Programming for Set Data Types. In: Campos, S. (ed.) BSB 2014. LNCS, vol. 8826, pp. 57–64. Springer, Cham (2014). Scholar
  8. 8.
    Prohaska, S.J., Stadler, P.F.: Algebraic dynamic programming over general data structures. BMC Bioinform. 16(19), 1–13 (2015)Google Scholar
  9. 9.
    Prins, C., Labadi, N., Reghioui, M.: Tour splitting algorithms for vehicle routing problems. Int. J. Prod. Res. 47(2), 507–535 (2009)CrossRefGoogle Scholar
  10. 10.
    Bacher, C., Raidl, G.R.: Extending algebraic dynamic programming for modelling and solving combinatorial optimization problems. Technical report, Algorithms and Complexity Group, TU Wien, Vienna, Austria (2017). in Preparation)Google Scholar
  11. 11.
    Sauthoff, G.: Bellman’s GAP: A 2nd Generation Language and System for Algebraic Dynamic Programming. Ph.D. thesis, Bielefeld University (2010)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Algorithms and Complexity GroupTU WienViennaAustria

Personalised recommendations