动态规划DynamicProgrammingDP.pptVIP

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态规划 (Dynamic Programming: DP) 主要内容 引论 基本思想 解决方案 典型应用 0/1 背包问题(0/1 Knapsack) 矩阵乘法链问题(Matrix Multiplication Chains) 最短路径(All Pairs Shortest Paths) 最大非交叉子集问题(Maximum Non-crossing Subset nets: MNS) 其他应用 最长公共子序列问题(Longest Common Subsequence) 隐马尔可夫模型(Hidden Markov Model) 一个简单的例子:多段图 最短路(1-3-5-7)上的子路径也是到目的节点7的最短路.例如, (3-5-7) 无论最短路的下一跳是{2,3,4}中的那个节点,其后的路径也应是最短路 动态规划基本原理 优化原理(Principle of Optimal) 优化解包含的子问题的解也是优化的 No matter what the first decision, the remaining decisions are optimal with respect to the state that results from this decision 动态规划常用来解优化问题 动态规划是解决多阶段决策过程最优化的一种方法 该方法是由美国数学家贝尔曼(R. E. Bellman)等人在20世纪50年代初提出的。 用于解决生产管理、工程技术等方面的许多问题,并建立了运筹学的一个新的分支,即动态规划 Bellman在1957年出版了《Dynamic Programming》一书,是动态规划领域中的第一本著作 广泛应用于人工智能、生物信息学等诸多领域 多段图:一般情形 多段图:算例 初始化c(7)=0 迭代计算c(6),…,c(1): c(6)=1 c(5)=2 c(4)=8+c(6)=9 c(3)=min{1+c(5),5+c(6)}={3,6}=3 c(2)=min{7+c(5),6+c(6)}={9,7}=7 c(1)=min{1+c(2),4+c(3),6+c(4)}={8,7,15}=7 递归还可从前向后 c(i)=节点1到节点i的最短路的长度 递归从c(1)=0开始 0/1背包问题(0/1 Knapsack) 问题描述 有n种可选物品1,…,n ,放入容量为c的背包内,使装入的物品具有最大效益 表示 n, c 分别为物品个数和背包容量 p1,p2, …, pn为个体物品效益值 w1,w2, …,wn为个体物品容量 问题解析 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),即放物品1和5,是子问题的优化解 因而背包问题满足优化原理 优化值间的递归式 虽然不知道优化解是否放物品1,但从优化原理我们能建立优化值间的递归式 设f(i, y)为以背包容量y,放物品i,…,n,得到的优化效益值,以下递归关系成立: f(1,c)=max{f(2,c), f(2,c-w1)+p1} 先求子问题的优化值(递归),再从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], 优化值为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,

文档评论(0)

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

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

1亿VIP精品文档

相关文档