Recursion schemes for dynamic programming

  • Authors:
  • Jevgeni Kabanov;Varmo Vene

  • Affiliations:
  • Dept. of Computer Science, University of Tartu, Tartu, Estonia;Dept. of Computer Science, University of Tartu, Tartu, Estonia

  • Venue:
  • MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding re-computation of identical subtasks. We present a new recursion combinator, dynamorphism, which captures the dynamic programming recursion pattern with memoization and identify some simple conditions when functions defined by structured general recursion can be redefined as a dynamorphism. The applicability of the new recursion combinator is demonstrated on classical dynamic programming algorithms: Fibonacci numbers, binary partitions, edit distance and longest common subsequence.