Chomp游戏(必胜策略分析)

游戏简介

Chomp是一个双人游戏,有m x n块曲奇饼排成一个矩形格状,称作棋盘。

----两个玩家轮流自选一块还剩下的曲奇饼,而且还要把它右边和下边所有的曲奇饼都取走(如果存在)

----先吃到左上角(1,1)那块曲奇饼的玩家为失败

如图所示

------红方选择(3,3)--->------蓝方选择(1,4)---->

----红方选择(1,2)--->-----蓝方选择(2,1)-->

------------>红方玩家只能选左上角那一块,失败

分析

首先介绍一个重要定理——策梅洛定理(Zermelo)

策梅洛定理,表明在二人参与的游戏/博弈中,如果满足:--------游戏的步骤数有限
--------信息完备(二人都了解游戏规则,了解游戏曾经所发生过的信息)
--------不会产生平局
--------确定性(游戏中不会加入随机因素)
则先行一方有必胜策略,或者后行一方有必胜策略。

下面证明:除去 1 x 1大小的棋盘外,其他大小的棋盘,先手存在必胜策略。

证明:(反证法)

假设棋盘规模为m x n。

首先,游戏不可能产生平局。

其次,由于每一步移动至少吃掉1块曲奇饼干,因此不超过 mn 步后游戏必定结束。

由策梅洛定理,这个确定性二人有限游戏信息完备,且不存在平局,则或者先行一方有必胜策略,或者后行一方有必胜策略。

如果后手有必胜策略,使得无论先手第一次取哪个石子,后手都能获得最后的胜利。

那么现在假设先手取最右下角的石子(m,n) ,接下来后手可以取某块曲奇(a,b) 使得自己进入必胜的局面。

事实上,先手在第一次取的时候就可以取曲奇 (a,b) ,之后完全模仿后手的必胜步骤,迫使后手失败。

于是产生矛盾。因此不存在后手必胜策略,先手存在必胜策略。

注意:这个证明是非构造性存在性证明,也即只是证明了先手必胜策略的存在性,但没有构造出具体必胜策略。而且目前还没有人给出Chomp一般性的必胜策略。

其中一些简单的情况,可以找到必胜策略:

1、棋盘只有一行,但多于一格

-------先手拿去除左上角的全部即可

2、棋盘是正方形,但多于一格

-------先手选取(2,2),之后无论后手做什么,先手只要模仿即可(即关于对角线对称选取)

3、棋盘只有两行

------先手取第二行最后一个,之后无论后手选什么,先手总能采取合适的选择,使得第一行比第二行多一个

类似问题

1、三维Chomp游戏

将曲奇排成 P x Q x R 的立方体,两个玩家轮流自选吃掉一块剩下的曲奇饼,若取走的曲奇饼为 (i,j,k) ,则也要取走所有满足 i ≤ a ≤ P,j ≤ b ≤ Q , k ≤ c ≤ R 的曲奇饼(a,b,c)(如果存在)。

可以类似地将Chomp游戏扩展到任意维,并可以类似地证明,先手都存在必胜策略。

2、有限偏序集上的Chomp游戏

Chomp游戏可以推广到在任意一个存在最小元 a 的有限偏序集(S,≤)上:两名游戏者轮流选择S中的元素 x ,移走 x 以及所有 S 中比 x 大的元素。失败者是被迫选择最小元 a 的玩家。

如果  (S,≤) 有最大元素 b ,那么在偏序集上的Chomp游戏存在一个获胜策略.

3、约数游戏

给定一个大于1的自然数 N ,两个游戏参与者轮流选择N的大于1的正约数,但不可选择之前被选择过的因子的倍数(例如 N = 72,有一方之前选择了4,则之后任一方都不可以再选择36)

4、删数游戏

给定整数集合 {1,2,...n} ,两个人轮流从中选择一个数字,并将它和它的约数从集合中删除,删除最后一个数的人获胜。

类似Chomp游戏,得到结论就是无论 n 是几,都是先手必胜。

转载自:Liu言杂记

参考链接:中国大学mooc 离散数学 刘铎

原文地址:https://www.cnblogs.com/lfri/p/9899014.html

时间: 2024-10-02 13:52:56

Chomp游戏(必胜策略分析)的相关文章

Chomp类游戏——必胜策略分析

首先介绍一个重要定理——策梅洛定理(Zermelo) 策梅洛定理,表明在二人参与的游戏/博弈中,如果满足: --------游戏的步骤数有限 --------信息完备(二人都了解游戏规则,了解游戏曾经所发生过的信息) --------不会产生平局 --------确定性(游戏中不会加入随机因素) 则先行一方有必胜策略,或者后行一方有必胜策略. Chomp!游戏 问题:有一个n*m的棋盘,每次可以取走一个方格并拿掉它右边和上边的所有方格.拿到左下角的格子(1,1)者输,那么谁会赢呢? 先给结论:除

(算法)游戏必胜策略

