- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 动态规划详解
动态规划法解01背包 动态规划法解01背包 问题描述 已知:n 个重量 w1,...,wn、价值 v1,...,vn 的物品和一个承重量W的背包。 要求:找出最有价值子集,且能装入背包中(不超重)。 假定:物品重量、背包承重量、物品数量(01背包)都是整数。 01背包的最优化描述:(xi = 0:i 物品不装入, xi = 1:i 物品装入) 求满足约束方程的是目标函数达到最大的解向量 X = (x1 , ... , xn) 。 穷举n个物品全部组合(幂集,子集数=2n),从中找出最有价值子集。 贪婪法不一定能找到最优解。 物品数 承重量 动态规划法求解01背包 动态规划法求解01背包 分段: 动态规划法策略是将问题分成多个阶段,逐段推进计算,后继实例解 由直接前趋子实例解计算得到。对于01背包问题,可利用减一技术和 最优性原则,按物品数量和背包承重量分段。 V(i, j) —— 前 i 个物品中能够装入承重量 j 的背包中的最大总价值。 前 i 个物品中最优子集的总价值(动态规划函数): V(0, j) = 0(0个物品),V(i, 0) = 0(承重量0) V(i, j) = V(i-1, j) 第 i 个物品不能装入, j wi (超重) V(i, j) = max { vi+V(i-1, j-wi ) , V(i-1, j) } j wi (不超重) i在最优子集中 i不在最优子集中 自底向上计算:V(i, j)→V(n, W) (i:0→n, j:0→W)目标 V(n, W) 第1阶段:装入1个物品,计算各种承重量下的最优价值子集; 第2阶段:装入2个物品,计算各种承重量下的最优价值子集; 第n阶段:装入n个物品,计算各种承重量下的最优价值子集。 动态规划法解01背包问题的算法表 动态规划法解01背包问题的算法表: 前 i 个物品中最优子集的总价值(动态规划函数): V(0, j) = 0(0个物品),V(i, 0) = 0(承重量0) V(i, j) = V(i-1, j) 第 i 个物品不能装入, j wi (超重) V(i, j) = max { vi+V(i-1, j-wi ) , V(i-1, j) } j wi (不超重) i在最优子集中 i不在最优子集中 V j=0 ...... j - wi ...... j ...... j=W i=0 0 ... 0 ... 0 ... 0 ... ... i - 1 0 V(i-1, j-wi) V(i-1, j) i 0 V(i, j) ... ... i=n 0 V(n, W) 说明:可按行(或列)填写此表。 目标 动态规划法解01背包问题算例 动态规划法解01背包问题算例 例:01背包数据如下表,求:能够放入背包的最有价值的物品集合。 物品 i 重量 wi 价值 vi 承重量 W 1 w1=2 v1=12 W=5 2 w2=1 v2=10 3 w3=3 v3=20 4 w4=2 v4=15 V j=0 1 2 3 4 5 i=0 0 0 0 0 0 0 1 0 0 12 12 12 12 2 0 10 12 22 22 22 3 0 10 12 22 30 32 4 0 10 15 25 30 37 自底向上:按行或列填表。递推公式: 例如: 接下来,找出最优解的物品集合。 动态规划法解01背包问题算例(续) 通过最优解的回溯,找出最优子集为 { w1 , w2 , w4 } 最优解有w4 最优解无w3 最优解有w2 最优解有w1 最 优 解 回 溯 2 01背包的动态规划算法(带记忆功能) 01背包的动态规划算法(带记忆功能) 算法递推式: V(i, j) = max { V(i-1, j), vi+V(i-1, j-wi) } 交叠子问题: 直接用递推式设计递归算法,产生交叠子问题,重复计算公共子问题,算法效率低下(指数级甚至更差)。 避免交叠子问题的递归算法: 递归过程(内层为更小子问题)是自顶向下的(规模减小),缺点是 将产生交叠子问题。动态规划算法采用自
您可能关注的文档
最近下载
- HG╱T 3655-2012 紫外光(UV)固化木器涂料.pdf
- 人民警察警示教育观看心得.docx VIP
- Q-GDW-智能变电站辅助控制系统设计技术规范.pdf
- 外教社2023中国文化英语综合教程 上册 Unit 3 PPT课件(试用版).pptx
- 乡镇临床执业助理医师:甲状腺功能亢进症考试题.docx VIP
- 冀教版七年级上册数学《角的大小》教学说课研讨课件复习.pptx VIP
- 全国智能制造应用技术技能竞赛题及答案.doc VIP
- 智慧园区管理平台建设方案.pdf
- XX职业技术学院关于大数据与会计专业实习的实施方案.docx
- GBT 50034-2024 建筑照明设计标准.docx VIP
文档评论(0)