算法合集之《从“k倍动态减法游戏”出发探究一类组合游戏问题》(副本).pdfVIP

算法合集之《从“k倍动态减法游戏”出发探究一类组合游戏问题》(副本).pdf

  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文档。上传文档
查看更多
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:XP(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)

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

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

1亿VIP精品文档

相关文档