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

矩阵连乘算法精讲

2012年12月24日 ⁄ 综合 ⁄ 共 456字 ⁄ 字号 评论关闭

今天看了好久的矩阵连乘算法,总算有了一点头绪,现在来细细总结一下。

首先我们知道的是,矩阵连乘算法是一种动态规划法,那么和多段图和弗洛伊德算法一样,它也体现了动态规划法的特点。像弗洛伊德算法,它的动体现在每加进一个节点,那么d和path者两个二维表都会发生相应的变化,且朝着全局最优解的方向去变化。那么矩阵连乘算法其实也是一样的。这里面也用到了两个二维表,分别是m和s。弗洛伊德算法其实和dijkstra算法的思想是一致的,d和path表的改变都依赖于下一个加进来的节点。而矩阵连乘算法中两个二维表的改变则依赖于该点左下角的值。如下图:

算法的步骤是这样的:

1、主对角线上为0

2、次对角线上的设为初值为顺序计算,而每次我们只需要左下方的值,所以每计算一次次对角线上的值,相应的我们可以从上到下计算得出从i为0到i为j的值,因为其左下方的值已经计算出来.计算的方法还需要一个for循环,假设断点的位置是中间的任何一个,然后通过比较得出m值最小的那个断点,并且修改两个二维表

3、最后一步我们得出来的便是m【0】【n-1】

【上篇】
【下篇】

抱歉!评论已关闭.