一、定义

Anti-Nim 游戏:

取走最后一个石子的玩家输

Multi-Nim游戏:

每次取完后可以将一堆石子分为多堆,不能存在空堆

Multi-Anti-Nim游戏:

每次取完后可以将一堆石子分为多堆,不能存在空堆,取走最后一个石子的玩家输

二、Anti-Nim游戏结论及其证明

若局面满足以下两个条件中的1个,则先手必胜;否则,先手必败

1、局面的SG不为0,且至少存在一个子局面的SG>1

2、局面的SG为0,不存在子局面的SG>1

情况1:局面的SG!=0,至少存在一个子局面的SG>1

根据Nim取石子游戏的证明可知

一定存在一种方案,使后手面临局面SG=0

(将SG最大的子局面的SG变成局面SG^自己的SG即可)

先手选择让后手面临SG=0

(1)只有一个子局面的SG>1,那么先手可以选择将这一个子局面的SG变成0或者1,

后手面临局面有偶数个SG=1的子局面

局面SG=0,不存在一个子局面的SG>1,这是一个必败局面

所以先手必胜

(2)有两个或以上的子局面的SG>1,先手至多可以使一个子局面的SG<=1,

后手面临局面SG=0,存在子局面的SG>1,这是必败局面

所以先手必胜

情况2:局面的SG!=0,不存在子局面的SG>1

这种情况是奇数个SG=1的局面

那么只能转移到偶数个SG=1的局面

后手面临局面的SG为0,不存在子局面的SG>1,这是一个必胜局面

所以先手必败

情况3:局面的SG=0,不存在子局面的SG>1

这种情况是偶数个SG=1的局面

只能转移到奇数个SG=1的局面

后手面临局面的SG不为0,不存在子局面的SG>1,这是一个必败局面

所以先手必胜

情况4:局面的SG=0,存在子局面的SG>1

这种情况下,至少有两个子局面的SG>1

只能转移到局面的SG!=0,存在子局面的SG>1

后手面临必胜局面

所以先手必败

三、Multi-Anti-Nim游戏结论不变证明

结论:

同Anti-Nim游戏

证明:

只考虑先手必败局面

情况2:

因为不能分出SG=0的子局面,所以这种情况下无法局面无法再分

情况4:

即证明 子局面分裂之后的异或和 仍然不为0

同Anti-Nim游戏证明,详请参见http://www.cnblogs.com/TheRoadToTheGold/p/8618228.html

Multi-Anti-Nim游戏结论及证明的更多相关文章

  1. 关于NIM博弈结论的证明

    关于NIM博弈结论的证明 NIM博弈:有k(k>=1)堆数量不一定的物品(石子或豆粒…)两人轮流取,每次只能从一堆中取若干数量(小于等于这堆物品的数量)的物品,判定胜负的条件就是,最后一次取得人 ...

  2. Multi-Nim游戏结论不变证明

    Nim取石子游戏结论: 若n堆石子的异或和为0,则先手必胜:否则,先手必败 加入新规则: 每次取完石子后,可以将取的那一堆的石子 分为多堆,也可以不分 结论: 同Nim取石子游戏结论 证明: 如果异或 ...

  3. $NIM$游戏小总结

    $umm$可能之后会写个博弈论总结然后就直接把这个复制粘贴上去就把这个删了 但因为还没学完所以先随便写个$NIM$游戏总结趴$QAQ$ 首先最基础的$NIM$游戏:有$n$堆石子,每次可以从一堆中取若 ...

  4. 编程之美----NIM游戏

    : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob.Alice与Bob总是在进行各种各样的比试,今天他 ...

  5. [hihoCoder] 博弈游戏·Nim游戏

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob.Alice与Bob总是在进行各种各样的比试,今天他们在玩一个取石子的游戏.在 ...

  6. (转载)Nim游戏博弈(收集完全版)

    Nim游戏的概述: 还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取.最后拿光珍珠的人输.后来,在一份资料上看到,这种游戏称为“拈(Nim)”.据说,它源 ...

  7. Nim游戏(组合游戏Combinatorial Games)

    http://baike.baidu.com/view/1101962.htm?fr=aladdin Nim游戏是博弈论中最经典的模型(之一),它又有着十分简单的规则和无比优美的结论 Nim游戏是组合 ...

  8. hihocoder 1163 博弈游戏·Nim游戏

    1163 : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob. Alice与Bob总是在进行各种各样的 ...

  9. Nim游戏博弈

    Nim游戏的概述: 还记得这个游戏吗? 给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取.最后拿光珍珠的人输. 后来,在一份资料上看到,这种游戏称为"拈(Nim) ...

随机推荐

  1. Oracle数据库 查看表是否是 索引组织表的方法

    1. 最近在工作过程中发现 一个表插入很慢 以为是索引组织表, 所以一直有点纠结 但是发现 产品里面是没有IOT的 于是找了下公司的OCP 问了下 如何查看 就是 user_tables 视图里面的一 ...

  2. (一) 关于配置travis-ci持续集成python pytest测试的相关记录

    首先由于公司用上了高大上的travis-ci商用版,一直想试着学学弄弄看.现在要写openapi的相关测试,而且要在travis-ci上集成.我就想体验一下这个过程.所以自己弄了一个public的仓库 ...

  3. selenium之批量执行测试用例

    把写好的测试用例放在指定目录下,使用discover函数扫描该目录,并根据关键字自动筛选需要执行的用例.本例使用Python3.6版本. # 遍历指定目录,批量执行测试用例 import unitte ...

  4. oftype 指的是集合的类型

  5. BZOJ2213[Poi2011]Difference——DP

    题目描述 A word consisting of lower-case letters of the English alphabet ('a'-'z') is given. We would li ...

  6. BZOJ4530 BJOI2014大融合(线段树合并+并查集+dfs序)

    易知所求的是两棵子树大小的乘积.先建出最后所得到的树,求出dfs序和子树大小.之后考虑如何在动态加边过程中维护子树大小.这个可以用树剖比较简单的实现,但还有一种更快更优美的做法就是线段树合并.对每个点 ...

  7. 小程序源码下载[demo整理自github]

    微信小程序的火热程度大家都有所了解,也有很多牛人写了不错的小程序,今天ytkah就整理一些github上的小程序开源项目,源码可以直接下载来用,感兴趣的朋友赶紧去看看吧!以下小程序排名按star的数量 ...

  8. xml文件格式化后不能获取到值

    在有些时候,我们要使用到xml文件,必须得将文件中的内容压缩成一行,才能读取到其中的值,一旦有换行符.制表符.空格之类的就读不到.所以只能在开发好以后,将代码压缩再执行,十分不方便. 尝试了几个替换符 ...

  9. 自学Python6.2-类、模块、包

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  10. python assert用法

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...