- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 动态规划与贪心策略动态规划策略通常用于求解具有某种最优性质的问题。贪心算法则是仅在当前状态下做出的最好选择,即局部最优选择;然后再求解做出该选择后所产生的相应子问题的解。动态规划思想动态规划策略的应用贪心策略的基本要贪心策略的应用动态规划适用于动态规划法求解的问题,经分解得到的子问题往往不是互相独立的; 基于动态规划法的算法设计通常按以下几个步骤进行: (1) 找出最优解的性质,并描述其结构特征; (2) 递归定义最优值; (3) 以自底向上的方式计算最优值; (4) 根据计算最优值时得到的信息构造一个最优解。 通常在步骤(3)计算最优值时,需要记录更多的信息,以便在步骤(4)中快速构造出一个最优解。动态规划算法的基本要素动态规划算法的两个基本要素——最优子结构性质和子问题重叠性质。 (1) 最优子结构:当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。 (2) 重叠子问题:对每个子问题只解一次,然后将解保存在一个表格中,当再次需要解此问题时,只是简单地用常数时间查看所保存的结果即可。 计算A[1:4]的递归树 备忘录方法是动态规划算法的一个变形。备忘录方法的递归方式是自顶向下,动态规划算法则是自底向上。具体算法思想: 每一个子问题建立一个记录项,初始化时将其赋值为特定值,表示该子问题尚未求解。在求解过程中,对每个待求解的子问题首先查看其相应的记录项,若记录项中存储的值是初始化的值,则表示该子问题第一次遇到,就需要计算该子问题的解,并存入相应的记录项,否则表示该子问题已经求解,即不必再计算该子问题。 备忘录算法int MemorizedMatrixChain ( int n, int m[][n], int s[][n] ) { for ( int i = 1; i = n; i++) for ( int j = 1; j = n; j++) m[i][j] = 0; return LookupChain (1, n );}int LookupChain ( int i, int j ) { int u,t; if ( m[i][j] 0 ) return m[i][j]; if ( i == j ) return 0; u=LookupChain(i, i)+LookupChain(i+1, j)+p[i-1]*p[i]*p[j]; s[i][j] = i; for ( int k = i+1; k j; k++) { t=LookupChain(i, k)+LookupChain(k+1, j)+p[i-1]*p[k]*p[j]; if ( t u ) { u = t; s[i][j] = k; } } m[i][j] = u; return u;}备忘录算法分析在调用LookupChain时,如果m[i][j]0,那么m[i][j]中存储的值就是待求的值,直接返回此结果即可;否则通过递归算法自顶向下计算,并将计算结果存入m[i][j]后返回。与动态规划算法一样,备忘录算法的复杂性是O(n3)。 当一个问题的所有子问题都至少需要求解一次时,则动态规划算法好于备忘录方法;当子问题空间中的部分子问题可以不必求解时,备忘录算法优于动态规划算法。矩阵连乘积的最优计算次序问题可用自顶向下的备忘录算法或自底向上的动态规划算法在O(n3)计算时间内求解。这两个算法都利用了子问题重叠性质。 矩阵连乘问题问题:给定n个矩阵{A1, A2 , …, An},其中Ai和Ai+1是可乘的,i = 1, 2, …,n-1,要求计算这n个矩阵的连乘积A1A2…An。解题思路:矩阵乘法满足结合律,如果矩阵连乘完全加了括号,则说明计算矩阵连乘的次序也完全确定。完全加括号的矩阵连乘积可以递归定义为: (1) 单个矩阵是完全加括号的; (2) 矩阵连乘积A是完全加括号的,则A可以表示为两个完全加括号的矩阵连乘积B和C的乘积并加括号,即A=(BC)。每一种完全加括号的方式对应于一种矩阵连乘积的计算次序,而这种计算次序与计算矩阵连乘积的计算量有着密切的关系。 矩阵连乘问题示例【例1】三个矩阵{ A1, A2, A3},其连乘积A1A2A3有2种计算次序:A1(A2A3)和(A1A2)A3,矩阵维数分别是10/100、100/5和5/50。分析:若按第一种括号方式计算,则计算三个矩阵连乘积需要的数乘次数为:100*5*50+10*100*50=75,000。若按第二种括号方式计算,则计算三个矩阵连乘积需要的数乘次数为:10*100*5+10*5*50=7,500。对于n个矩阵如何确定矩阵连乘积的最优计算次序?穷举法不是一个有效的算法建立递归关系设计算A[i:j](1≤i≤j≤n)所需的最少数乘次数为
您可能关注的文档
- 第7章 投资性房地产2020.ppt
- 第7章 集成运算放大器及其应用 - 2021.pptx
- 第7章_软件工程项目的团队建设、风险管理及质量管理.pptx
- 第7章编译预处理.ppt
- 第7章-索引结构与散列技术.pptx
- 第8章 金融资产2020.ppt
- 第8章 直流稳压电源 - 2021.pptx
- 第8章_软件测试.pptx
- 第9章 长期股权投资2020.ppt
- 第9章_软件工程项目后评价.pptx
- 2025安徽淮南市纪委监委面向市直机关选调12人备考题库附答案解析.docx
- 2025湖南岳阳市口岸事务中心选调1人行测备考题库附答案.docx
- 2025广东梅州市平远县选调县委组织部人员2人行测备考题库附答案.docx
- 2025教育部教育管理信息中心招聘2人(第二批)(非事业编制)备考题库附答案解析.docx
- 2025四川省经济和信息化厅所属事业单位选调工作人员22人行测备考题库附答案.docx
- 2025四川省市场监督管理局所属事业单位补充选调13人备考题库附答案解析.docx
- 宜宾市宜宾县2022-2023学年数学四年级第一学期期末质量检测模拟测试题(含解析).pdf
- 2025甘肃张掖市阳光人寿保险股份有限公司招聘12人笔试备考试题附答案解析.docx
- 2025广东南粤银行肇庆分行招聘备考题库附答案.docx
- 2026年洛阳汝阳县人力资源和社会保障局公开招聘乡村公益性岗位人员132名备考题库附答案解析.docx
最近下载
- 人教版(新目标)初中英语七年级上全册教案(135页)【全站免费】.doc VIP
- 巨人通力3001007电气原理图纸.清晰.pdf
- (高清版)DB4401∕T 286-2024 《既有住宅加装电梯技术规范》.pdf VIP
- 《煤矿安全规程(2025)》新旧条文对照.doc VIP
- 【国家标准】GBT 5447-2014 烟煤黏结指数测定方法.pdf
- 武汉理工2022年11月离散结构(新)在线考试网考复习资料.pdf VIP
- 现代中药制药.ppt VIP
- 高分子化学与物理基础(魏无际)教材习题解答(含考研模拟题及答案).docx VIP
- Goldwind金风风机GW 165-5.2 5.6 6说明书.pdf
- GB 55009-2021 燃气工程项目规范.pdf VIP
原创力文档


文档评论(0)