# Parallel algorithm for the matrix chain product and the optimal triangulation problems (extended abstract)

## Abstract

This paper considers the problem of finding an optimal order of the multiplication chain of matrices and the problem of finding an optimal triangulation of a convex polygon. For both these problems the best sequential algorithms run in ⊗(*n* log *n*) time. All parallel algorithms known use the dynamic programming paradigm and run in a polylogarithmic time using, in the best case, *O*(n^{6}/log^{k}*n*) processors for a constant *k.* We give a new algorithm which uses a different approach and reduces the problem to computing certain recurrence in a tree. We show that this recurrence can be optimally solved which enables us to improve the parallel bound by a few factors. Our algorithm runs in *O*(log^{3}*n*) time using *n*^{2}/log^{3}*n* processors on a CREW PRAM.

We also consider the problem of finding an optimal triangulation in a monotone polygon. An *O*(log^{2}*n*) time and n processors algorithm on a CREW PRAM is given.

## Keywords

Parallel Algorithm Total Work Convex Polygon Marked Vertex Small Vertex## Preview

Unable to display preview. Download preview PDF.

## References

- [1]M.J. Atallah, S.R. Kosajaru, L.L. Larmore, G.L. Miller, S-H. Teng,
*Constructing trees in parallel*, SPAA 1989, pp. 421–431.Google Scholar - [2]M.J. Atallah, S.R. Kosajaru,
*An efficient algorithm for the row minima of a totally monotone matrix*, SODA 1991, pp. 394–403.Google Scholar - [3]P.G. Bradford,
*A parallel approximation algorithm for matrix chain ordering*, manuscript, 1992.Google Scholar - [4]
- [5]R.P. Brent,
*The parallel evaluation of general arithmetic expressions*, J. Assoc. Comput. Mach., 21 (1974), pp. 201–206.Google Scholar - [6]K.F. Chan, T.W. Lam,
*Finding least-weight subsequences with fewer processors*, SIGAL 1990, LNCS 450, pp. 318–327, also to appear in*Algorithmica*.Google Scholar - [7]R. Cole, U. Vishkin,
*Approximate and exact parallel scheduling with applications to list, tree and graph problems*, FOCS 1986, pp. 478–491.Google Scholar - [8]A. Czumaj,
*An optimal parallel algorithm for computing a near-optimal order of matrix multiplications*, SWAT 1992, LNCS 621, pp. 62–72.Google Scholar - [9]S.S. Godbole,
*On efficient computation of matrix chain products*, IEEE Trans. Comput., C-22, 9 (1973), pp. 864–866.Google Scholar - [10]Z. Galil, K. Park,
*Parallel dynamic programming*, manuscript, 1992, submitted to J. Parallel Distrib. Comput.Google Scholar - [11]A.M. Gibbons, W. Rytter,
*Efficient parallel algorithms*, Cambridge University Press, 1988.Google Scholar - [12]S-H.S. Huang, H. Liu, V. Viswanathan,
*Parallel dynamic programming*, IEEE Symposium on Parallel and Distributed Processing, 1990, pp. 497–500.Google Scholar - [13]T.C. Hu, M.T. Shing,
*Some theorems about matrix multiplications*, FOCS 1980, pp. 28–35.Google Scholar - [14]T.C. Hu, M.T. Shing,
*Computation of matrix chain products. Part I*, SIAM J. Comput., 11(1982), pp. 362–373.Google Scholar - [15]M.M. Klawe, D.J. Kleitman,
*An almost linear time algorithm for generalized matrix searching*, SIAM J. Discrete Math.,**3**(1990), pp. 81–97.Google Scholar - [16]R.M. Karp, V. Ramachandran,
*A survey of parallel algorithms for sharedmemory machines*, in*Handbook of Theoretical Computer Science*, North-Holland, 1990, pp. 869–941.Google Scholar - [17]P. Ramanan,
*A new lower bound technique and its application: tight lower bound for a polygon triangulation problem*, SODA 1991, pp. 281–290.Google Scholar - [18]W. Rytter,
*On efficient parallel computations for some dynamic programming problems*, Theoret. Comput. Sci., 59 (1988), pp. 297–307.Google Scholar - [19]L. Valiant, S. Skyum, S. Berkowitz, C. Rackoff,
*Fast parallel computation of polynomials using few processors*, SIAM J. Comput., 12 (1983), pp. 641–644.Google Scholar - [20]F.F. Yao,
*Speed-up in dynamic programming*, SIAM J. Algebraic and Discrete Methods, 3 (1982), pp. 532–540.Google Scholar