Parallel Dynamic Programming

Recurrence formulations for various problems, such as finding an optimal order of matrix multiplication, finding an optimal binary search tree, and optimal triangulation of polygons, assume a similar form. A. Gibbons and W. Rytter (1988) gave a CREW PRAM algorithm to solve such dynamic programming problems. The algorithm uses O(n/sup 6//log n) processors and runs in O(log/sup 2/ n) time. In this article, a modified algorithm is presented that reduces the processor requirement to O(n/sup 6//log /sup 5/n) while maintaining the same time complexity of O(log/sup 2/ n). >

[1]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[2]  Danny Ziyi Chen,et al.  Efficient Geometric Algorithms on the EREW PRAM , 1995, IEEE Trans. Parallel Distributed Syst..

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

[4]  Phillip G. Bradford,et al.  Matrix Chain Ordering in Polylog Time with n = lg n Processors , 1992 .

[5]  Ronald L. Rivest,et al.  The Design and Analysis of Computer Algorithms , 1990 .

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

[7]  J. Thomison,et al.  Compared to what? , 1990, Journal of the Tennessee Medical Association.

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

[9]  Zvi Galil,et al.  Parallel Dynamic Programming , 1991 .

[10]  Ian Parberry,et al.  Parallel complexity theory , 1987, Research notes in theoretical computer science.

[11]  Yoichi Muraoka,et al.  On the time required for a sequence of matrix products , 1973, CACM.

[12]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[13]  Stephen A. Cook,et al.  A Taxonomy of Problems with Fast Parallel Algorithms , 1985, Inf. Control..

[14]  Artur Czumaj Parallel Algorithm for the Matrix Chain Product and the Optimal Triangulation Problems (Extended Abstract) , 1993, STACS.

[15]  Artur Czumaj An Optimal Parallel Algorithm for Computing a Near-Optimal Order of Matrix Multiplications , 1992, SWAT.

[16]  John H. Reif,et al.  Depth-First Search is Inherently Sequential , 1985, Inf. Process. Lett..

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

[18]  Leslie G. Valiant,et al.  Fast Parallel Computation of Polynomials Using Few Processors , 1983, SIAM J. Comput..

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

[20]  Man-tak Shing,et al.  An O(n) Algorithm to Find a Near-Optimum Partition of a Convex Polygon , 1981, J. Algorithms.

[21]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[22]  Mikhail J. Atallah,et al.  An efficient parallel algorithm for the row minima of a totally monotone matrix , 1991, SODA '91.

[23]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[24]  Oscar H. Ibarra,et al.  Hypercube Algorithms for Some String Comparison Problems , 1988 .

[25]  H. James Hoover,et al.  A Compendium of Problems Complete for P , 1991 .

[26]  Victor Y. Pan,et al.  How to Multiply Matrices Faster , 1984, Lecture Notes in Computer Science.

[27]  Uzi Vishkin,et al.  Optimal Doubly Logarithmic Parallel Algorithms Based on Finding All Nearest Smaller Values , 1993, J. Algorithms.

[28]  Francis Y. L. Chin,et al.  An O(n) algorithm for determining a near-optimal computation order of matrix chain products , 1978, CACM.

[29]  Philip N. Klein,et al.  Parallel Time O(log n) Acceptance of Deterministic CFLs on an Exclusive-Write P-RAM , 1988, SIAM J. Comput..

[30]  Richard J. Anderson,et al.  Parallelism and greedy algorithms , 1984 .

[31]  Shou-Hsuan Stephen Huang,et al.  A Sublinear Parallel Algorithm for Some Dynamic Programming Problems , 1992, Theor. Comput. Sci..

[32]  Wojciech Rytter,et al.  On Efficient Parallel Computations for some Dynamic Programming Problems , 1988, Theor. Comput. Sci..

[33]  Joseph O'Rourke,et al.  Computational Geometry in C. , 1995 .

[34]  Artur Czumaj,et al.  Parallel Algorithm for the Matrix Chain Product Problem , 1992 .

[35]  Dexter Kozen,et al.  On parallelism in turing machines , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[36]  Roy Dubisch,et al.  Introduction to modern algebra , 1961 .

[37]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.