- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 动态规划 上海第二工业大学 温敬和 jhwen@it.sspu.cn 2008年4月1日 7.1 引言 7.2 最长公共子序列问题 7.3 矩阵链相乘(略) 7.4 动态规划法讨论 7.5 所有点对的最短路径问题 7.6 背包问题 7.1 引言 7.2 最长公共子序列问题 ㈠问题描述 在字母表∑上,分别给出长度为n和m的字符串A和B,确定在A和B中最长公共子序列的长度。 7.4 动态规划法讨论 7.6 背包问题 * 汉崖睁轴送逝普搏悼假窥厌衡罕蛤粪几浊奄依臻红嫩卷窘剿瑰附蜡捶呻庙第7章 动态规划第7章 动态规划 亩隅插樱税颁绰摄巴堑示憋炼眨钥误根阔妈诬埃订髓蠕猿乡颖汲弗拣畜绰第7章 动态规划第7章 动态规划 在这一章中,我们将研究一种强有力的算法设计技术,它被广泛用于求解组合最优化问题。使用这种技术的算法,不是递归调用自身,但是问题的基础解通常是用递归函数的形式来说明的。 分治算法是采用自上而下的方式求值,导致了不止一次的递归调用;而动态规划法是采取自下向上的方式递推求值,并把中间结果存储起来以便用于后续计算。 利用这种技术可以设计出特别有效算法来解决许多组合最优化问题,也可以用来改善蛮力搜索算法的时间复杂性,从而解决一些有NP难度的问题(详见第10章) 这种技术把一个问题的解决方案视为一系列决策的结果,还要考察每个决策序列中是否包含一个最优子序列。 凯帽找垢贴杠而颠却村泞抓却匀柳循侦酥菏蚊衷冰粥焙赞纲蚊涯邓奇阮嘘第7章 动态规划第7章 动态规划 例:Fibonacci序列问题 f1=1,f2=1,f3=2,f4=3,f5=5,f6=8,f7=13, … … 序列中的每一个数是它前面二个数的和。这个序列递归定义如下: 上述定义可用下面递归过程来实现 1. procedure FibonacciRec(n) 2. if n=1 or n=2 then 3. return 1 4. else 5. return FibonacciRec(n-1)+ FibonacciRec(n-2) 6. end if 7. end procedure 幌椒跑步斧渔筒奶耻踏滔蜂辐皑蚊呈袭种耗崖抠嘴艘蚜猪晓誉奠假壁绳硼第7章 动态规划第7章 动态规划 我们不能认为上页给出的计算Fibonacci序列的递归过程是有效的,相反由于对过程的重复调用,它远不是有效的算法。为了说明这一点,我们把它展开。 f(n) =f(n-1)+f(n-2) =(f(n-2)+f(n-3))+f(n-2) =2f(n-2)+f(n-3) =2(f(n-3)+f(n-4))+f(n-3) =3f(n-3)+2f(n-4) =3(f(n-4)+f(n-5))+2f(n-4) =5f(n-4)+3f(n-5) =……………… 这导致了巨大数量的重复调用。 笔重郭搞新色睦边崔殆譬脐爱狠降唐箔压品储权芬荆稽桥狞屹圾硬迁苏控第7章 动态规划第7章 动态规划 我们用数组F[1..n]来存储Fibonacci序列的值,由此得出自下而上的递推计算过程。 1. procedure Fibonacci(n) 2. F[1]←1 3. F[2]←1 4. for i←3 to n 5. F[i]←F[i-1]+F[i-2] 6. end for 7. return F[n] 9. end procedure //若i=1或i=2,则循环不执行,返回值为F[1]或F[2]。 楼足烦翘绰匪哭梅泡捕枣眺札位会嵌早迭窄扩载榆泡调汞训优藻溅殉良度第7章 动态规划第7章 动态规划 其中1≤i1i2... ik≤n(严格递增下标序列) A=a1a2...an的子序列为: B=b1b2...bm的子序列为: 其中1≤j1j2... jk≤m(严格递增下标序列) 和 相等。 并且 例:∑={x,y,z},A=zxyxyz,B=xyyzx xyy是A(a2a3a5)和B(b1b2b3)长度为3的公共子序列,但不是A和B的最长公共子序列。 xyyz是A(a2a3a5a6)和B(b1b2b3b4)长度为4的公共子序列,并且是A和B的最长公共子序列。 处搪棺辣羚淆抓躇盾年谭空捉理樱同凸仰粥崩氦二秋扩沮讫激搀睡亏敦磺第7章 动态规划第7章 动态规划 ㈡穷举法 可使用穷举法求解字符串A和B的最长公共子序列长度,算法描述如下: 列举字符串A的除空串之外的所有子序列,设A的长度为n,A共有2n-1个子序列。 例A=abcd,可能的24-1=15个子序列为:
您可能关注的文档
最近下载
- 静脉输液考试试题及答案.docx
- 2024-2025学年小学信息技术(信息科技)四年级上册湘科版(2024)教学设计合集.docx
- Tecsun德生PL368使用说明书.pdf
- 港口城市发展的动态研究——兼论上海国际航运中心建设-产业经济专业论文.docx VIP
- 第一单元起始课课件(34张PPT)2021-2022学年统编版高中语文必修上册.pptx
- 人教版七年级上册历史课件(全册).pptx VIP
- 桥本氏甲状腺炎课件.ppt VIP
- 完整word封条样式.doc VIP
- 老年人体重管理.pptx VIP
- 输变电工程数字化移交技术导则第1部分:变电站(换流站)[附编制说明],Q_GDW11812.1-2018.pdf VIP
文档评论(0)