动态规划_矩阵连乘问题

动态规划的思想

用众多子问题的解来得出问题的解,也可以说是避免重复计算。

矩阵连乘

给定n个矩阵,求最佳次序

  1. 假设我们知道最佳分割点k,则分解成子问题1k,k+1n
  2. 假设我们又知道了子问题的最佳分割点,则递归分解到最后肯定是3个矩阵分成2个矩阵,而两个矩阵可以直接算出来
  3. 所以我们直接算出所有2个的,由所有2个的算出所有3个的,再…直到n个

公式:avatar

举个例子:
给出4个矩阵,分别是5*4, 4*6,6*2,2*7维数的矩阵
则有两个两个的相乘的次数分别是:
120 48 84
进而得出3个3个相乘最优的次数为
注意 m[1,3] = min{ (m[1,2] + m[3,3] + p0p2p3), (m[1,1] + m[2,3] + p0p1p3) },m[2,4]等以此类推
88 104
有了所有3个进而得出4个矩阵连乘的最优次序

中间过程记录下所采用的分割点就可以得出次序了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值