抓三堆游戏及其终极奥秘(第一部分)

“抓三堆”游戏及其终极奥秘 (第一部分)

 

                   万春熙(北京理工大学),2022年 1月    

 

前言

“抓三堆”游戏有趣且简便易行、随时随地都可玩起来,可以自娱自乐(左右手对弈),能增益智力。游戏者若掌握其原理,将有助于培育十进/二进制转换与集合运算能力。

我在1969年接触到这个游戏。那时,北理工的教师和学生一起到首钢参加劳动。休闲的时候,一位同学用这游戏发起“挑战”;在上、下工的队伍里,我们曾经用轮流口述三个数字的方式,一边走路一边玩游戏。后来,我悄悄地破解了游戏奥秘。

五十多年过去了,忽然发现网上竟涌现出很多讨论这个游戏的贴文,但却无一能明确彻底地揭示该游戏的奥秘;反而,混乱和错误比比皆是。所以,深感有必要把这个游戏的终极奥秘公布出来,并力求解说得明白透彻,供有兴趣的朋友们实践运用或研究参考。春节即将到来,又是疫情期间,希望这游戏能给人们增添快乐。

本文有两部分:第一部分是入门,介绍该游戏的操作方法、规则和初步技巧。第二部分揭示该游戏的终极奥秘。

建议先读第一部分,并且要亲自试做几次游戏(左右手互弈更好),积累经验、试探规律。然后再读第二部分(需要某些数学知识),才能彻底理解并掌握百战百胜的法则。

 

第一部分, “抓三堆”游戏入门

 

一、游戏方法与规则:

设置三堆棋子(或石子、纸团、硬币等颗粒物),每堆数量不限。熟练后也可用口述或书写三个数字等方式来代替棋子。

规则:甲乙两方对弈,轮流从任选的一堆(限制只选一堆)中取出至少一枚(甚至全部)棋子。反复进行,直到最后一堆的最后一枚(甚至全部)棋子被一方取走,清零,则最后这位操作者获胜。

定义:若a,b,c是各堆棋子的数目,则集合 {a,b,c} 是游戏的局势,简称“局”。集合中各元素可任意排序,即 {a,b,c}={b,c,a}={c,b,a}。

定义:局中棋子的总数为该局的“层级”。游戏中的每一步操作都必定使局的层级降低,直至清零(层级为零,无可再低)。

在所有可能的局势中,“可控局”是致胜关键(其严格定义将留待第二部分),下面的例子将展示游戏过程中,如何通过一系列“可控局”,一步步取得胜利。

例1,设置三堆棋子,随机地假定局势为{5,7,9}(非可控局)。

第一轮操作:甲将5减至2,得到 {2,7,9};

乙将9减至5,得到 {2,7,5} —— 这是可控局。

第二轮操作:甲将7减至3,得到 {2,3,5};

乙将5减至1,得到 (2,3,1) —— 这是可控局。

第三轮操作:甲将3减至0,得到 {2,0,1};

乙将2减至1,得到 {1,0,1} —— 这是可控局。

第四轮操作:甲将某个1减至0,得到 {0,0,1}(无选择余地);

乙将最后的1清零,得到 {0,0,0},乙胜。

 

二、制胜的初步秘诀和策略(较简单的“可控局”等):

 

1、最简制胜招数是造成“两堆一样”,这是一批“可控局”。—— 在例1第三轮,乙方弈出 {0,1,1};即锁定了胜局。随后,无论甲方如何操作,乙方总能清零并获胜。故对于甲方而言 {0,1,1} 是必败局,对于乙方则是必胜局;这就是一个可控局,乙方是主控者。

注意,{0,2,2}、{0,3,3}、…{0,m,m}、…都可经过若干轮的操作而抵达{0,1,1},故 {0,m,m} 是一批可控局,其中m是任何正整数。

(注:若对方已陷入 {0,m,m} 局势中;假定他从某个m中减去p枚棋子,则主控方只需在另个m中也减去p枚棋子,局势 {0.m-p,m-p} 仍是“两堆一样”,直到 {0,1,1}、{0,0,0} 为止。)

2、{1,2,3} 是第二个最简单的可控局。—— 在上例第二轮第二步,乙方弈出的 {1,2,3} 也是可控局。甲方此时有6种操作方案,但是随后乙方必能弈出 {0,m,m},最终获胜。

3、“可控局”、“可控操作”和“可控网”:—— 存在无限多的可控局,但却有更多的“非可控局”。下面列出一批层级较低的可控局,将它们按层级列阵如下(只需掌握其中5-6个以上层级最接近 {0,0,0} 的可控局,就能在游戏中拥有很大的主控权):

:     :     :     :     :     :

