贪心算法解决活安动排问题研究.docVIP

  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文档。上传文档
查看更多
贪心算法解决活安动排问题研究

贪心算法解决活动安排问题研究 摘要:利用贪心算法解决如何使用最少的资源安排一系列活动。并证明了贪心算法解决此问题的有效性,且进行了实例验证,并进行了复杂度分析,此算法是解决资源组合规划问题较好的方法。 关键词:贪心算法;java程序;复杂度分析;活动安排问题 中图分类号:tp312文献标识码:a文章编号:16727800(2011)012004302 基金项目:广西研究生教育创新计划(2011106020812m58) 作者简介:苏方方(1986-),女,河南商丘人,广西师范大学计算机科学与信息工程学院硕士研究生,研究方向为自然语言处理和算法;张金玲(1986-),女,山东菏泽人,广西师范大学计算机科学与信息工程学院硕士研究生,研究方向为远程教育和算法。 0引言 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。这里就需要选用合适的算法来解决类似的问题。虽然计算机的计算能力每年都在飞快增加,但是,需要处理的信息量更是呈指数级的增长。互联网的信息流量在飞快进步,数据量更是达到了前所未有的程度。无论是三维图形,海量数据处理等都需要极大的计算量。在网络时代,越来越多的挑战需要靠卓越的算法来解决。 1贪心算法以及贪心算法的基本要素 贪心算法是指从问题的初始状态出发,通过若干次的贪心选择而得出最优值(或较优解)的一种解题方法。并不是从整体上加以考虑,它所做出的选择只是在某种意义上的局部最优解。贪心算法可以简单描述为:对一组数据进行排序,找出最小值,进行处理,再找出最小值, 再处理。也就是说贪心算法是一种在每一步选择中都采取在当前状态下最好或最优的选择,从而希望得到结果是最好或最优的算法。 贪心算法解题步骤:①从问题的某个初始解出发;②采用循环语句,就根据局部最优策略,得到一个部分解,缩小问题的范围或规模;③将所有部分解综合起来,得到问题的最终解。另外它也是一种某种度量意义下的最优解的分级处理方法。 对于一个具体的问题,怎么知道是否可用贪心算法来解决问题,以及能否得到问题的一个最优解呢?从许多可以用贪心算法求解的问题中可以看到它们一般具有两个重要的性质:①贪心选择性质;②最优子结构性质。 另外,同一个问题可用不用算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。一个算法的评价主要从时间复杂度和空间复杂度来考虑。 2用贪心算法描述问题 贪心算法高效地解决了一系列活动争用某一个公共资源的问题,本文主要研究的是n个活动全部安排所需要的最少资源数。面对资源的日益紧缺,如何有效合理地利用资源一直是专家学者研究的热点问题。 用贪心算法解决本题的思想是:资源足够多,但要使用最少的资源安排全部活动,同时保证每个资源中安排的活动集在时间上不能发生冲突。如果第一个资源中尽可能安排最多的活动,则这个资源得到了充分的利用,而且剩下的活动越少,第二个资源也尽可能安排最多的活动,依次类推。 以下我们证明该问题具有贪心算法的两个性质: (1)活动安排问题具有贪心选择性质 证明:首先将活动安排问题数学化,设有n个活动的集合 e= { 1 ,2 ,…,n },每个活动 i 都有一个要求使用该资源的起始时问si 和一个结束时问fi 。即k是所需最少资源的个数。设活动已排序,( a1 , a2 , … ,ak )是所需要的k个已安排了活动的资源。 ①当k = 1时,也就是所有的活动在一个资源里相容,a1 是满足贪心选择性质的最优解;②当k = 2时,取b1=a1,bk=ak (即bk是安排了m个活动的一个资源,(n-m)个活动都安排在b1 到bk-1个资源里)。就是(n-m)个活动安排需要(k -1)个资源。则(b1,b2 ,…,bk-1 )是(n - m)个活动可行解。 另一方面,由{( a1 ,a2,…,ak)-ak}=(b1,b2,…,bk-1)知,(b1,b2,…,bk-1)也是满足贪心选择性质的最优解,所以,活动安排问题具有贪心选择性质。 (2)活动安排问题具有最优子结构性质 证明:( a1,a2, …,ak )是n个活动的集合e= {1,2 ,…,n }所需资源的最优解。设a1中安排了m个相容的活动,那么也就是说(n-m)个活动完全安排需要k-1个资源。假设(n - m)个活动安排只需要k-2个资源或则更少的资源。也就是说n个活动安排只需要k-1个资源就可以安排完,则前后出现矛盾。一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。 3程序清单及复杂性分析 算法的复杂性是算法运行所需要的计算机资源的量,需要时间资源的量称为时间复杂性,需要空间资源的量称为空间复杂性,由于计算机的快速发展,计算机的空间资源很少作为考虑的对象,目前最为关注的就是时间复杂性。 利用数组解决活动安排问题。程序的思想:设有n个活动等待安排,这些活

文档评论(0)

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

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

1亿VIP精品文档

相关文档