动态规划实现矩阵连乘问题
一、动态规划
动态规划和分治法十分相似,动态规划的基本思想是将待求解的问题分解为若干子问题的解得到原问题的解 。动态规划算法通常适用于求解最优化问题 。
动态规划的步骤如下:
文章插图
1、找出最优解的性质,并刻画其结构特征 。
2、递归地定义最优值 。
3、以自底向上的方式计算最优值 。
【动态规划---------矩阵连乘】4、根据计算的最优值时得到的信息,构造最优解 。
二、矩阵连乘问题
问题描述:给定n个矩阵:A1,A2,…,An,其中Ai与Ai+1是可乘的,i=1 , 2… , n-1 。确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少 。
思路:矩阵连乘可以通过添加括号来改变矩阵相乘时候的顺序 , 从而改变最终相乘的次数,所以我们只需要找到最优的添加括号的方式就能求出矩阵相乘时次数最少的那次 。利用的是自底向上的方式 。
对于两个矩阵相乘A1*A2,A1为p?q矩阵,A2为q?r矩阵,(两个矩阵可以相乘必须满足第一个矩阵的列数等于第二个矩阵的行数),两者相乘共需要p?q?r次 。
我们将矩阵连乘Ai*Ai+1…*Aj,简记为A[i:j],所以我们需要求得就是A[i:n]的最优计算次序;假设矩阵A[i:j](1
- 求矩阵特征值的方法 用特征值求矩阵
- c 和 cpp 版 整理动态规划笔记
- 游艇租赁最小代价——动态规划求解
- 动态规划法解决游艇租用问题
- 通过递归的矩阵向量空间预测组合语义
- 电脑卡住了又不想强制关机如何解决---------安排
- 几何构造证明题【附图】 求斐波那契前n项平方和 ——矩阵快速幂模板
- 一 大数据与高并发 ----------- 秒杀架构设计
- p94-p98 键指offer——动态规划与贪婪算法+面试题14:剪绳子
- 课程设计 【算法设计与分析】动态规划解决石子合并问题