Advanced Techniques for Dynamic Programming

This is an overview over dynamic programming with an emphasis on advanced methods. Problems discussed include path problems, construction of search trees, scheduling problems, applications of dynamic programming for sorting problems, server problems, as well as others. This chapter contains an extensive discussion of dynamic programming speedup. There exist several general techniques in the literature for speeding up naive implementations of dynamic programming. Two of the best known are the Knuth-Yao quadrangle inequality speedup and the SMAWK/LARSCH algorithm for finding the row minima of totally monotone matrices. The chapter includes “ready to implement” descriptions of the SMAWK and LARSCH algorithms. Another focus is on dynamic programming, online algorithms, and work functions.

[1]  Michelle L. Wachs On an Efficient Dynamic Programming Technique of F. F. Yao , 1989, J. Algorithms.

[2]  Arie Tamir,et al.  An O(pn2) algorithm for the p-median and related problems on tree graphs , 1996, Oper. Res. Lett..

[3]  Chris N. Potts,et al.  Integrating Scheduling with Batching and Lot-Sizing: A Review of Algorithms and Complexity , 1992 .

[4]  R. Bellman Dynamic programming. , 1957, Science.

[5]  Nancy L. Stokey,et al.  Recursive methods in economic dynamics , 1989 .

[6]  Marek Chrobak,et al.  Solution of a problem in DNA computing , 2002, Theor. Comput. Sci..

[7]  Asit Dan,et al.  Scheduling policies for an on-demand video server with batching , 1994, MULTIMEDIA '94.

[8]  M. Sniedovich Dynamic programming : foundations and principles , 2011 .

[9]  Pankaj K. Agarwal,et al.  Selection in Monotone Matrices and Computing kth Nearest Neighbors , 1994, J. Algorithms.

[10]  Lyle A. McGeoch,et al.  Competitive Algorithms for Server Problems , 1990, J. Algorithms.

[11]  Marek Chrobak,et al.  The 3-server problem in the plane , 2002, Theor. Comput. Sci..

[12]  Christos H. Papadimitriou,et al.  On the k-server conjecture , 1995, JACM.

[13]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[14]  Refael Hassin,et al.  Improved complexity bounds for location problems on the real line , 1991, Oper. Res. Lett..

[15]  Lawrence L. Larmore,et al.  Parallel construction of trees with optimal weighted path length , 1991, SPAA '91.

[16]  Vineet Bafna,et al.  Sorting by Transpositions , 1998, SIAM J. Discret. Math..

[17]  Marek Chrobak,et al.  An Optimal On-Line Algorithm for k-Servers on Trees , 1991, SIAM J. Comput..

[18]  Donald E. Knuth,et al.  Optimum binary search trees , 1971, Acta Informatica.

[19]  Mikhail J. Atallah,et al.  Constructing trees in parallel , 1989, SPAA '89.

[20]  Raghavan Rama,et al.  Block Sorting: A Characterization and some Heuristics , 2007, Nord. J. Comput..

[21]  Susanne Albers,et al.  The Complexity of One-Machine Batching Problems , 1993, Discret. Appl. Math..

[22]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[23]  J. A. Hoogeveen,et al.  Scheduling a batching machine , 1998 .

[24]  Ellis Horowitz,et al.  Computer Algorithms / C++ , 2007 .

[25]  Prosenjit Gupta,et al.  Extending the Quadrangle Inequality to Speed-Up Dynamic Programming , 1994, Inf. Process. Lett..

[26]  Dina Kravets,et al.  Selection and sorting in totally monotone arrays , 1990, SODA '90.

[27]  Lawrence L. Larmore,et al.  Optimally competitive list batching , 2009, Theor. Comput. Sci..

[28]  Wojciech Rytter,et al.  Optimal Prefix-Free Codes for Unequal Letter Costs: Dynamic Programming with the Monge Property , 2002, J. Algorithms.

[29]  Maria M. Klawe,et al.  Superlinear Bounds for Matrix Searching Problems , 1992, J. Algorithms.

[30]  Gerhard J. Woeginger,et al.  The Travelling Salesman Problem on Permuted Monge Matrices , 1998, J. Comb. Optim..

