- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第05章贪婪法
第五章 贪婪法 5.1 贪婪法引言 5.2 背包问题 5.3 单源最短路径问题 5.4 最小花费生成树问题 5.5 霍夫曼编码问题 5.1 贪婪法引言 一 货币兑付问题 二 贪婪法的设计思想 三 贪婪法的例子_货郎担问题 5.1 贪婪法引言 一 货币兑付问题 货币兑付问题:用最少的货币张数支付现金 集合 表示 n 张面值为 的货币,1 ? i ? n 出纳员需支付的现金为 A,从 P 中选取一个最小的子集 S, 使得 ? 用向量 表示 S 中所选取的货币,使得 ? 出纳员支付的现金必须满足 使得: 货币兑付问题(续) 解向量:问题中 n 个元素的具体取值所构成的向量 解空间:问题中 n 个元素的各种不同取值组合所构成的向量 全体 约束方程:问题中的限制条件所列出的方程 目标函数:问题求解所要达到的目标 可行解:满足约束方程的向量 最优解:使目标函数达极值的向量 1. 贪婪法的思想方法 不断地从问题的 n 个元素中选取一个最优的元素的取值,作为局部解向量中的一个分量,使其既满足约束方程,又使目标函数取极值最快,当 n 个元素的取值均求取之后,解向量就成为完整的向量,它就是问题的解 2. 贪婪法的一般描述 greedy(A, n) { solution = ?; for (i=1; in; i++) { x = select(A); if (feasible(solution,x)) solution = union(solution,x); } return solution; } 3. 适于用贪婪法求解的条件 1)贪婪选择性质:所求问题的全局最优解,可以通过一系 列局部最优的选择来达到 例:从 10 张 10 元、10 张 5 元、10 张 1 元、10 张 5角、 10 张 2 角、10 张 1 角的货币中兑付 57 元 8 角 集合 顺序表示货币 向量 表示支付给客户的货币 第一步挑出 的货币集合,局部解 问题简化为在集合 中挑选货币、付出 47 元 8 角,在以后的步骤中,可以用同样的方法进行挑 选,并能得到问题的全局最优解 适于用贪婪法求解的条件(续) 2)最优子结构:问题的最优解,包含它的子问题的最优解 付给客户的货币集合的最优解是 第一步所简化了的子问题的最优解是 所以,出纳员付钱问题具有最优子结构性质 三 贪婪法的例子_货郎担问题 货郎担问题:5 个城市,费用矩阵如下 总是选择费用最小的路线前进, 选择的路线是: 1?4?3?5?2?1,总费用是14 贪婪法的例子_货郎担问题(续) 只选择一个城市作为出发城市,所需时间是 n 个城市都可以作为出发城市,所需时间是 从城市 1 出发的最优的路线是1?2?5?4?3?1, 总费用只有13. 说明贪婪法解决货郎担 问题不具有最优子结构 性质。 5.2 背包问题 一 背包问题 二 思想方法 三 数据结构 四 算法描述 一 背包问题 载重量为 M 的背包,重量为 、价值为 的物体,1 ? i ? n,把物体装满背包,使背包内的物体价值最大 物体可以分割的背包问题,及物体不可分割的背包问题,把后者称为 0/1 背包问题 二 思想方法 解向量: :物
文档评论(0)