A fast sequential algorithm for the matrix chain ordering problem

This article presents a fast sequential algorithm for the matrix chain ordering problem. Our solution is based on Yao's sequential algorithm that solves this problem in 𝒪(n2) time by reducing the total number of distinct subproblems to be performed. We solve them fastly by avoiding some unnecessary computations. Our strategy consists in organizing the evaluation of the subproblems according to their dependencies instead of their precedence order as in the previous solutions. In many cases, our solution runs in 𝒪(n) time. An experimental study is conducted to benchmark the performance of our algorithm by measuring the average of the results obtained on five random data sets. This shows that our algorithm is × 18.93 faster than Yao's sequential algorithm and × 5.07 faster than the previous best CGM‐based parallel solutions on 32 processors.

[1]  Phillip G. Bradford,et al.  Efficient Matrix Chain Ordering in Polylog Time , 1998, SIAM J. Comput..

[2]  Zaher Mahjoub,et al.  Greedy algorithms for optimal computing of matrix chain products involving square dense and triangular matrices , 2011, RAIRO Oper. Res..

[3]  T. C. Hu,et al.  Computation of Matrix Chain Products. Part I , 1982, SIAM J. Comput..

[4]  Edson Cáceres,et al.  Performance results of running parallel applications on the InteGrade , 2010, Concurr. Comput. Pract. Exp..

[5]  Sadashiva S. Godbole,et al.  On Efficient Computation of Matrix Chain Products , 1973, IEEE Transactions on Computers.

[6]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

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

[8]  Jean Frédéric Myoupo,et al.  An Efficient BSP/CGM Algorithm for the Matrix Chain Ordering Problem , 2008, PDPTA.

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

[10]  Shou-Hsuan Stephen Huang,et al.  Parallel Dynamic Programming , 1994, IEEE Trans. Parallel Distributed Syst..

[11]  Daxin Zhu,et al.  Efficient computation of matrix chain , 2013, 2013 8th International Conference on Computer Science & Education.

[12]  D Tang,et al.  An efficient parallel dynamic programming algorithm , 1995 .

[13]  Oded Schwartz,et al.  Revisiting "Computation of Matrix Chain Products" , 2019, SIAM J. Comput..

[14]  Prakesh Ramanan An Efficient Parallel Algorithm for the Martix-Chain-Product Problem , 1996, SIAM J. Comput..

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

[16]  Man-Tak Shing,et al.  Computation of Matrix Chain Products. Part II , 1984, SIAM J. Comput..

[17]  Prakash V. Ramanan A new lower bound technique and its application: tight lower bound for a polygon triangulation problem , 1991, SODA '91.

[18]  Dilson R. Higa,et al.  A coarse-grained parallel algorithm for the matrix chain order problem , 2012, HiPC 2012.

[19]  Guang R. Gao,et al.  A parallel dynamic programming algorithm on a multi-core architecture , 2007, SPAA '07.

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

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

[22]  Artur Czumaj Parallel Algorithm for the Matrix Chain Product and the Optimal Triangulation Problems Stacs'93 Version , 1993 .

[23]  Jean Frédéric Myoupo,et al.  An Efficient CGM-Based Parallel Algorithm Solving the Matrix Chain Ordering Problem , 2014, Int. J. Grid High Perform. Comput..

[24]  Koji Nakano,et al.  A GPU Implementation of Dynamic Programming for the Optimal Polygon Triangulation , 2013, IEICE Trans. Inf. Syst..

[25]  K. Shyamala,et al.  Design and implementation of GPU-based matrix chain multiplication using C++AMP , 2017, 2017 Second International Conference on Electrical, Computer and Communication Technologies (ICECCT).

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

[27]  Andrew Rau-Chaplin,et al.  Scalable parallel computational geometry for coarse grained multicomputers , 1996, Int. J. Comput. Geom. Appl..

[28]  Jitendra V. Tembhurne,et al.  A Parallelization of Non-Serial Polyadic Dynamic Programming on GPU , 2019, J. Comput. Inf. Technol..

[29]  Koji Nakano,et al.  Accelerating the Dynamic Programming for the Matrix Chain Product on the GPU , 2011, 2011 Second International Conference on Networking and Computing.

[30]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.