[31]  Lawrence L. Larmore,et al.  The Knuth-Yao quadrangle-inequality speedup is a consequence of total-monotonicity , 2009, SODA '06.

[32]  Eric V. Denardo,et al.  Dynamic Programming: Models and Applications , 2003 .

[33]  Baruch Schieber,et al.  On-line dynamic programming with applications to the prediction of RNA secondary structure , 1991, SODA '90.

[34]  Anna R. Karlin On the Performance of Competitive Algorithms in Practice , 1996, Online Algorithms.

[35]  Raffaele Giancarlo,et al.  Speeding up Dynamic Programming with Applications to Molecular Biology , 1989, Theor. Comput. Sci..

[36]  Alok Aggarwal,et al.  Geometric applications of a matrix-searching algorithm , 1987, SCG '86.

[37]  Allan Borodin,et al.  Online computation and competitive analysis , 1998 .

[38]  Wolfgang W. Bein,et al.  Approximation for Batching via Priorities , 2007, Sci. Ann. Comput. Sci..

[39]  R. Bellman The theory of dynamic programming , 1954 .

[40]  E. F. Moore,et al.  Variable-length binary encodings , 1959 .

[41]  Anna R. Karlin,et al.  Competitive snoopy caching , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[42]  Guochuan Zhang,et al.  Minimizing makespan on a single batch processing machine with nonidentical job sizes , 2001 .

[43]  George L. Nemhauser,et al.  The Traveling Salesman Problem: A Survey , 1968, Oper. Res..

[44]  Sean P. Meyn Control Techniques for Complex Networks: Workload , 2007 .

[45]  James K. Park,et al.  The Monge array-an abstraction and its applications , 1991 .

[46]  Peter Brucker,et al.  Batch scheduling with deadlines on parallel machines , 1998, Ann. Oper. Res..

[47]  Philippe Baptiste,et al.  Batching identical jobs , 2000, Math. Methods Oper. Res..

[48]  Baruch Schieber,et al.  Computing a minimum-weight k-link path in graphs with the concave Monge property , 1995, SODA '95.

[49]  Marc Salomon,et al.  Batching decisions: structure and models , 1994 .

[50]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[51]  Peter Brucker,et al.  Solving a chemical batch scheduling problem by local search , 2000, Ann. Oper. Res..

[52]  Shahram Latifi,et al.  Block Sorting is Hard , 2003, Int. J. Found. Comput. Sci..

[53]  Sally A. Goldman,et al.  On-line analysis of the TCP acknowledgment delay problem , 2001, JACM.

[54]  T. C. Hu,et al.  Optimal Computer Search Trees and Variable-Length Alphabetical Codes , 1971 .

[55]  Raghavan Rama,et al.  Approximate Block Sorting , 2006, Int. J. Found. Comput. Sci..

[56]  Maxime Crochemore,et al.  Algorithms on strings , 2007 .

[57]  Lawrence L. Larmore,et al.  A fast algorithm for optimal length-limited Huffman codes , 1990, JACM.

[58]  Andrew J. Viterbi,et al.  Error bounds for convolutional codes and an asymptotically optimum decoding algorithm , 1967, IEEE Trans. Inf. Theory.

[59]  Han Hoogeveen,et al.  Optimal On-Line Algorithms for Single-Machine Scheduling , 1996, IPCO.

[60]  Ömer Egecioglu,et al.  Dynamic Programming Based Approximation Algorithms for Sequence Alignment with Constraints , 2004, INFORMS J. Comput..

[61]  Averill M. Law,et al.  The art and theory of dynamic programming , 1977 .

[62]  Mikhail J. Atallah,et al.  Efficient Parallel Algorithms for String Editing and Related Problems , 1990, SIAM J. Comput..

[63]  David Eppstein,et al.  Sparse dynamic programming I: linear cost functions , 1992, JACM.

[64]  Susanne Albers,et al.  On‐Line Algorithms , 2013 .

[65]  Claire Mathieu,et al.  Dynamic TCP Acknowledgment and Other Stories about e/(e - 1) , 2003, Algorithmica.

