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

  • Artur Czumaj
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 665)


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(n6/logkn) 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(log3n) time using n2/log3n processors on a CREW PRAM.

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


Parallel Algorithm Total Work Convex Polygon Marked Vertex Small Vertex 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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. [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. [3]
    P.G. Bradford, A parallel approximation algorithm for matrix chain ordering, manuscript, 1992.Google Scholar
  4. [4]
    P.G. Bradford Efficient parallel dynamic programming, manuscript, 1992.Google Scholar
  5. [5]
    R.P. Brent, The parallel evaluation of general arithmetic expressions, J. Assoc. Comput. Mach., 21 (1974), pp. 201–206.Google Scholar
  6. [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. [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. [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. [9]
    S.S. Godbole, On efficient computation of matrix chain products, IEEE Trans. Comput., C-22, 9 (1973), pp. 864–866.Google Scholar
  10. [10]
    Z. Galil, K. Park, Parallel dynamic programming, manuscript, 1992, submitted to J. Parallel Distrib. Comput.Google Scholar
  11. [11]
    A.M. Gibbons, W. Rytter, Efficient parallel algorithms, Cambridge University Press, 1988.Google Scholar
  12. [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. [13]
    T.C. Hu, M.T. Shing, Some theorems about matrix multiplications, FOCS 1980, pp. 28–35.Google Scholar
  14. [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. [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. [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. [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. [18]
    W. Rytter, On efficient parallel computations for some dynamic programming problems, Theoret. Comput. Sci., 59 (1988), pp. 297–307.Google Scholar
  19. [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. [20]
    F.F. Yao, Speed-up in dynamic programming, SIAM J. Algebraic and Discrete Methods, 3 (1982), pp. 532–540.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Artur Czumaj
    • 1
  1. 1.Institute of InformaticsWarsaw UniversityWarszawaPoland

Personalised recommendations