求解这个矩阵乘法例题题目,求解

首先我们了解一下什么是动态规劃算法动态规划算法与分治法类似,其基本思想也是将待求问题分解成若干个子问题但是与分治法不同的是,适合于动态规划算法的問题经分解得到的子问题不是互相独立的假若用分治法解决此类问题,由于子问题太多导致最后求解需要耗费极大的指数时间。而动態规划算法就很好的解决了此类问题为了避免大量运算和重复运算,我们可以采用一个表(可以为数组)来记录已经解决过的问题倘若下回再利用的话,我们直接在表中查找就好这样就避免了大量的重复运算。

下面以具体的例子矩阵乘法例题连乘问题来说明如何运用動态规划算法的思想

(1)矩阵乘法例题乘法满足结合律有不同的计算次序,用加括号的方式来确认

(2)若一个矩阵乘法例题连乘积的计算次序完全确定即该连乘积已完全加括号,则可依此次序反复调用 2 个矩阵乘法例题相乘算法计算矩阵乘法例题连乘积完全加括号的矩陣乘法例题连乘积可递归地定义为:

  • 单个矩阵乘法例题是完全加括号的
  • 如矩阵乘法例题连乘积 A 是完全加括号的,则 A 可以表示为 2 个完全加括號的矩阵乘法例题连乘积 B 和 C 的乘积并加括号即 A = ( BC )。

每一种加括号方式对应一种矩阵乘法例题连乘积的计算次序不同的“加括号”方法得箌的计算次序其计算量差别可能很大。

考虑两个矩阵乘法例题乘积所需的计算量:若 A 是一个 p * q 矩阵乘法例题B 是一个 q * r 矩阵乘法例题,则其乘積 C = AB 是一个 p * r 矩阵乘法例题则上述矩阵乘法例题相乘总共需要 pqr 次数乘。

我们用一个例子看一下在不同次序下计算量的区别

PS:推导过程部分图爿来自西邮刘伟老师的课件内容


从上图我们可以看出最少的计算量和最多的计算量差了8倍,因此我们找一个好的计算次序是非常有必要嘚矩阵乘法例题连乘积是一个最优化问题,可以采用动态规划法解决为了解决n个矩阵乘法例题A1,A2,A3,......,An连乘积的最优计算次序,先考虑它的子問题Ai,Ai+1,......,Aj的最优计算次序若子问题解决,令i=1,j=n,原问题自然解决


// 动态规划算法求矩阵乘法例题连乘积问题...
 { //上边的对角线初始化相当于r=1 
 






拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

一道题目用增广矩阵乘法例题的方法解线性方程组,求教
化为最简行阶梯矩阵乘法例题再求X的方法会了
但是还一种方法也是先把X用未知数列表示,然后根据矩阵乘法例题乘法直接列出三个线性方程组.又因为三个方程组的系数矩阵乘法例题完全一样,区别仅在常数项,所以对这三个方程组增广矩阵乘法例题,就是把三个方程组右侧的常数项增加到原来3*3矩阵乘法例題的第4列
可介绍到这里书上就没往下做了,没看明白为什么要增广矩阵乘法例题,有什么用呢?还有接下来要怎么求X呢?希望老师指点

拍照搜题秒出答案,一键查看所有搜题记录

我要回帖

更多关于 矩阵乘法例题 的文章

 

随机推荐