Dynamic programming: a different perspective

  • Sharon Curtis
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT)


Dynamic programming has long been used as an algorithm design technique, with various mathematical theories proposed to model it. Here we take a different perspective, using a relational calculus to model both, problems and their solutions obtained from dynamic programming. This approach serves to shed new light on the different styles of dynamic programming, representing them by different search strategies of the tree-like space of partial solutions.


dynamic programming optimization problems relational calculus 


  1. Bellman, R., Kagiwada, H. and Kalaba, R. (1967), Dynamic programming and an inverse problem in transport theory. Computing, 2: 5–16.MathSciNetCrossRefGoogle Scholar
  2. Bellman, Richard E. (1957), Dynamic Programming. Princeton University Press.zbMATHGoogle Scholar
  3. Bird, R. S., and de Moor, O. (1993), From dynamic programming to greedy algorithms. In B. Möller, H. Partsch, and S. Schuman, editors, Formal Program Development, volume 755 of Lecture Notes in Computer Science, pages 43–61.CrossRefGoogle Scholar
  4. Bird, R. S., and de Moor, O. (1996), The Algebra of Programming. Prentice Hall.CrossRefGoogle Scholar
  5. Bonzon, P. (1970) Necessary and sufficient conditions for dynamic programming of combinatorial type. Journal of the ACM, 17 (4): 675–682.zbMATHMathSciNetCrossRefGoogle Scholar
  6. Curtis, Sharon (1996), A Relational Approach to Optimization Problems. PhD thesis, Oxford University Computing Laboratory, Wolfson Building, Parks Rd, Oxford, UK, OX1 3QD. Available by FTP from in pub/Documents/techpapers/Sharon.Curtis/ Scholar
  7. Ecker, Joseph G. and Kupferschmid, Michael (1988) Introduction to Operations Research. John Wiley and Sons.zbMATHGoogle Scholar
  8. Elmaghraby, Salah E. (1970), The concept of “state” in discrete dynamic programming. Journal of Mathematical Analysis and Applications, 29: 523–557.zbMATHMathSciNetCrossRefGoogle Scholar
  9. Galil, Z., and Giancarlo, R. (1989), Speeding up dynamic programming with applications to molecular biology. Theoretical Computer Science, 64: 107–118.zbMATHMathSciNetCrossRefGoogle Scholar
  10. Held, Michael and Karp, Richard (1962), A dynamic programming approach to sequencing problems. SIAM Journal for Applied Mathematics, 10: 196–210.zbMATHMathSciNetCrossRefGoogle Scholar
  11. Heiman, Paul (1986), The principle of optimality in the design of efficient algorithms. Journal of Mathematical Analysis and Applications, 119: 97–127.MathSciNetCrossRefGoogle Scholar
  12. Helman, Paul (1989), A common schema for dynamic programming and branch and bound algorithms. Journal of the ACM, 36 (1): 97–128.zbMATHMathSciNetCrossRefGoogle Scholar
  13. Heiman, Paul and Rosenthal, Arnon (1985), A comprehensive model of dynamic programming. SIAM Journal on Algebraic and Discrete Methods, 6 (2).Google Scholar
  14. Ibaraki, T. (1973), Solvable classes of discrete dynamic programming. Journal of Mathematical Analysis and Applications, 43: 642–693.zbMATHMathSciNetCrossRefGoogle Scholar
  15. Karp, Richard M. and Held, Michael (1967), Finite-state processes and dynamic programming. SIAM Journal of Applied Mathematics, 15 (3): 693–718.zbMATHMathSciNetCrossRefGoogle Scholar
  16. Knuth, D. E. and Plass, M. F. (1981), Breaking paragraphs into lines. Software — Practice and experience, pages 1119–1184.Google Scholar
  17. Levenshtein, V. I. (1966), Binary codes capable of correcting deletions, insertions and reversals. Soviet Physics-Doklady, 10 (8): 707–710.MathSciNetGoogle Scholar
  18. Malcolm, G. R. (1990), Algebraic Data Types and Program Transformation. PhD thesis, Groningen University.Google Scholar
  19. Mitten, L. G. (1964), Composition principles for the synthesis of optimal multistage processes. Operations Research, 12.Google Scholar
  20. Moor, O. de (1992), Categories, relations and dynamic programming. D.Phil. thesis. Technical Monograph PRG-98, Computing Laboratory, Oxford.Google Scholar
  21. Morin, T. L. (1982), Monotonicity and the principle of optimality. Journal of Mathematical Analysis and Applications, 86: 665–674.MathSciNetCrossRefGoogle Scholar
  22. Sankoff, David and Kruskal, Joseph B., editors. (1983), Time warps, string edits and macromolecules: the theory and practice of sequence comparison. Addison-Wesley, Reading, Mass.Google Scholar
  23. Shreider, Yu. A. (1961), Automata and the problem of dynamic programming. Problems of Cybernetics, 5: 31–48.zbMATHGoogle Scholar
  24. Wagner, Robert A. and Fisher, Michael J. (1974), The string-to-string correction problem. Journal of the Association for Computing Machinery, 21 (1): 168–173.zbMATHMathSciNetCrossRefGoogle Scholar

Copyright information

© IFIP 1997

Authors and Affiliations

  • Sharon Curtis
    • 1
  1. 1.Oxford University Computing Laboratory Parks RoadOxfordUK

Personalised recommendations