- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NOI2009 冬令营论文 从“k 倍动态减法游戏”出发探究一类组合游戏问题
摘 要
组合游戏是指,信息完全轮流操作的双人游戏。本文将从一个游戏——k 倍
动态减法游戏(k-based dynamic subtraction game )的解答出发,讨论游戏中的一
个重要分支——组合游戏,并探讨解决这一类的问题的高效方法。探索的过程力
求兼顾游戏论中的普遍真理以及问题的独特性质。
作为一篇信息学的论文,本文将着重讨论与组合游戏有关的相关算法和这些
算法时间复杂性分析,而不是游戏论中的一些经典的理论、典型的游戏实例或者
一些存在性的证明。
“k 倍动态减法游戏”在k 为一般正实数的情况,在2002 年的国家集训队
3
论文中已经给出O(S ) 的算法,本文将在第4 .1 节给出一个优化到O(S) 的算法。
“Nim 积”运算是利用SG 函数解决游戏论问题的必要工具之一。本文将在
2
第4 .4 .5 节给出一个O(log x) 的计算“Nim 积”的算法。
2008 年的BOI (Baltic Olympiad in Informatics )中knight 一题就是游戏论问
3
题,官方解答给出了 O(n ) 的算法,但没有给出算法时间复杂度的证明。本文在
3
第5 章提出了对这个O(n ) 的上界的质疑,并举出了质疑的确实依据,举出反例
证明了官方解答时间复杂度估计的错误之处。同时,本文经过对算法进一步优化,
2
得到了一个O(n ) 的算法。
上面这些内容都是原创的独立研究成果。
关 键 字
NP 状态、单调性、SG 函数、“Nim 和” 、“Nim 积” 、对称性分析、贪
心分析、时间复杂度分析
共44 页-第1 页
NOI2009 冬令营论文 从“k 倍动态减法游戏”出发探究一类组合游戏问题
一.引言
1.1.组合游戏的定义
“游戏”这个词包含的范围很广,像 “石头剪刀布”“斗地主”“军旗”“象
棋”“Nim 游戏”等等。但是,一个游戏,作为组合游戏,必须具有以下特征:
1:双人游戏。
2 :双方轮流操作。即,组合游戏不包含双方同时进行的操作。
3 :在游戏中的任意一个时刻,当前玩家可以选择的操作,是一个有限的确
定的集合。即,组合游戏不包含随机化的操作。
4 :信息完全。即,在游戏中的任意时刻,游戏中的任意一方都知道游戏的
初始状态,以及从 “游戏开始”到“当前”为止的双方的所有的历史操作,没有
任何的保密。
5:游戏中的某一些状态被规定为 “胜利终止状态”,到达这些状态的玩家
获胜(即对方把胜利终止状态交给你的话,你就输了);某一些状态被规定为“失
败终止状态”,到达这些状态的玩家失败。本文只讨论,有限次操作后能分出胜
负的那一类组合游戏,这一类游戏中将没有“平局”的情况。由于平局的情况是
复杂的,本文不讨论。例如,“中国象棋”“围棋”都是经典的组合游戏,但不属
于本文讨论范围。
所以,像 “推箱子”这样的单人游戏,不属于组合游戏;像 “石头剪刀布”
这样包含同时操作的游戏,不属于组合游戏;像 “飞行棋”“大富翁”这样包含
掷色子的随机行为的游戏不属于组合游戏;像 “斗地主”“军旗”这样的对自己
当前状态保密的游戏,不属于组合游戏。
所以总结起来,对于一个组合游戏,一般可以用f:XP(x)来描述游戏规则。
其中X 表示状态集,P(x)表示X 的子集簇。f(x)就表示玩家可以从x 出发一步操
作后到达的状态的集合。我们称任一个y f (x) ,y 是x 的一个后继。也就是说,
本文讨论的组合游戏可以被理解成一个有向无环图G=(V,E),图的点集V=X ,边
集E=(xy| y f (x) ) 。
1.2 .组合游戏需要解决的问题
由于组合游戏是一个双方博弈的游戏
文档评论(0)