Online Dynamic Programming Speedups
Consider the Dynamic Program h(n) = min 1 ≤ j ≤ n a(n,j) for n = 1, 2, ..., N. For arbitrary values of a(n,j), calculating all the h(n) requires Θ(N 2) time. It is well known that, if the a(n,j) satisfy the Monge property, then there are techniques to reduce the time down to O(N). This speedup is inherently static, i.e., it requires N to be known in advance.
In this paper we show that if the a(n,j) satisfy a stronger condition, then it is possible, without knowing N in advance, to compute the values of h(n) in the order of n = 1, 2, ..., N, in O(1) amortized time per h(n). This maintains the DP speedup online, in the sense that the time to compute all h(n) is O(N). A slight modification of our algorithm restricts the worst case time to be O(logN) per h(n), while maintaining the amortized time bound. For a(n,j) that satisfy our stronger condition, our algorithm is also simpler to implement than the standard Monge speedup.
We illustrate the use of our algorithm on two examples from the literature. The first shows how to make the speedup of the D-median on a line problem in an online settings. The second shows how to improve the running time for a DP used to reduce the amount of bandwidth needed when paging mobile wireless users.
KeywordsBinary Search Bandwidth Requirement Lower Envelope Distribution Matrix Online Setting
Unable to display preview. Download preview PDF.
- 4.Eppstein, D., Galil, Z., Giancarlo, R.: Speeding up dynamic programming. In: Proceedings of the 29th Annual Symposium on Foundations of Computer Science, pp. 488–496 (1988)Google Scholar
- 11.Bar-Noy, A., Feng, Y., Golin, M.J.: Efficiently paging mobile users under delay constraints (2006) (Unpublished manuscript) Google Scholar