Speeding up dynamic programming algorithms for finding optimal lattice paths
SIAM Journal on Applied Mathematics
Dynamic Programming via Static Incrementalization
Higher-Order and Symbolic Computation
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Dynamic Programming and Strong Bounds for the 0-1 Knapsack Problem
Management Science
Dynamic Programming
Compiling Comp Ling: practical weighted dynamic programming and the Dyna language
HLT '05 Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing
Dynamic Programming to Minimize the Maximum Number of Open Stacks
INFORMS Journal on Computing
Comparing best-first search and dynamic programming for optimal multiple sequence alignment
IJCAI'03 Proceedings of the 18th international joint conference on Artificial intelligence
Tabling in mercury: design and implementation
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
A Short Cut to Optimal Sequences
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Lock-free parallel dynamic programming
Journal of Parallel and Distributed Computing
Solving Talent Scheduling with Dynamic Programming
INFORMS Journal on Computing
Automatically exploiting subproblem equivalence in constraint programming
CPAIOR'10 Proceedings of the 7th international conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems
A complete solution to the Maximum Density Still Life Problem
Artificial Intelligence
Proceedings of the 2012 ACM symposium on Document engineering
Hi-index | 0.00 |
Dynamic programming is a powerful technique for solving optimization problems efficiently. We consider a dynamic program as simply a recursive program that is evaluated with memoization and lookup of answers. In this paper we examine how, given a function calculating a bound on the value of the dynamic program, we can optimize the compilation of the dynamic program function. We show how to automatically transform a dynamic program to a number of more efficientversions making use of the bounds function. We compare the different transformed versions on a number of example dynamic programs, and show the benefits in search space and time that can result.