[66]  Alok Aggarwal,et al.  Notes on searching in multidimensional monotone arrays , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[67]  Daniel J. Kleitman,et al.  An Almost Linear Time Algorithm for Generalized Matrix Searching , 1990, SIAM J. Discret. Math..

[68]  Gerhard J. Woeginger,et al.  Well-solvable special cases of the TSP : a survey , 1996 .

[69]  Zvi Galil,et al.  Dynamic Programming with Convexity, Concavity, and Sparsity , 1992, Theor. Comput. Sci..

[70]  David Eppstein,et al.  Sparse dynamic programming II: convex and concave cost functions , 1992, JACM.

[71]  Frances F. Yao,et al.  Speed-Up in Dynamic Programming , 1982 .

[72]  Kwang-Ting Cheng,et al.  Fundamentals of algorithms , 2009 .

[73]  Lawrence L. Larmore,et al.  The algebraic Monge property and path problems , 2005, Discret. Appl. Math..

[74]  Richard E. Ladner,et al.  Efficient Algorithms for Optimal Stream Merging for Media-on-Demand , 2004, SIAM J. Comput..

[75]  Russell L. Wessner Optimal Alphabetic Search Trees With Restricted Maximal Height , 1976, Inf. Process. Lett..

[76]  Richard Bellman,et al.  Mathematical Aspects Of Scheduling And Applications , 1982 .

[77]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[78]  Rüdiger Reischuk,et al.  Knowledge State Algorithms , 2011, Algorithmica.

[79]  Rainer E. Burkard,et al.  Perspectives of Monge Properties in Optimization , 1996, Discret. Appl. Math..

[80]  Samir Khuller,et al.  Efficient Minimum Cost Matching and Transportation Using the Quadrangle Inequality , 1995, J. Algorithms.

[81]  Marek Chrobak,et al.  New results on server problems , 1991, SODA '90.

[82]  Christos H. Papadimitriou,et al.  Bounds for sorting by prefix reversal , 1979, Discret. Math..

[83]  Lawrence L. Larmore,et al.  A quadratic time 2-approximation algorithm for block sorting , 2009, Theor. Comput. Sci..

[84]  Dimitri P. Bertsekas,et al.  Dynamic Programming and Optimal Control, Two Volume Set , 1995 .

[85]  Philippe Baptiste,et al.  On Minimizing Total Tardiness in a Serial Batching Problem , 2001, RAIRO Oper. Res..

[86]  Peter Brucker,et al.  Scheduling Algorithms , 1995 .

[87]  Robert E. Wilber The Concave Least-Weight Subsequence Problem Revisited , 1988, J. Algorithms.

[88]  Lawrence L. Larmore,et al.  The least weight subsequence problem , 1987, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[89]  Gerhard J. Woeginger,et al.  Monge strikes again: optimal placement of web proxies in the internet , 2000, Oper. Res. Lett..

[90]  Rudolf Fleischer,et al.  Online Maintenance of k-Medians and k-Covers on a Line , 2005, Algorithmica.

[91]  Peter Brucker,et al.  Complex Scheduling , 2006 .

[92]  David Eppstein,et al.  Sequence Comparison with Mixed Convex and Concave Costs , 1990, J. Algorithms.

[93]  Marek Chrobak,et al.  The Server Problem and On-Line Games , 1991, On-Line Algorithms.

[94]  Marek Chrobak,et al.  Metrical Task Systems, the Server Problem and the Work Function Algorithm , 1996, Online Algorithms.

[95]  Ivan Hal Sudborough,et al.  On the Diameter of the Pancake Network , 1997, J. Algorithms.

[96]  F. Frances Yao,et al.  Efficient dynamic programming using quadrangle inequalities , 1980, STOC '80.

[97]  Gerhard J. Woeginger,et al.  Online Algorithms , 1998, Lecture Notes in Computer Science.

[98]  Gerhard J. Woeginger,et al.  Well-Solvable Special Cases of the Traveling Salesman Problem: A Survey , 1998, SIAM Rev..

[99]  Alok Aggarwal,et al.  Parallel Searching in Generalized Monge Arrays , 1997, Algorithmica.