欢迎来到天天文库
浏览记录
ID:18362752
大小:188.50 KB
页数:17页
时间:2018-09-16
《算法合集之《浅析非完美算法在信息学竞赛中的应用》》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、非完美算法在信息学竞赛中的应用胡伟栋浅析非完美算法在信息学竞赛中的应用湖南省长沙市长郡中学胡伟栋【目录】摘要2关键字2正文2引言2非完美算法的一些基本方法3随机贪心法3抽样测试法4部分忽略法8完美算法的依据——RP类问题与Monte-Carlo算法11非完美算法的共性11非完美算法的优点与缺点12总结13感谢13参考文献13附录13beconsistentwithinthesamedisk.Alternateunifiedcorerequirementsplacedontheterminalstripterminals,onlineide
2、ntityandensurethecoppercoreisnotexposed.6.4.6enclosurewithinthesametothecablecoreprovidesbindingintoacircle,harnesstiespacingisgenerally100mm;branchofficesshallbebindingonbothends,eachcore第17页,共17页非完美算法在信息学竞赛中的应用胡伟栋【摘要】非完美算法就是用算法正确性的少量损失来换取时间、空间效率以及编程复杂度的算法。本文介绍了非完美算法的几种重
3、要方法及非完美算法的优缺点,从中,可以看出:并不是完全正确的算法就一定好过非完美算法,有可能因为非完美算法的不完全性,反而使不正确的算法在很多方面比正确算法表现得更好。【关键字】非完美算法随机化贪心法抽样测试法部分忽略法【正文】一、引言在平时,我们研究的算法基本都是完全正确的算法,我们所追求的,也是尽量使我们的算法正确。但在实际应用中,有很多情况都不会对数据进行天衣无缝的正确处理。如:图片、音频、视频的压缩存储,很多压缩率比较高的方法都是有损压缩;很多密码验证的方法都是采用多对一的运算方法,通过验证的不代表密码真正正确;搜索引擎所提供的搜
4、索,并不能将所有满足条件的都找到……显然,我们不会因为它们的不完美而不使用它们,它们的存在,有着它们的实际意义:图片、音频、视频的压缩存储,如果不损失一些,不可能将文件压缩得很小;密码验证虽是多对一,但找到两个所对的是同一个何尝容易;搜索引擎虽不能搜索到100%的结果,但其方便、快捷是无以伦比的……那么,在信息学竞赛中是否也可以用非完美算法解题呢?本文试图介绍一些比较有用的常见非完美算法,并希望读者能从此得到一些启发。在开始此文前,希望读者能认同一点:在信息学乃至整个计算机科学领域,不一定绝对正确的算法就是最好的算法,有可能一个在绝大多数
5、情况下正确的算法(非完美算法)beconsistentwithinthesamedisk.Alternateunifiedcorerequirementsplacedontheterminalstripterminals,onlineidentityandensurethecoppercoreisnotexposed.6.4.6enclosurewithinthesametothecablecoreprovidesbindingintoacircle,harnesstiespacingisgenerally100mm;branchoffi
6、cesshallbebindingonbothends,eachcore第17页,共17页非完美算法在信息学竞赛中的应用胡伟栋比一个完全正确的算法更有前途。或者,由于它没有完全正确的算法考虑得全面,而使得它的空间或时间使用得较少;或者,由于它没有正确的算法那么严谨,使得编程实现时较容易;或者,由于所用的知识没有正确算法那么深奥,使得它更容易被接受。二、非完美算法的一些基本方法1.1随机化贪心随机化贪心在周咏基前辈的《论随机化算法的原理与设计》中有写过,为了此文的完整性,这里将通过一个实例简要的说明。法随机化贪心是目前用得较广泛的一种非完美
7、算法。特别是对求较优解的题目,这种方法可以说是首选。随机贪心,就是用随机与贪心结合,在算法的每一步,都尽量使决策取得优,但不一定是最优决策。通过多次运行,使得算法能取得一个较优的解。有时,由于决策的优劣判断较复杂,直接用多次随机也能得到较优的结果。例:传染病控制题目来源:NOIP2003,原题请见附录。Ø题目大意给出一棵传染病传播树,其中根结点是被感染结点。每个时刻,被感染结点都会将传染病传播到它的子结点。但是,如果某时刻t切段A与其父结点B之间的边,则时刻t以后,传染病不会从B传染给A(即A不会患病)。每个时刻,只能切断一条传播途径。问
8、每个时刻怎样切段传播途径,使最少的人被感染。Ø说明本题的标准算法是搜索。关于如何用搜索解决此题,请参见附件《传染病控制解题报告》,此解题报告由周戈林同学提供。Ø分析显然,如果某个结点已被感染,
此文档下载收益归作者所有