- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0021算法笔记——【贪心算法】贪心算法与活动安排问题?1、贪心算法?(1)原理:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。??(2)特性:贪心算法采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题的一个最优解,虽然每一步上都要保证能获得局部最优解,但由此产生的全局解有时不一定是最优的,所以贪婪法不要回溯。能够用贪心算法求解的问题一般具有两个重要特性:贪心选择性质和最优子结构性质。??1)贪心选择性质?所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素。贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。?对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解。证明的大致过程为:首先考察问题的一个整体最优解,并证明可修改这个最优解,使其以贪心选择开始。做了贪心选择后,原问题简化为规模更小的类似子问题。然后用数学归纳法证明通过每一步做贪心选择,最终可得到问题的整体最优解。其中,证明贪心选择后的问题简化为规模更小的类似子问题的关键在于利用该问题的最优子结构性质。??2)最优子结构性质?当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。?(3)贪心算法与动态规划算法的差异:?动态规划和贪心算法都是一种递推算法,均有最优子结构性质,通过局部最优解来推导全局最优解。两者之间的区别在于:贪心算法中作出的每步贪心决策都无法改变,因为贪心策略是由上一步的最优解推导下一步的最优解,而上一部之前的最优解则不作保留,贪心算法每一步的最优解一定包含上一步的最优解。动态规划算法中全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解。??(4)基本思路:?1)建立数学模型来描述问题。?2)把求解的问题分成若干个子问题。?3)对每一子问题求解,得到子问题的局部最优解。?4)把子问题的解局部最优解合成原来解问题的一个解。?2、活动安排问题?活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很好例子。该问题要求高效地安排一系列争用某一公共资源的活动。贪心算法提供了一个简单、漂亮的方法使得尽可能多的活动能兼容地使用公共资源。?问题描述:?设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si fi。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是相容的。也就是说,当si≥fj或sj≥fi时,活动i与活动j相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合。???求解思路:?将活动按照结束时间进行从小到大排序。然后用i代表第i个活动,s[i]代表第i个活动开始时间,f[i]代表第i个活动的结束时间。按照从小到大排序,挑选出结束时间尽量早的活动,并且满足后一个活动的起始时间晚于前一个活动的结束时间,全部找出这些活动就是最大的相容活动子集合。事实上系统一次检查活动i是否与当前已选择的所有活动相容。若相容活动i加入已选择活动的集合中,否则,不选择活动i,而继续下一活动与集合A中活动的相容性。若活动i与之相容,则i成为最近加入集合A的活动,并取代活动j的位置。?下面给出求解活动安排问题的贪心算法,各活动的起始时间和结束时间存储于数组s和f中,且按结束时间的非减序排列。如果所给的活动未按此序排列,可以用O(nlogn)的时间重排。具体代码如下:[cpp]?/liufeng_king/article/details/view plain?/liufeng_king/article/details/copy//4d1?活动安排问题?贪心算法?#include?stdafx.h?#include?iostream??using?namespace?std;?templateclass?Type?void?GreedySelector(int?n,?Type?s[],?Type?f[],?bool?A[]);???const?int?N?=?11;???int?main()??{???/
您可能关注的文档
- 实训1:十字路口交通灯控制实训.ppt
- 《折纸》校本课程.docx
- 数分高代定理大全.docx
- 矩阵与变换(选修4-2)(理科专用解析版).doc
- TerraTEM瞬变电磁仪操作说明书.doc
- (feng)HALCON算子函数Chapter1-19.doc
- (四川专版)2016高考数学二轮复习 专题十九 概率、随机变量及其分布练习 理.doc
- (总) 试 验 报 告.doc
- (新课标)2015年高二第一学期段考2试卷及答案.doc
- (理论研讨)垂直管理体制下审计质量提升的再思考.doc
- 0024算法笔记——【贪心算法】单源最短路径问题.docx
- 0026算法笔记——【贪心算法】多机调度问题.docx
- 0042算法笔记——【随机化算法】计算π值和计算定积分.docx
- 0047算法笔记——【随机化算法】拉斯维加斯(Las Vegas)算法和n后问题.docx
- -完全平方公式课件.ppt
- 0045算法笔记——【随机化算法】舍伍德随机化思想搜索有序表.docx
- 01 第一节 参数估计.doc
- 01Hadoop-2.7.2+Zookeeper-3.4.6完全分布式环境搭建(HDFS,YARN HA).docx
- 0046算法笔记——【随机化算法】舍伍德随机化思想解决跳跃表问题.docx
- 03 纳什均衡与一致预期.ppt
最近下载
- 10KV及以下架空配电线路的工程施工及验收要求规范.pdf VIP
- 河北省人力资源和社会保障课题研究立项申请书课题研究内容.doc VIP
- 新生儿用品清洁消毒规范.docx VIP
- 医院检验科培训课件:《ISO15189常见不符合项案例分析》.pptx
- 2021年考研英语(一)真题及答案解析.pdf VIP
- 英威腾(INVT)MH600交流伺服驱动系统中文说明书.pdf
- 变电站及输电线路运维服务工作重点难点分析方案.docx VIP
- 2022《北京市老旧小区改造工程安全检查表(监理单位)》.pdf VIP
- 《创业就业指导》课程标准.docx VIP
- 慢性阻塞性肺疾病急性加重(AECOPD)诊治中国专家共识2024(更新版).doc VIP
文档评论(0)