第六章动态规划分解.ppt

  1. 1、本文档共154页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明: 1. j-i=m时,求n-m+1个C(i, j),每个C(i, j)从 m个量中取最小值 每个C(i, j) 能够在O(m)的时间内算出。 计算C(i, j) 的时间O(nm-m2) 2. 计算所有C(i, j) 和R(i, j) 总时间: 3.根据Knuth的结论,最优的k可以通过限制检索区间R(i,j-1) ≤k≤ R(i+1,j) 求解,计算时间为O(n2):作业 2. 不需要保存S1i,直接生成Si的过程: Si-1和Si都是按照P和W的递增次序排列的。且Si-1={(P1,W1),…,(Pt-1,Wt-1), (Pt,Wt), …,(Ph,Wh)} 若S1i生成的下一序偶是(PP, WW), WkWW, 1≤k≤t-1 将Si-1中W值WW的所有序偶加入Si, 即(P1,W1),…,(Pt-1,Wt-1) →Si 由支配规则判断 (PP, WW)是否记入Si: (WW ≤ Wt) ①若WW=Wt,则PP←max{PP, Pt} ②若PPPt-1,则(PP, WW) 入Si ③若PP?Pt-1,舍弃(PP, WW) 若Si-1={(P1,W1),…,(Pt-1,Wt-1), (Pt,Wt),..., (Ph,Wh)} Si的最末序偶是(Pb, Wb),且WkWb , t≤k≤h, 由支配规则判断Si-1中W值Wb的序偶(Pk,Wk) 是否记入Si : ①若WkWb ,且Pk≤Pb,则舍弃(Pk,Wk) ②否则Si-1中剩余所有的(Pk,Wk) 记入Si 。 0/1背包问题的算法 Line Procedure DKNAP(p, w, n, M, m) 思想:由Si-1直接生成Si,不保存S1i. 算法中用到的指针: l=F(i-1),Si-1中第一对序偶的指针(下界); h是Si-1中最末序偶的指针(上界),h=next?1; u指出在Si-1中,对于uj≤h的所有Wj,有Wj+wiM,即指示S1i中最后一对序偶; i生成Si,1≤i≤n j生成S1i的指针, l≤j≤u k是Si-1中的当前指针,指向Si-1中正在考虑是否并到Si中去的序偶, l≤k≤h 。 next是指向Si的指针,开始next = h 过程DKNAP的分析 空间复杂度:假设Si的序偶数是|Si| 若i0,每个Si由Si-1和S1i归并而成,且|S1i|≤| Si-1|,因此,|Si|≤2| Si-1|。 在最坏情况下没有序偶被清除, |S0|=1, |S1|=2, |S2|=22, …,|Sn-1|=2n-1. DKNAP的空间复杂度为O(2n)。 时间复杂度: 由Si-1生成Si需要时间Θ(|Si-1|) 计算S0,S1,…,Sn-1的时间是Θ(?|Si-1|)。而| Si|≤2i,计算这些Si总的时间是O(2n)。 时间复杂度: 若Si中每个wi和pi都是整数,则每个序偶(P, W)的P和W也是整数, ,W≤M. 而在任一Si中,序偶有互异的P值,和互异的W值,因此有: 和 于是在所有wj和pj为整数的情况下,DKNAP的时间和空间复杂度(除去PARTS的时间)是O(min{2n, ,nM})。 对于n取大值时DKNAP的有效性是令人失望的。而实际上,这类问题在很多情况下都能在“适当的”时间内解出,原因如下: 1. 在很多情况下p和w都是整数,而M比2n小很多。 2. 支配规则很有效, 可删除许多不应并入Si的序偶。 3. 利用启发式方法,加速DKNAP的计算。 用启发式方法(heuristic)加速DKNAP计算 1.给出最优解fn(M)的估计值L,fn(M)≥L; 2.设 (距最优解的距离) 3.若序偶(P, W)?Si,且P+PLEFT(i)L,则从Si中清除掉(P, W)。 (因为(P,W)最多只能对S1n产生序偶 而 (P, W)不可能导致最优解fn(M),可删去。) 找fn(M)的估计值L的两种方法: 1. 取Si的最末序偶(P,W)的P作为L. 此时,P≤fn(M) . (灵活,随时可变) 2. 更好的一种估计值是将某些剩余物品的p值与这个P值加在一起作为L. 例6.15 考虑下列

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档