- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter15 动态规划
数据结构与算法 Chapter14 动态规划(Dynamic Programming: DP) 本章教学内容 算法思想 算法应用 0/1背包问题 图像压缩 矩阵乘法链 最短路径 网络的无交叉子集 元件折叠 动态规划求解的问题 动态规划常用来解优化问题 动态规划是解决多阶段决策过程最优化的一种方法; 该方法是由美国数学家贝尔曼(R. E. Bellman)等人在20世纪50年代初提出的。 用于解决生产管理、工程技术等方面的许多问题,并建立了运筹学的一个新的分支,即动态规划; Bellman在1957年出版了《Dynamic Programming》一书,是动态规划领域中的第一本著作; 广泛应用于人工智能、生物信息学等诸多领域。 动态规划算法思想 动态规划问题示例1-最短路径 动态规划基本原理 优化原理(Principle of Optimal) 优化解包含的子问题的解也是优化的。 动态规划方法采用最优原则来建立用于计算最优解的。 【最优原则】不管前面的决策如何,此后的决策必须是基于当前状态的最优决策; 若不能保持最优原则,则不可应用动态规划方法。 动态规划问题示例2- 0/1背包问题(0/1 Knapsack) 【问题描述】 有n种可选物品1,…,n ,放入容量为c的背包内,使装入的物品具有最大效益。 表示 n :物品个数 c :背包容量 p1,p2, …, pn:个体物品效益值 w1,w2, …,wn:个体物品容量 0/1背包问题(0/1 Knapsack) 【问题解析】 0/1背包问题的解指:物品1,…,n的一种放法(x1, ···,xn的0/1赋值),使得效益值最大。 假定背包容量不足以装入所有物品:面临选择 【优化原理】无论优化解是否放物品1,优化解对物品2,…,n的放法,相对剩余背包容量,也是优化解。 背包问题满足的优化原理 (1,1,0,0,1)为其优化解,即放物品1,2,5 物品1占背包容量2,剩下容量为8 考虑子问题:n=4,c’=8,物品为2,3,4,5 (1,0,0,1),即放物品2和5,是子问题的优化解 因而背包问题满足优化原理 优化值间的递归式 虽然不知道优化解是否放物品1,但从优化原理我们能建立优化值间的递归式 设f(i, y)为以背包容量y,放物品i,…,n,得到的优化效益值,以下递归关系成立: f(1,c)=max{f(2,c), f(2,c-w1)+p1} 不放物品1、放物品1 先求子问题的优化值(递归),再从2种可能性中求出最优的。 须对任意给定容量y,任意i,…,n 种物品求解子问题。 0/1背包问题:一个简单的例子 放进物品1(x1 = 1),背包容量还剩r=16, [x2,x3]= [1,0] 为子问题的优化解,值为18,总效益值为20+18=38 不放物品1(x1= 0)则对于剩下的两种物品而言,容量限制条件为116,[1,1]为子问题优化解,值为33。 前者效益值为38,后者为33; 所以优化解为[1,1,0], 优化值为max{38,33}=38。 0/1背包问题:递归关系 令f(i,y) 表示容量为y,物品i,i+1,···,n 的优化效益值,按优化原理可列递归关系如下: 0/1背包问题:例15-4 初始化: 0/1背包问题:例15-4 (解续2) 求解优化解:回溯(traceback)方法计算x1,…,xn值: f(1,c) =f(2,c)=x1=0;否则x1=1,c=c-w1。 x2: f(2,c)=f(3,c)= x2=0 否则x2=1,c=c-w2 xi: f(i,c)=f(i+1,c)= xi=0 否则xi=1,c=c-wi 该例中, f(2,116)=33≠f(1,116),所以x1=1。 剩余容量=116-100=16, f(2,16)=18,f(3,16)= 14≠f(2,16),因此x2=1 此时r=16-14=2,不足以放物品3,所以x3= 0 动态规划算法思想 动态规划基本步骤 1、 找出最优解的性质,并刻划其结构特征。 2、 递归地定义最优值。 3、 以自底向上的方式计算出最优值。 4、 根据计算最优值时得到的信息,回溯(traceback)构造最优解。 动态规划小结-算法复杂性 算法复杂性 动态规划递归方程往往不能直接用递归实现, 会引发大量重复计算,算法的计算量将非常可观。最好是用迭代法求解动态规划法列出的递归方程。 迭代实现需要存贮所有子问题的优化解的值,因此动态规划法设计的算法往往需要较大的存储空间。 算法的复杂性来自子问题的数目,通常子问题的数目往往很大。 2、动态规划的应用 0/1背包问题 图像压缩 最短路径 (1)动态规划的应用-1:0/1背包问题-设计策略 1. 递归方法 2. 权为整数的迭代方法 3. 元组方法
您可能关注的文档
最近下载
- 消渴病(2型糖尿病)中医临床路径方案临床疗效总结分析报告.docx VIP
- 碳排放监测员职业理论考试题及答案.doc VIP
- 肿瘤标志物ppt课件.pptx VIP
- 碳排放监测员(高级)技能鉴定考试题及答案.doc VIP
- 项目管理知识体系指南.pdf VIP
- BactAlert 3D 240 型自动血培养分析仪仪器操作规程 (一) 检测原理.pdf VIP
- 35KV电抗器试验报告.doc VIP
- DG_TJ08-2401-2022:桥梁工程超高性能混凝土应用技术标准.pdf VIP
- 2024年新苏科版八年级上册物理课件 第二章 第四节 光的反射.pptx VIP
- 道路施工技术交底大全.pdf VIP
文档评论(0)