Multi-Anti-Nim游戏结论及证明
一、定义
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游戏结论及证明的更多相关文章
- 关于NIM博弈结论的证明
关于NIM博弈结论的证明 NIM博弈:有k(k>=1)堆数量不一定的物品(石子或豆粒…)两人轮流取,每次只能从一堆中取若干数量(小于等于这堆物品的数量)的物品,判定胜负的条件就是,最后一次取得人 ...
- Multi-Nim游戏结论不变证明
Nim取石子游戏结论: 若n堆石子的异或和为0,则先手必胜:否则,先手必败 加入新规则: 每次取完石子后,可以将取的那一堆的石子 分为多堆,也可以不分 结论: 同Nim取石子游戏结论 证明: 如果异或 ...
- $NIM$游戏小总结
$umm$可能之后会写个博弈论总结然后就直接把这个复制粘贴上去就把这个删了 但因为还没学完所以先随便写个$NIM$游戏总结趴$QAQ$ 首先最基础的$NIM$游戏:有$n$堆石子,每次可以从一堆中取若 ...
- 编程之美----NIM游戏
: 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob.Alice与Bob总是在进行各种各样的比试,今天他 ...
- [hihoCoder] 博弈游戏·Nim游戏
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob.Alice与Bob总是在进行各种各样的比试,今天他们在玩一个取石子的游戏.在 ...
- (转载)Nim游戏博弈(收集完全版)
Nim游戏的概述: 还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取.最后拿光珍珠的人输.后来,在一份资料上看到,这种游戏称为“拈(Nim)”.据说,它源 ...
- Nim游戏(组合游戏Combinatorial Games)
http://baike.baidu.com/view/1101962.htm?fr=aladdin Nim游戏是博弈论中最经典的模型(之一),它又有着十分简单的规则和无比优美的结论 Nim游戏是组合 ...
- hihocoder 1163 博弈游戏·Nim游戏
1163 : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob. Alice与Bob总是在进行各种各样的 ...
- Nim游戏博弈
Nim游戏的概述: 还记得这个游戏吗? 给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取.最后拿光珍珠的人输. 后来,在一份资料上看到,这种游戏称为"拈(Nim) ...
随机推荐
- Java基础实践一:for关键字的实现原理
Java源码: /** * Demo.java * com.yuanchuangyun.libra.web * * * ver date author * ────────────────────── ...
- [转帖] “王者对战”之 MySQL 8 vs PostgreSQL 10
原贴地址:https://www.oschina.net/translate/showdown-mysql-8-vs-postgresql-10?lang=chs&page=2# 英文原版地址 ...
- 函数 for 循环有return 返回是0的原因
- G1收集器的收集原理
G1收集器的收集原理 来源 http://blog.jobbole.com/109170/ JVM 8 内存模型 原文:https://blog.csdn.net/bruce128/article/d ...
- job.yml
job.yml apiVersion: batch/v1kind: Jobmetadata: name: myjobspec: completions: 6 parallelism: 2 templa ...
- CF603E Pastoral Oddities
CF603E Pastoral Oddities 度数不好处理.转化题意:不存在连通块为奇数时候就成功了(自底向上调整法证明) 暴力:从小到大排序加入.并查集维护.全局变量记录奇数连通块的个数 答案单 ...
- P1558 色板游戏 线段树+二进制状压
好,这个想法是我想拿去做HH的项链的.但是那个颜色有十万种...直接爆. 做这个倒是so easy 被两个地方坑了.1,a,b可能大小相反. 2,ask之前要down一波,我没down就挂了..... ...
- 【java】详解native方法的使用
目录结构: contents structure [+] 关于native关键字 使用native关键字 使用步骤 案例 编写.java文件 编译.java文件 获得.h文件 编写hello.cpp文 ...
- HashMap 与 ConcurrentHashMap 在初始化不同大小容量时,实际分配的空间情况
HashMap.java int capacity = 1; int initialCapacitys[] = {1,2,3,4,5,6,7,8,9,10,11,13,15,16,17,2 ...
- VS Code折腾记 - (2) 快捷键大全,没有更全
前言 VSCode的快捷键继承了一些IDE风格,有VS的身影,也有Emacs的身影..简言之,内置快捷键玩熟了,效率提高不是一点两点. VsCode 快捷键有五种组合方式(科普) Ctrl + Shi ...