算法合集之《浅谈“黄金分割”和信息学联系》.docVIP

算法合集之《浅谈“黄金分割”和信息学联系》.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法合集之《浅谈“黄金分割”和信息学联系》.doc

美,无处不在 ——浅谈“黄金分割”和信息学的联系 安徽芜湖一中 杨思雨 摘要 本文主要介绍了“黄金分割”与信息学竞赛的联系及其在一些信息学问题中的应用,全文可以分为四个部分。 第一部分引言,主要介绍了“黄金分割”的由来及其和各领域的联系,进而提出探索黄金分割与信息学竞赛的联系。 第二部分中逐渐深入的分析了一个例题,最终揭示了问题本质上与黄金分割数的联系,说明了黄金分割数在一些数学性较强的题目中有着广泛的应用。 第三部分通过分析另一个例题,介绍了一种优选法——“黄金分割法”。 第四部分指出黄金分割与信息学竞赛联系密切,总结全文。 关键字 黄金分割 信息学 联系 目录 引言 1 例题一 2 例题二 5 总结 7 参考文献 7 附录 8 程序描述 10 引言 早在古希腊时期,人们就发现了“黄金分割”。两千多年前,数学家欧多克斯提出了这样的问题:如图1,线段AB上有一点P,将线段AB分割为两段——AP和PB,若它们长度之比恰好等于整条线段AB与较长一段AP的长度之比,那么P点应该在线段AB什么位置呢? 图 1 我们不妨假设线段AP的长度为1,设线段PB的长度为x,那么线段AB的总长度就是1+x。由,得到方程。解出,记为φ,它的近似值为0.618。而相应的,线段AB的长度就是,记为Φ。 在这之后,人们围绕这个比值开展了许多研究,意大利著名的艺术家、科学家达·芬奇还把ф命名为“黄金分割数(Golden Section Number)”。有趣的是,人们发现黄金分割在自然界和其它各个领域中到处可见。例如,人的肚脐是人体总长的黄金分割点,人的膝盖又是肚脐到脚跟的黄金分割点;在有些植物的茎上,相邻叶柄之间的夹角是137o28′,这恰好是把圆周分为1:0.618的两条半径的夹角。 此外,黄金分割也被看作是美的化身,人们认为符合黄金分割比例的事物都非常协调,富有美感。这就使得它在建筑、绘画、雕塑、摄影和音乐等艺术领域也有着很广泛的应用,例如:在古希腊帕忒农神庙的设计中就存在着许多组黄金分割比;而在荷兰画家梵高的作品《岸边的渔船》中,整幅画的宽和高分别被桅杆和地平线分成两部分,这样的分割也正好符合了黄金分割比例。 其实,在信息学也蕴含着这样的奥妙,本文就将通过两个例题,介绍信息学和黄金分割的一些联系。 例题一 取石子游戏(SHTSC2002,Day2) 问题描述 有两堆石子,游戏开始后,由两个人轮流取石子,每次有两种取法:一是在任意一堆中取走任意数目的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完的人是胜者。现在给出初始的两堆石子的数目a和b(0≤a,b≤109),假设双方都采取最好的策略,判断先手是否有必胜策略。 算法一 问题中,两堆石子的个数a和b决定了最后的胜负。因此,我们用(a,b)作为表示当前局面的“状态”。通过建立博弈树,判断给出的初始状态(a,b)是必胜还是必败。需要注意的是,由于规则中两个石子堆并没有差别,因此状态(a,b)和状态(b,a)实际上是等价的。 来看一个例子,游戏开始时,两堆石子的数目分别是1和2,那么初始状态为(1,2),自顶向下构造出的博弈树如图2(其中,重复子状态可以只扩展一个)。 图 2 接下来,就可以分三种情况,判断各个状态的胜负情况: 如果一个状态没有子状态,根据规则判断胜负; 如果一个状态至少有一个子状态先手败,那么该状态先手胜; 如果一个状态的所有子状态都是先手胜,那么改状态先手败。 图 3 这样,我们就可以得出初始状态的胜负情况(如图3)。具体实现时,可以采用动态规划或记忆化有哪些信誉好的足球投注网站解决。这个算法的空最坏情况下查询的次数约为2+[log1/ф108] 间复杂度为O(N2),时间复杂度为O(N 3)。附程序stone_1.pas。 算法二 显然上面的算法并不能有效的解决本题。我们需要进一步挖掘游戏规则的特点。根据两种取石子的方法,可以发现如果状态(a,b)是先手败,就能得到下面几种状态必为先手胜: 状态(a,i)(其中,i≠b)或状态(i,b)(其中,i≠a); 状态(a+i,b+i)(其中,i≠0)。 也就是说,每个正整数在所有先手败状态中将出现且只出现一次,同时任何两个必败状态中两堆石子的差值各不相同。根据这个特点,我们可以构造出所有的先手败状态。首先,最小的先手败状态是(0,0),根据上面的规律,之后的先手败状态中就不再存在某一堆为0个石子的情况,同时也不会出现两堆石子个数相等的情况。因此,第二种先手败的状态中较小的一堆石子个数将是尚未出现的最小的整数1,而这种状态中两堆石子个数的差也是尚未出现的差值中最小的一个。这样,第二种先手必败的状态就是(1,2)。 由此,我们得到了构造所有先手败状态的方法:开始时只有(0,0)一个先手败状态;第i次构造时,先找出在已知的先手败状态中没有出现的最

文档评论(0)

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

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

1亿VIP精品文档

相关文档