第四章dynamic programming技术 - read.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章dynamic programming技术 - read

第四章 Dynamic Programming技术 4.1 Dynamic Programming 概述 ·优化问题: 一个优化问题可能有很多解,每个解有一 个代价,我们希望选择一个具有最少代价 的解。一个优化问题可能有多个优化解。 ·动态规划方法: ·Dynamic Programming方法适用于:当一个优化问 题可分为多个子问题,子问题的解被重复使用。 ·Dynamic Programming方法求解每个子问题仅一次, 并保存其结果,以后用到时直接存取,不重复计算, ——节省计算时间。 ·Dynamic Programming方法自底向上,而divid- and-conque方法自顶向下。 ·动态规划算法的书记步骤 ① 分析优化解的结构 ② 递归地定义最优解的代价 ③ 自底向上地计算优化解的代价保存之, 并获取构造最优解的信息。 ④ 根据构造最优解的信息构造优化解 4.2. Matrix-chain Multiplication 4.2.1 问题的提出 ·矩阵链乘法问题 输入:A1,A2,...,An Ai是矩阵 输出:矩阵乘积 A1(A2(…(An ·矩阵链乘法的实现 ·矩阵乘法满足结合率。 ·计算一个矩阵链的乘法可有多种方法: ·例如:(A1(A2(A3(A4)=(A1((A2((A3(A4))) =((A1(A2)((A3(A4)) .... =((A1(A2)(A3)(A4) ·两个矩阵的乘法A(B的代价依赖于计算的顺序 ·复杂性测度:乘法的次数 ·A(B的代价:设A是p(q矩阵,B是q(r矩阵, 则计算A(B的时间是0(pqr). ·矩阵链乘法的代价 设A1=10(100矩阵, A2=100(5矩阵, A3=5(50矩阵, 则 ·T((A1(A2)(A3)=10(100(5+10(5(50=5000+2500=7500 ·T((A1(A2) (A3)=100(5(50+10(100(50 =25000+50000=750000. ·结论: 不同解法有不同的代价。 ·矩阵链乘法优化问题 输入:A1, A2, ..., An, Ai是pi-1(pi矩阵 输出:代价最小的计算A1(A2(...(An的方法 ·矩阵链乘法优化问题的解空间 设p(n)=计算具有n个矩阵的矩阵链乘积的方法数 1 if n=1 p(n)= if n(2 p(n)=C(n-1)=Catalan数== ((4n/n) *如此之大的解空间是无法用枚举方法求出最优解的! 4.2.2 优化解的结构 ·几个记号 ·Ai-j=Ai(Ai+1(....(Aj ·cost(Ai-j)=计算Ai-j的代价 ·优化解的结构 ·对于任意k,1(kn,A1(n=A1(k(Ak+1(n ·cost(A1(n)=cost(A1(k)+cost(Ak+1(n)+cost(A1(k(Ak+1(n) ·在A1(n的优化解中,子问题A1(k的解法必须是A1-k的优化 解,子问题Ak+1(n的解必须是Ak+1(n的优化解。 --问题的优化解包括子问题优化解 --Dynamic-programming可用的原因 4.2.3. 优化解的代价方程 ·假设 ·m[i,j]=计算Ai-j的最小乘法数 ·m[1,n]=计算Ai(n的最小乘法数 ·A1...AkAk+1....An是优化解 ·代价方程 m[i,i]=计算Ai(i=Ai的最小乘法数=0 m[i,j]=m[i,k]+m[k+1,j]+pi-1pkpj,其中, pi-1pkpj是计算 Ai-k(Ai-k所需要完成的乘法数, AI和Ak分别是pI-1(pI和 pk-

文档评论(0)

wujianz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档