_取石子游戏_漫谈.pptVIP

  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文档。上传文档
查看更多
_取石子游戏_漫谈

业精于勤,荒于嬉,行成于思,毁于随 “取石子游戏”漫谈 李芃芃 初探 描述——递归——通项 几点思考 初探…… 典型的博弈问题 “平衡态”是关键 博弈问题的精髓 对“取石子”的初步分析 先试探几个小数组 小结一下 必赢数组比必输数组多 选必输数组为平衡态 显然而重要的结论: 寻找平衡态(必输态) 归纳:(n,An,Bn) (1,1,2); (2,3,5); (3,4,7); (4,6,10); …… 寻找平衡态(必输态) 猜测: An:前n-1组未出现过的最小数 Bn:n+An 证之…… 用第二类数学归纳法: n=1时,(1,2)成立 (是平衡态) 假设nk时,(An,Bn)成立; 考虑(Ak,Bk): 有:Bk=Ak+k. 若对手对(Ak,Bk)的操作改变了Ak,或改变了Bk且使Bk=Ak 则(Ak’,Bk’)中必有一数在前k-1组中出现过。(设为(Ai,Bi)) 通过不繁复的推导可以推出,经一步变化必可以得到(Ai,Bi)。 若对手改变了Bk,且BkAk 则Bk’-Ak’k(设为j)。 通过不反复的推导可以推出,经一步变化变化必可以得到(Aj,Bj)。 即:(Ak,Bk)为平衡态。 证毕 由数学归纳法可以立得该结论正确。证毕。 结论: 对于任意(Ak,Bk), Ak:前k-1组未出现过的最小数, Bk:k+Ak 为该组是平衡态(必输态)的充要条件。 思路1 我们已经可以描述全部平衡态! “自下而上”得到全部平衡态 与所输入初值比较 得到结论 具体操作…… 对于任给的一组数(A,B)(AB),令B-A=n,则列出前n组平衡态,并比较An?=A即可。 前50组平衡态 问题…… 严重超时! (要先知道上限?) 算法复杂度:O(n2) 反思…… 对一个数列的描述方法: (1)列举法、描述法 (2)递归法 (3)通项公式法 描述法:“自下而上” 得到数列的每一项 其实这是不必要的。 对数列进一步分析…… 观察到: 相邻两项Ak与A(k+1)相差1或2; 相邻两项Bk与B(k+1)相差2或3; 是一般规律吗? 可以证明! 证之…… 显然:A(k+1)-A(k)=1 则: B(k+1)-B(k)=2 假设:A(k+1)-A(k)=3 则由A(k+1)的性质可知: A(k)+1,A(k)+2都在前k-1组中。 A(k)+1,A(k)+2任一项不可能在A中!(这是已经假设过的) A(k)+1,A(k)+2不可能都在B中!(前面已证) 证毕 这说明假设不成立。 所以 相邻两项Ak与A(k+1)相差1或2; 相邻两项Bk与B(k+1)相差2或3; 是一般规律。 思路2 检查A中相邻两项之差 思路2 采取“自上而下”的办法 对每一个初值,判断其处在哪一大部分,之后再依次判断其处在该大部分的哪一小部分…… 递归到最小部分 验证是否满足条件 具体操作…… 参见宫畅同学的代码 反思…… 算法精深而复杂 非天才不能成也 算法复杂度: log3n~ log2n 递归法:“自上而下” 得到数列的部分项 对数列的更进一步分析…… 希望得到通项! 观察到A,B均是线性递增的 考虑极限情况: 当An,Bn均非常大时,+1/2/3对数列的___影响较小? 比值! 因此考虑是否存在线性关系? 网上答案: 证之…… 定义K: K的意义: 1~n组中,首个超过An的数所在的组数。 由线性递增关系立得: 1~n组中大于An的:(n-K+1)个 (k~n组中的B项) 1~n组中小于An的:(An-1)个 1~n组中等于An的:1个 共计:n-K+1+An-1+1=2n! K=An+1-n 即:K(n)=An+1-n 将K带回原不等式: 解左不等式 解右不等式 以相同方法解右不等式可得: 夹逼得到: 证毕 思路3 计算初值对应的项数n 由通项公式计算n对应的An 验证初值是否满足条件 无疑是最简洁的 三种思路的对比与思考 描述法 算法复杂度 n2 对数列的描述:自下而上 递归法 算法复杂度: log3n~ log2n 对数列的描述:自上而下 通项法 算法复杂度:1 对数列的描述:特征值K 通项公式证明中的启示…… 夹逼的范围恰到好处 ——特征值K对数列的描述是完善的。 由此不难引发对于编程的几点思考…… 几点思考…… 编程——把解

文档评论(0)

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

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

1亿VIP精品文档

相关文档