Czumaj, A. (1992) Parallel algorithm for the matrix chain product problem. Technical Report. Department of Computer Science, Coventry, UK.
Abstract
This paper considers the problem of finding an optimal order of the multiplication chain of matrices. All parallel algorithms known use the dynamic programming approach and run in a polylogarithmic time using, in the best case, n <sup>6</sup>/log<sup>6</sup>n processors. Our algorithm uses a different approach and reduces the problem to computing some recurrence on 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<sup>3</sup> n) time using n<sup>2</sup>/log<sup>3</sup>n processors on a CREW PRAM and O(log<sup>2</sup> n log log n ) time using n <sup>2</sup>/(log<sup>2</sup>n log log n)processors on a CRCW PRAM. This algorithm solves also the problem of finding an optimal triangulation in a convex polygon. We show that for a monotone polygon this result can be even improved to get an O(log<sup>2</sup>n) time and n processor algorithm on a CREW PRAM.
Actions (login required)