Limitations of Incremental Dynamic Programming

Stasys Jukna
2013 Algorithmica  
We consider so-called "incremental" dynamic programming algorithms, and are interested in the number of subproblems produced by them. The classical dynamic programming algorithm for the Knapsack problem is incremental, produces nK subproblems and nK 2 relations (wires) between the subproblems, where n is the number of items, and K is the knapsack capacity. We show that any incremental algorithm for this problem must produce about nK subproblems, and that about nK log K wires (relations between
more » ... ubproblems) are necessary. This holds even for the Subset-Sum problem. We also give upper and lower bounds on the number of subproblems needed to approximate the Knapsack problem. Finally, we show that the Maximum Bipartite Matching problem and the Traveling Salesman problem require exponential number of subproblems. The goal of this paper is to leverage ideas and results of boolean circuit complexity for proving lower bounds on dynamic programming. Keywords Dynamic programming · Knapsack · Matching · Branching programs · Lower bounds Introduction Capturing the power and weakness of algorithmic paradigms is an important task pursuit over several last decades. The problem is a mix of two somewhat contradicting goals. The first of them is to find an appropriate mathematical model formalizing vague terms, as greedy algorithms, dynamic programming, backtracking, branch-and-bound algorithms, etc. The models must be expressive enough by being able to simulate at least known algorithms. But they also should be not omnipotent, should avoid the power of arbitrary algorithms, problems like P versus NP, as well as the power of general boolean circuits.
doi:10.1007/s00453-013-9747-6 fatcat:wfkdrnhdffadnjmntzfomfy2zy