- 1、本文档共127页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
回溯第2阶段 d(2,{3,4}) = min{2+5,3+11} = 7 {2,3,4,1} d(3,{2,4}) = min{4+6,2+12} = 10 {3,2,4,1} d(4,{2,3}) = min{7+8,5+9} = 14 {4,3,2,1} 回溯第1阶段 d(1,{2,3,4}) = min{3+7,6+10,7+14} = 10 {1,2,3,4,1} 计算过程 动态规划解货郎担问题求解过程示意图 * * 虽然动态规划主要用于求解以时间划分阶段的动态过程的优化问题,但是一些与时间无关的静态规划(如线性规划、非线性规划),只要人为地引进时间因素,把它视为多阶段决策过程,也可以用动态规划方法方便地求解。 从n中任选2个 * * 算法描述了矩阵填充的过程: r为当前斜线起始列号(长度) i控制当前斜线元素行号 J控制当前斜线元素列号 * * 由此可见,用递归计算,许多子问题被重复计算多次。动态规划算法恰好可克服这缺陷。 用动态规划算法解此问题,可依据其最优值递归定义以自底向上的方式进行计算。在计算过程中,保存已解决的子问题答案。每个子问题只计算一次,而在后面需要时只要简单查一下,从而避免大量的重复计算,最终得到多项式时间的算法。 * 只有相等时,才是左上角+1;其他的2种情况都不加1,而是相等 * 算法分析:由于每次调用至少向上或向左(或向上向左同时)移动一步,故最多调用(m + n)次就会遇到i = 0或j = 0的情况,此时开始返回。返回时与递归调用时方向相反,步数相同,故算法时间复杂度为Θ(m + n)。 回溯输出最长公共子序列过程: * * * * 设(x1,x2,...,xn)是所给0-1背包问题的一个最优解,则(x1,x2,...,xn-1)是下列子问题的最优解。 (1)最优子结构性质 * 如果(x1,x2,...,xn)是所给0-1背包问题的最优解,则(x1,x2,...,xn-1)是下列子问题的最优解。 证明0-1背包问题具有最优子结构性质 利用反证法证明。 证明:假设(x1,x2,...,xn-1)不是最优解, 而(y1,y2,...,yn-1)是最优解。 * 假设(x1,x2,...,xn-1)不是最优解, 而(y1,y2,...,yn-1)是最优解。 由此可知, 因此, 上述结果说明: (y1,y2,...,yn-1,xn)是所给0-1背包问题 的更优解。与前提矛盾。 * (2)递归关系 的最优值为m(i,j),即m(i,j)是背包容量为j,可选择前i个物品时0-1背包问题的最优值。由0-1背包问题的最优子结构性质,可以建立计算m(i,j)的递归式如下。 边界值:m(i,0) = m(0,j) = 0; 令V[i,m]表示将前i个物品装入重量为w的背包中所能获得的最大价值,即子问题(i,w)的最大价值。现在考虑两种情况: (1)物品i能够放进背包:则子问题(i,w)的最优解取决于物品i是否放进去: ①如果物品i不放进去,则有V[i,w]=V[i-1,w] ②如果物品i放进去,则有V[i,w]=V[i-1,w-wi]+vi 上述两种选择,我们可以做最优选择 V[i,w]=max{V[i-1,w] ,V[i-1,w-wi]+vi} (2)物品i无法放入背包:则子问题(i-1,w)的最优解一定是子问题(i,w)的最优解。即: V[i,w]=V[i-1,w] * * 假设有5个物品,其重量分别为(2,2,6,5,4);价值分别为(6,3,5,4,6),背包的载重量为10,求装入背包的最大价值。 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 0 0 6 6 9 9 9 9 9 9 9 0 0 6 6 9 9 9 9 11 11 14 0 0 6 6 9 9 9 10 11 13 14 0 0 0 6 9 6 12 12 15 15 15 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 物品i Wi Vi 1 2 6 2 2 3 3 6 5 4 5 4 5 4 6 * 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 0 0 6 6 9 9 9 9 9 9 9 0 0 6 6 9
文档评论(0)