Arrow Research search
Back to I&C

I&C 2006

Table design in dynamic programming

Journal Article journal-article Computer Science ยท Theoretical Computer Science

Abstract

Dynamic Programming solves combinatorial optimization problems by recursive decomposition and tabulation of intermediate results. The first step in the design of a dynamic programming algorithm is to decide on the set of tables that will hold optimal solutions to subproblems. This step predetermines the shape of the dynamic programming recurrences as well as the asymptotic efficiency of the algorithm in time and space. We study dynamic programming in a formal framework where design of tables and problem decomposition can be done independently. Our main result shows that choosing a good table design for a given decomposition is an NP-complete problem. A heuristic or approximate approach is therefore needed to automate good table design. We report on a strategy that combines user annotation and a brute force algorithm, which is shown to perform well in a large application.

Authors

Keywords

  • Dynamic programming
  • Programming methodology
  • NP completeness
  • Space-time trade-off

Context

Venue
Information and Computation
Archive span
1987-2026
Indexed papers
3021
Paper id
1115927417587182764
v2026.09.13