现在的位置: 首页 > 综合 > 正文

算法:矩阵链乘法!

2017年10月27日 ⁄ 综合 ⁄ 共 244字 ⁄ 字号 评论关闭

问题描述:有N个矩阵A1...AN,求某种加括号的方法,让他们计算量最小。

分析:

两个矩阵相乘的计算量:两个矩阵长宽分别为n*m和m*k的相乘,其要进行n*k*m次的乘法和加法。

一个矩阵链乘完的结果:Ai*...*Aj 长为ni nj+1 其中Ai的长宽为ni、ni+1。

其实这个问题解决方法没有什么很亮的地方,无非是某种穷举而已,然后用DP从下向上解出来。

设m[i,j]为Ai*...*Aj的最优括号方式,则,其中的某个括号将把Ai*...*Aj分割为Ai*...*Ak Ak+1*...*AN.

抱歉!评论已关闭.