题目: 1.游戏1: 有两堆硬币,数量不定(大于0),两个人进行游戏,每个人每次可以从任意一堆取任意数量的硬币(大于0),谁拿走了最后的硬币即为胜者. 2.游戏2: 一个盒子,里面有一定数量(大于0)的巧克力和一根辣椒 ,两个人进行游戏,每个人每次可以从中拿出1或2或3颗巧克力,辣椒只能最后拿,谁最后拿走了辣椒就得吃掉她,也即输了. 思路: 先提供一下答案: 游戏1: 如果两堆硬币数量相等,则让对方先取,然后再自己取,取出数量多的那一堆的硬币,使得两堆硬币数量相等,依次进行. 如果两堆硬币数量不

【Game】找出游戏必胜态

//两人取硬币游戏 hard coins game int solve() { int win[MAX]; //定义轮到自己,当剩下j个时为必胜OR必败态/****j=0时,必败.对于某个a[i], j-a[i]为(对手)必败态,则 j 个时自己可以有必胜态对于任意a[i], j-a[i]为(对手)必胜态,则自己没机会胜利了******/ memset(win,false,sizeof(win)); win[0]=false;//a[] 是每次取硬币数应等于 a[i]. for(int j=1;

Chomp!游戏 (组合游戏Combinatorial Games)

http://blog.csdn.net/acdreamers/article/details/17021095 有一个n*m的棋盘,每次可以取走一个方格并拿掉它右边和上面的所有方格.拿到左下角的格子(1,1)者输,如下图是8*3的 棋盘中拿掉(6,2)和(2,3)后的状态. 结论:答案是除了1*1的棋盘,对于其他大小的棋盘,先手总能赢. 分析:有一个很巧妙的证明可以保证先手存在必胜策略,可惜这个证明不是构造性的,也就是说没有给出先手怎么下才能赢. 证明如下: 如果后手能赢,也就是说后手有必胜策

多版本软件构建策略分析

原文:多版本软件构建策略分析 主要分析存在多个版本特性时的软件构建策略.多个版本特性在有些情况下仅仅对应于软件的本地化,复杂的情况就是不同版本中模块的业务逻辑.呈现策略都不相 同.这不仅在产品开发过程中增加成本,更多的成本将在维护阶段体现出来.因此,选择一个合适的构建策略对降低开发与维护成本都是非常重要的. 一.传统软件构建策略 不同的版本采用不同的代码,通过派生或直接使用不同的代码实现.每个版本都会对应到一份的这个版本相关的代码.在代码发布成产品时,我们还需要一个build过程,将源码打包发布

Irrlicht游戏引擎初步分析与研究

转载出处:http://blog.csdn.net/hellphenix/archive/2008/03/19/2198226.aspx Irrlicht游戏引擎主要是由一个名叫Nikolaus Gebhardt奥地利人所设计,是sourceforge上的一个开源项目,也是著名的开源游戏引擎.Irrlicht是一个德国神话故事中的一种动物的名字,它能够发光和飞翔,可以在大部分的沼泽地附近发现它.单词"Irrlicht"是两个德国单词("irr"意思是疯狂的:而&qu

JVM 分代GC策略分析

JVM 分代GC策略分析 我们以Sun HotSpot VM来进行分析,首先应该知道,如果我们没有指定任何GC策略的时候,JVM默认使用的GC策略.Java虚拟机是按照分代的方式来回收垃圾空间,我们应该知道,垃圾回收主要是针对堆(Heap)内存进行分代回收,将对内存可以分成新生代(Young Generation).年老代(Tenured Generation)和永久代(Permanent Generation)三个部分. 分代GC 分代GC包括如下三代: 新生代(Young Generatio

我的游戏学习日志28——(对)游戏性的分析(2)

我的游戏学习日志28——(对)游戏性的分析(2) 1. 本能层分析 (1)从低级层次的游戏考虑,人作高等智力动物与一般动物有着相同本能层面上对游戏的需求.这种出于本能的游戏,或是愉悦性或者是竞争性,但是大都是基于本能的学习活动. (2)同时一些学者也又有倾向于本能性的游戏活动是动物为了情绪上的欢愉而挥霍过剩的活动. (3)游戏的研究中,可以得出游戏可以改变人的智力结构,即游戏可以在不同程度上对孩童的智力起到发展作用,且效果性往往是永久性的. (4)也就是说游戏就像是一个非常基础的.非常强有力的学

我的游戏学习日志31——(对)游戏性的分析(5)

我的游戏学习日志31——(对)游戏性的分析(5) 5. 社会文化层 (1)深入的探究游戏游戏者与所在群体的关系,将游戏者作为社会的一部分去考察剖析,方能更宏观地看清游戏的本质. (2)在游戏的传播和推广时,我们也看到了集体文化的力量,玩家常常因为群体的选择而放弃自己的偏好,义无反顾的加入群聚的欢乐之中. (3)游戏中的社会性最高的体现在MMORPG游戏中. (4)人类学家Gregory Bateson提出,游戏可以被看做“元交流”的特有语境之一,即游戏本身就是某种意义或信息交流和理解方式. (5