抓三堆遊戲及其終極奧秘(第一部分)_風聞
guan_15859850211090-2022-01-22 22:39
“抓三堆”遊戲及其終極奧秘 (第一部分)
萬春熙(北京理工大學),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},那麼,對方隨即就能清零。於是,在主控方控制之下,對方將“被動地獲勝”。
又假若,獲勝準則已變為“清零者失敗”;那麼,只要繼續採用前面第二節的全套策略、不做任何調整,主動地一路弈出可控局,直到最後主動清零、“主動失敗”,遂使得對方“被動地獲勝”。
如果遊戲的對方是晚輩小朋友,他們大多會覺得有輸有贏的遊戲才有趣。如果能不動聲色地讓他們多贏幾盤,取得皆大歡喜的效果,應該也是樂事!—— 如果能夠給需要關愛的人們帶來更多的快樂,那將是更高層級的快樂。