动态规划与回溯法解决0-1背包问题.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用文档 0-1 背包动态规划解决问题 一、问题描述: 有 n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品 具有最大的价值总和? 二、总体思路: 根据动态规划解题步骤 (问题抽象化、建立模型、 寻找约束条件、 判断是否满足最优性原理、 找大问题与小问题的递推关系式、填表、寻找解组成)找出 01 背包问题的最优解以及解组 成,然后编写代码实现。 三、动态规划的原理及过程: number =4 ,capacity =7 i 1 2 3 4 w( 重量 ) 3 5 2 1 v( 价值 ) 9 10 7 4 原理: 动态规划与分治法类似, 都是把大问题拆分成小问题, 通过寻找大问题与小问题的递推 关系, 解决一个个小问题,最终达到解决原问题的效果。 但不同的是, 分治法在子问题和子 子问题等上被重复计算了很多次, 而动态规划则具有记忆性, 通过填写表把所有已经解决的 子问题答案纪录下来, 在新问题里需要用到的子问题可以直接提取, 避免了重复计算, 从而 节约了时间, 所以在问题满足最优性原理之后, 用动态规划解决问题的核心就在于填表, 表 填写完毕,最优解也就找到。 过程: a) 把背包问题抽象化 (X ,X , …,Xn ,其中 Xi 取 0 或 1 ,表示第 i 个物品选或不选) , 1 2 表示第 i 个物品的价值, W 表示第 i 个物品的体积(重量); Vi i b) 建立模型,即求 max(V X +V X + … +VnXn) ; 1 1 2 2 c) 约束条件, W 1X1+W 2X2 + … +WnXncapacity ; d) 定义 V(i,j) :当前背包容量 j ,前 i 个物品最佳组合对应的价值; e) 最优性原理是动态规划的基础, 最优性原理是指 “多阶段决策过程的最优决策序列具 有这样的性质: 不论初始状态和初始决策如何, 对于前面决策所造成的某一状态而言, 其后 各阶段的决策序列必须构成最优策略 ”。判断该问题是否满足最优性原理, 采用反证法证明: 假设 (X ,X ,…,Xn) 是 01 背包问题的最优解,则有 (X ,X ,…,Xn) 是其子问题 1 2 2 3 的最优解, 假设 (Y ,Y , …,Yn) 是上述问题的子问题最优解,则理应有 2 3 (V2 Y2 +V 3Y3 + … +VnYn)+V 1X1 (V 2 X2 +V 3X3 + … +VnXn)+V 1X1; 文案大全 实用文档 而(V X +V X + … +VnXn)+V X =(V X +V X + … +VnXn) ,则有 2 2 3 3 1 1 1 1 2 2 (V2 Y2 +V 3Y3 + … +VnYn)+V 1X1 (V 1X1 +V 2 X2 + … +VnXn) ; 该式子说明 (X ,Y ,Y , …,Yn) 才是该 01 背包问题的最优解,这与最开始的假设 1 2 3 ,X ,…,Xn) 是 01 背包问题的最优解

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档