{5,8,13} , {5,9,12} , {5,10,15} , {5,11,14} , {5,16,21} , {5,17,20}, … … ;

{4,8,12} , {4,9,13} , {4,10,14} , {4,11,15} , {4,16,20} , (4,17,21), … … ;

{3,4,7} , {3,5,6} , {3,8,11} , {3,9,10} , {3,12,15}, … … ; 

{2,4,6} , {2,5,7} , {2,8,10} , {2,9,11} , {2,12,14}, … … ;

{1,2,3} , {1,4,5} , {1,6,7} , {1,8,9} , … … ; 

{0,1,1} , {0,2,2} , … … … , {0,m,m} , … … ;

{0,0,0} 。

 

从任何一个高于 {0,0,0} 的可控局出发,若只通过一步操作,绝不可能抵达另一个可控局,只能抵达某个“非可控局”(必定是层级较低的)。

但从任何“非可控局”出发,施行某种“可控操作”(本文第二部分将详细解说,也可按上面举出的可控局阵列操作),定能抵达某个层级较低的“可控局”。

如此逐轮操作下来,可构成朝向 {0,0,0} 汇聚的网,即“可控网”。

策略:主控方必须抢先弈出可控局,随后每轮持续弈出可控局,使对方无法摆脱可控网、逐步逼近 {0,0,0};最后以可控的方式“清零”。

 

三、变换“获胜准则”将会怎样?可以“让对手获胜”吗?

 

1、变换“获胜准则”之后,如何获胜?

若是约定:“清零者失败”(事实上,的确有不少人偏爱这个准则),前述的获胜策略总体上依然有 —— 主控方仍需一路控制局势,直到清零之前的最后一轮,才必须做出调整。

回忆例1,原来有:“… …  

  第三轮操作:甲将3减至0,得到 {2,0,1};

  乙将2减至1,得到 {1,0,1} —— 这是可控局。

  第四轮操作:甲将某个1减至0,得到 {0,0,1};

  乙将最后的1清零,得到 {0,0,0},乙胜。       ”

现在,乙方需要在第三轮第二步及时调整策略:避开可控局 {0,1,1}, 却要抢先弈出 {0,0,1} (“非可控局”)。随后,甲方只能清零,按新规则甲败,乙方获胜!

详细地说,调整后的策略应是:

  (1)目标:抢先弈出 {0,0,1} 。为此,主控方需从较高层级的可控局出发,一路控制下来,直到弈出 {0,2,2} 或 {1,2,3} 为止。

注意:绝不可弈出{0,1,1},它紧邻 {0,0,1},对方将一步获胜。

  (2){0,2,2} 是第一个可控临界点。此后,对方有2种可能方案,即 {0,0,2} 或 {0,1,2},随后,主控方必能弈出 {0,0,1}。

(3){1,2,3} 是第二个可控临界点。此后,对方有6种可能的操作方式;待其操作后,主控方将有:

(i)2个机会:若对方弈出{0,1,2} 或 {0,1,3},主控方应及时弈出 {0,0,1};

(ii)2个机会:若对方弈出{1,1,2} 或 {1,1,3},主控方应弈出 {1,1,1},以迫使对方弈出 {0,1,1},然后主控方就能够弈出 {0,0,1};

 (iii)2个机会:若对方弈出 {0,2,3} 或 {1,2,2},主控方应弈出 {0,2,2},然后按(2)执行。

(注1:无需硬记上述细节,只需理解并掌握原则、临机应变。)

(注2:一般地,从某个层级较高的可控局出发,总能通过若干轮操作后抵达 {0,2,2} 或 {1,2,3},随后即可按(2)或(3)执行。但或许会出现对方急于求败的情况:即对方可能从某个可控局出发,弈出一个非可控局 {0,1,m},m > 1;这时,主控方就能直接弈出 {0,0,1},更快地锁定胜局。)

 

2、如何能够(并且,为何有时需要)“使对方被动地获胜”?

假若,获胜准则恢复为:“清零者获胜”,那么,运用上述调整后的策略,主控方在最后一步弈出了{0,0,1},那么,对方随即就能清零。于是,在主控方控制之下,对方将“被动地获胜”。

又假若,获胜准则已变为“清零者失败”;那么,只要继续采用前面第二节的全套策略、不做任何调整,主动地一路弈出可控局,直到最后主动清零、“主动失败”,遂使得对方“被动地获胜”。

如果游戏的对方是晚辈小朋友,他们大多会觉得有输有赢的游戏才有趣。如果能不动声色地让他们多赢几盘,取得皆大欢喜的效果,应该也是乐事!—— 如果能够给需要关爱的人们带来更多的快乐,那将是更高层级的快乐。

 

站务

全部专栏