- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.6 0/1背包问题 4.6.1 0/1背包问题的描述 4.6.2 0/1背包问题的性质 4.6.3 0/1背包问题的动态规划解法示例 4.6.4 0/1背包问题的动态规划解法的步骤 4.6.5 动态规划解决0/1背包问题的复杂度分析 4.6.6 问题与思考 4.6.1 0/1背包问题的描述 背包问题:给定n种物品和一个背包,物品i的重量是wi, 其价值为vi, 背包的容量为C。如何选择装入背包的物品,使得背包中物品总价值最大? 连续背包问题:每一个物品是可以分割的,分割后保持其价/重比 0-1背包问题:如果背包问题的每一种物品都不能分割:要么装入,要么不装入,不能装入一部分,又该如何选择物品,使得装入背包后总价值最大? 4.6.2 0/1背包问题的性质 假设物品共有n个,背包的承重总量为m,第i个物品的重量是wi,价值是pi。 用Ti(j)表示前i个物品有选择地放入载重量为j的背包中的最大价值。有如下递推关系: 当第i个物品的重量大于背包重量时,可以不考虑这个物品;相反,可以分为第i个物品放入背包和不放入背包两种情况:不能放入时,变为前(i-1)个物品的背包问题;能放入时,变为前(i-1)个物品的、背包承重量减少wi的背包问题 4.6.3 0/1背包问题的动态规划解法示例 12 11 11 8 8 6 3 3 0 4 12 12 9 8 8 5 3 3 0 3 7 7 7 7 7 4 3 3 0 2 4 4 4 4 4 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 8 7 6 5 4 3 2 1 0 4个物品,重量3, 1, 3, 2价值是4, 3, 5, 3,背包总量8 +3 +3 +3 +3 +3 +3 +3 +3 +5 +5 +5 +5 +5 +5 +3 +3 +3 +3 +3 +3 +3 +4 +4 +4 +4 +4 +4 从表的最后1行得2种方案:分别是(1,2,3), (1,3,4) 4.6.4 0/1背包问题的动态规划解法的步骤 按照物品数量n把问题划分为n+1个阶段 每个阶段按照背包重量分为m+1种情况 每种情况按照递推公式以O(1)的时间计算得到结果,且每个阶段的计算仅仅与前一阶段有关系 计算至最后一个阶段的最后一个元素,就是问题的最大值;通过回溯可以发现0-1背包问题的各个阶段的选择 4.6.5 动态规划解决0/1背包问题的复杂度分析 假设物品的总数为为n;背包的总容量为m 问题可以分解为n+1个阶段,每个阶段要进行m+1个O(1)的计算和比较操作 动态规划解决0-1背包问题的时间复杂度是O(mn) 动态规划解决最长公共子列问题的空间复杂度是O(mn)。如果只计算最优值,则空间复杂度是O(m) 4.6.6 问题与思考 这个背包问题是不是普通的0-1背包问题?它做了哪些限制? 关于物品重量和背包承重量的要求是什么? 对普通的情况如何进行近似计算? * 第6章 动态规划 1. 动态规划的思想 2. 采用动态规划解决问题的先决条件 3. 动态规划法求解的一般步骤 4. 动态规划法示例 5. 动态规划法总结 1. 动态规划的思想 有一类问题,它们的活动过程往往划分为若干阶段,每一阶段决策依赖于前一阶段的状态,由决策所采取的动作使状态发生转移,成为下一阶段的依据 动态规划方法试图在每一个阶段上按照前一阶段的状态决定自己的选择;如果本阶段不知道哪个状态是否最优,那么它会把它所掌握的信息转告给下一阶段 动态规划就是累积各阶段的最优,以达到全局的最优 2. 采用动态规划解决问题的先决条件 问题可以分阶段 满足最优性原理:无论过程的初始状态和初始决策是什么,其余决策都必须相对于初始决策产生的状态,构成一个最优决策序列 3. 动态规划法求解的一般步骤 明确划分问题的阶段 从问题的初始端或终结端开始,分阶段依次进行最优状态选择 从另一端开始回溯,确定全局最优解包含哪些阶段性选择 4. 动态规划法示例 4.1 钓鱼问题 4.2 多段图最短路径问题 4.3 资源分配问题 4.4 最长公共子序列问题 4.5 最长不升自序列问题 4.6 0/1背包问题 4.7 村庄和邮局问题 4.8 最大子段和问题 4.1 钓鱼问题 4.1.1 钓鱼问题的描述 4.1.2 钓鱼问题的动态规划解法示例 4.1.3 钓鱼问题的动态规划解法的步骤 4.1.4 动态规划解决钓鱼问题的复杂度分析 4.1.1 钓鱼问题的描述 钓鱼者要从n [20, 40]个池塘中钓鱼。这些池塘在一条直线上,从一个池塘移动到另一个池塘需要1个时间单位;一个时间单位之中该人能够从池塘j中钓到鱼fj条,但下一个时间单位内能钓到鱼的数量会按照某个函数递减。给定若干个时间单位[100, 300],该钓鱼者能够最多钓到多少条鱼? …… 4.1.2 钓鱼问题的动态规划解法示例
您可能关注的文档
最近下载
- 咽喉用药市场白皮书.pdf VIP
- 临时用电施工方案.doc VIP
- 民族区域自治制度优秀教学课件.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第10章-使用 Python 语言实现机器学习模型-回归分析.pdf VIP
- Lesson 3 at the seaside(课件)典范英语三年级上册.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第9章-机器学习概述.pdf VIP
- 主体性概念的历史演变与理论探讨.docx VIP
- 普外科质量与安全管理小组活动记录.docx VIP
- 医院急性创伤患者救治流程.pdf VIP
- 讲义 16 分式讲 16 分式.doc VIP
文档评论(0)