11动态规划法、回溯法、分支界限法案例.pptxVIP

11动态规划法、回溯法、分支界限法案例.pptx

  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文档。上传文档
查看更多
Data Structures and Algorithms 数据结构与算法 主讲教师 : 胡金蓉 课件制作:黄襄念 图像处理与模式识别实验室 西华大学计算机与软件工程学院 课程QQ群:259245106 本章授课内容 动态规划法:算法设计思想 动态规划法:数塔问题 动态规划法:非最优化问题例 动态规划法:0-1 背包问题 状态空间搜索 回溯法:算法设计思想 回溯法:n 皇后问题 分支界限法:算法设计思想 分支界限法:15-puzzle 问题 分支界限法:0-1 背包问题 本章授课学时:6 学时 00:28 2/35 动态规划法(Dynamic Programming) 20世纪50年代美国数学家Richard Bellman(理查德 .贝尔曼)提出。 解决问题:某些最优化问题和非最优化问题。 最优化问题:有多个可行解,找到最优解。 穷举法 找出全部解,再从中找出最优解。 缺点:时间效率低。 动态规划法 —— 多阶段决策过程最优化 分段:把求解过程划分为若干个阶段 —— 不能分段(段化)的问题不能用该法求解 求解:按最优原则逐段推进计算,最后得最优解 动态规划法:算法设计思想 00:28 3/35 有一个三角形数塔如图,求一条自塔顶到塔底的路径,该路径上结点值之和最大。 问:分段方向对结果有影响吗?自行验证 问:贪婪法能够得到最优解吗? 塔顶到塔底:13 + 12 + 16 + 15 + 24 = 80 动态规划法:数塔问题 00:28 18 27 39 32 67 46 55 78 67 91 ②逐段推进计算 4/35 动态规划法与穷举法的时间效率比较 输入规模:数塔层数 k , k 0 基本操作:加法 效率类别:无最佳、最差、平均 增长函数 T(k) 各层结点数:1, 2, 3, 4, 5, ...... 数塔层数 k :1, 2, 3, 4, 5, ...... 路径总数 t : 1, 2, 4, 8, 16, ...... t = 2k-1 穷举法: T(k) = (k-1) 2k-1 动态规划法 第 k 层加法次数 = 第 k-1 层结点数×2 T(k) = 2 (k-1+...+3+2+1) = k(k-1) 动态规划法:数塔问题 00:28 5/35 中国象棋“马”的路径 m×n 棋盘,求:马从 P 跳到 Q 的所有路径。 动态规划法:非最优化问题例 00:28 6 5 4 3 2 1 6/35 已知:n 个物品:重量 ( w1,...,wn ),价值 ( v1,...,vn ) 1 个背包:承重量 W 要求:找出价值最大的物品集合,且能装入背包中 最优化模型: xi = 0 — 第 i 个物品不装入 xi = 1 — 第 i 个物品完整装入 蛮力法解: 需穷举 n 个物品集合的全部子集( 2n 个,幂集) 贪婪法解:不一定能找到最优解 动态规划法:0-1 背包问题 00:28 约束条件 目标函数 0-1背包 7/35 分段 物品个数 n 分段 i,背包承重量 W 分段 j V(i, j) : 前 i 个物品最优子集的价值(满足约束) j — 当前剩余承重量 V(0, j) = 0,V(i, 0) = 0 V(i, j) = max { vi + V( i-1, j-wi ) , V( i-1, j) } 递推关系 逐段计算 V(0, 0) → V(n, W) 第1 段:1 个物品,计算各种承重量下的最优价值子集 第2 段:2 个物品,计算各种承重量下的最优价值子集 第n 段:n 个物品,计算各种承重量下的最优价值子集 动态规划法:0-1 背包问题 00:28 i 物品在最优子集中 i 物品不在最优子集中 8/35 算法表 分段计算过程:V(0, 0) → V(n, W) 各段最优计算:V(i, j) = max { vi + V( i-1, j-wi ) , V( i-1, j) } 动态规划法:0-1 背包问题 00:28 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,

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档