一、定义

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. DVWA的安装与简单使用

    参考资料: http://www.freebuf.com/articles/web/119150.html 尝试使用linux机器安装,但是因为下载php版本以及各种兼容性的问题耗时较长, 所以后来选 ...

  2. C1考试科目一知识总结

    第二 交通信号 交通信号灯 机动车信号灯(红灯停,路灯走,黄灯等) 车道信号灯(绿色箭头表示该车道通行,红色箭头和红叉表示该车道禁止通行) 方向指示信号灯(红色箭头表示该方向禁止通行,绿色箭头表示该方 ...

  3. Word2010设置题注和交叉引用方法

    设置题注 点击图片-->右键-->插入题注-->新建标签:“图”-->选择新建标签“图”-->修改“编号”-->勾选包含章节号-->设置章节起始样式:标题2- ...

  4. codeforces659B

    Qualifying Contest CodeForces - 659B Very soon Berland will hold a School Team Programming Olympiad. ...

  5. multi_index_container 多索引容器

    multi_index_container是c++ boost库中的一个多索引的容器.因工作中用到了,特来测试试用. #include "stdafx.h" #include &q ...

  6. java访问权限表

    private(私有的) 默认的(什么都不写) protected(受保护的) public(公共的 ) 同一个类中 yes   yes yes   yes 同一个包中不同类之间 no yes yes ...

  7. Leetcode 283.移动零 By Python

    思路 我们可以用python的list comprehension来取出所以非0的元素,而且这样取出来会保持原有的相对顺序,再统计先后变化的长度,补上相应的0即可 代码 class Solution( ...

  8. 自学Zabbix3.10.2-事件通知Notifications upon events-Actions报警配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2-事件通知Notifications upon events-Acti ...

  9. Android -- 面试 -- 数据库升级策略

    升级:重写onUpgrade方法 确定 相邻版本 的差别,从版本1开始依次迭代更新,先执行v1到v2,再v2到v3…… 为 每个版本 确定与现在数据库的差别,为每个case撰写专门的升级代码. 降级 ...

  10. 前端学习 -- Html&Css -- 层级和透明度

    层级 如果定位元素的层级是一样,则下边的元素会盖住上边的. 通过z-index属性可以用来设置元素的层级,可以为z-index指定一个正整数作为值,该值将会作为当前元素的层级,层级越高,越优先显示. ...