- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
贪婪的动态规划 ——浅谈贪心思想在动态规划中的应用 绍兴县柯桥中学 黄劲松 引言 目录 贪心思想在动态规划中的应用 确立状态 [例一]青蛙的烦恼(详见论文) [例二]The Horse Racing 优化算法 [例三]石子归并(详见论文) [例四]The Lost House 贪心思想在动态规划中的应用一: 确立状态 动态规划当中,状态的确立是重点 而在实际的解题过程中,状态信息往往是隐含的 这个时候,合理的运用贪心思想,可以迅速的从繁芜丛杂的问题背景中巧妙地抽象出状态 [例二]The Horse Racing 齐王和田忌各派出N匹马(N≤2000) 每匹马都有一个固定的速度值 每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱 请你扮演一下孙膑,帮助田忌赢最多的钱 [例二] The Horse Racing 这个问题很显然可以转化成一个二分图最佳匹配的问题 把田忌的马放左边,把齐王的马放右边 如果田忌的马胜,则连一条权为200的边; 如果平局,则连一条权为0的边; 如果输,则连一条权为-200的边。 [例二] The Horse Racing 运用贪心思想分析问题: 田忌掌握有比赛的“主动权”,他总是根据齐王所出的马来分配自己的马去对抗齐王的马 可以假设齐王按照马的强弱顺序由强到弱出马 [例二] The Horse Racing 最强的马战平时,单一的贪心策略存在反例 光是打平比赛 田忌的马 1 2 3 齐王的马 1 2 3 [例二] The Horse Racing 最强的马战平时,单一的贪心策略存在反例 光是输掉比赛 田忌的马 2 3 齐王的马 1 3 [例二] The Horse Racing “田忌出马不是出最强的,就是出最弱的” 用f[i,j]表示齐王出了i匹较强的马和田忌的j匹较强的马,i-j匹较弱的马比赛之后,田忌所能够得到的最大盈利。 其中g[i,j]表示齐王和田忌的马分别按由强到弱的顺序排序之后,田忌的第i匹马和齐王的第j匹马赛跑所能取得的盈利,胜为200,负为-200,平为0。 小结1 抛弃了原本直观而低效的算法 结合贪心思想分析问题 用合理的假设得到了“田忌出马不是出最强,就是出最弱”的信息 因此得知可以用动态规划求解且确立出动规状态 贪心思想在动态规划中的应用二: 优化算法 一些题目虽然容易确立出状态以及轻松的写出状态转移方程,但是直观上的算法往往效率不高 而贪心历来是与高效一词密不可分的 运用好贪心思想能够使原来效率低下的算法得到重生 [例四]The Lost House 蜗牛从根结点出发开始寻找它遗失在某个叶子结点的房子 一些中间结点上住着的虫子会告诉蜗牛它的房子是否在以这个点为根的子树上 房子遗失在每个叶子结点的概率都是相等的 求蜗牛找到房子的最小数学期望步数(走过一条边算作一步) [例四]The Lost House [例四]The Lost House [例四]The Lost House [例四] The Lost House 问题的关键是如何决定儿子的访问顺序 一种直观的方法是枚举所有可能访问顺序,复杂度是O(nk!),实在是很低效 上述算法存在冗余, 我们再用一次动态规划的话,可以将复杂度降为O(n2kk),勉强可以接受了 [例四] The Lost House 对交换前后的Fa[u]值做差 这只跟元素v和v+1本身的信息有关! 因此如果交换后的值优秀的话,那么v+1一定放在v的前面 小结2 从原始的动态规划入手 运用贪心思想除去算法中的冗余 最终达到优化算法的目的 回顾与总结 贪心思想在动态规划中的两种简单应用 回顾与总结 Thank you for listening! * * 转移困难 在动态规划的解题中我们面临着两大困难 1、不知道是否可以用动态规划求解 2、直观的动态规划算法过于低效 在这个时候,巧妙的使用贪心思想,将其融入到动态规划中,动态规划便焕发出了新的光彩 状态过于庞大 时间复杂度过大,无法满足要求 田忌 齐王 200 0 -200 齐王最强的马 田忌最强的马 用田忌最差的马去输给齐王最强的马 输给 能赢 用田忌最强的马去战胜齐王最强的马 战平 用田忌最强的马去打平齐王最强的马 或者 用田忌最差的马去输给齐王最强的马 收益为0 收益为200 收益为200 收益为0 O(n2) 树上的结点个数n最多为1000,每个结点的分叉数k最多为8。 (1+4+6)/3 = 11/3 蜗牛从根结点1出发开始寻找它的房子 它的房子可能遗失在叶结点2、4、5上 在结点3上住着一只虫子,它会告诉蜗牛,房子是否在以3为根的子树上 这种走法没有充分发挥虫子在这里的作用! (3+2+4)
文档评论(0)