Refining Partial Invalidations for Indexed Algebraic Dynamic Programming
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.
KeywordsAlgebraic Dynamic Programming Formal grammars Incremental evaluation Logic programming
- 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
- 8.Prohaska, S.J., Stadler, P.F.: Algebraic dynamic programming over general data structures. BMC Bioinform. 16(19), 1–13 (2015)Google Scholar
- 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.Sauthoff, G.: Bellman’s GAP: A 2nd Generation Language and System for Algebraic Dynamic Programming. Ph.D. thesis, Bielefeld University (2010)Google Scholar