第六章_贪心法.pptVIP

  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文档。上传文档
查看更多
第六章_贪心法第六章_贪心法

算法分析与设计 主 讲:徐晓蓉 联系电话 邮 箱:rortyrong@163.com 所在院系:计算机科学与技术学院 第六章 贪心法 贪心算法的直观含义 例1.如:找硬币0.15元,要求硬币数最少。找硬币方法就是一种贪心算法. (1)面值;5分、2分、1分: (2)面值:11分、5分、1分: 从此例可以看出: 1,贪心法未必总能求得问题的最优解; 2,贪心算法总是作出在当前看来是最好的选择.也就是说贪心算法不从整体最优上加以考虑,它所作出的选择只是在某种意义上的局部最优选择。 虽然贪心算法不是对所有问题都能得到整体最优解,但对范围相当广的许多问题它都能产生最优解。如单源最短路径问题,最小生成树问题等。 而且,在一些情况下,即使贪心算法不能得到整体最优解,但其最终结果却是最优解的很好的近似解! 6.1 一般方法 贪心方法适合的问题是最优化问题。 最优化问题:有n个输入,而它的解就由这n个输入的满足某些事先给定的约束条件的某个子集组成,而把满足约束条件的子集称为该问题的可行解。显然,可行解一般来说是不唯一的,为了衡量可行解的好坏,问题还给出某个值函数,称为目标函数,使目标函数取极值(极大或极小)的可行解,称为最优解。 6.1 一般方法 贪心方法适合的问题是最优化问题。 最优化问题:有n个输入,而它的解就由这n个输入的满足某些事先给定的约束条件的某个子集组成,而把满足约束条件的子集称为该问题的可行解。显然,可行解一般来说是不唯一的,为了衡量可行解的好坏,问题还给出某个值函数,称为目标函数,使目标函数取极值(极大或极小)的可行解,称为最优解。 6.1 一般方法 贪心法的基本思想: 是依据题意选取一种量度标准,然后按照这种量度标准对这n个输入进行排序,并按序一次输入一个量,作为n-元组的一个分量,如果这个输入量的加入不满足约束条件,则不把此输入加入到部分解向量中. 贪心方法的抽象化控制 算法6.1 贪心法的控制流程 SolutionType Greedy(SType a[],int n) { SolutionType solutions=φ //将解向量solution初始化为空/ for(int i=0;in;i++) { SType x=Select(a); if (Feasiable(solution,x)) solutions=UNION(solution,x); } return solution; } n个输入按某种量度标准排序 6.1 一般方法 贪心法小结: 适合求解的问题:解为n-元组的最优化问题; 贪心法是分步决策,每一步决策产生n-元组的一个分量 贪心法并不是从整体上考虑最佳,而是做当前看来是最佳的选择,这种选择依赖于以前的选择,但不依赖于以后的选择和子问题,故它的特征是自顶向下一步一步地做出贪心决策. 自顶向下:是以迭代的方式作出相继的贪心选择,每一次贪心选择就将所求问题简化为规模更小的子问题. 1.最优量度标准 所谓贪心法的最优量度标准,是指可以根据该量度标准,实行多步决策进行求解,虽然在该量度意义下所做的这些选择都是局部最优的,但最终得到的解却是全局最优的。 因此,选择最优量度标准是使用贪心法求解问题的核心问题. 6.3 背包问题 0-1背包问题: 给定n种物品和一个背包.物品i的重量是Wi,其价值为pi,背包的容量为C.应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有2种选择,即装入背包或不装入背包. 背包问题: 与0-1背包问题类似,所不同的是在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1≤i≤n。 这2类问题都具有最优子结构性质,极为相似,但背包问题可以用贪心法求解,而0-1背包问题却不能用贪心法求解。 6.3 背包问题 已知有n种物品和一个可容纳M重量的背包,每种物品i的重量为wi.假定将物品i的一部分xi放入背包就会得到pixi的效益,这里,0≤xi≤1,pi0.如果这些物品重量的和大于M,要求所有选中要装入背包的物品总重量不得超过M,而装入背包物品获得的总效益最大.即 6.3 背包问题 例6.1 n=3,M=20,P=(25,24,15),W= (18,15,10) 假设物品可分,故有可行解无数个,其中的四个可行解是: (x0,x1, x2) ∑

文档评论(0)

enxyuio + 关注
文档贡献者

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

1亿VIP精品文档

相关文档