第485章 打敗你的不是我,是二進制(數學向,慎訂,不喜可跳)

兩分鐘一盤的方式,就這樣持續了好久好久,一直到西邊的太陽大部分沉下了山,只剩下一條紅邊發著光,把棋盤上棋子的影子拉得老長。

“啪!”

李察再一次落子,小醜一掃棋盤,就看出問題了,直言道:“我又輸了,不過不要緊,我們再來!我不信,我一盤都贏不了。”說著話,小醜就開始收拾棋盤,把所有的白子撿起。

李察卻是出聲拒絕:“不用了小醜先生,即便再下一百盤,只要我持黑子先走,你就必定輸,這和棋藝無關,和數學有關,是經過計算的。”

“嗯?”小醜停住撿白子的動作,看向李察,出聲問,“什麽意思?”

“我的意思就是,五子棋的規則雖然簡單,但經過計算卻是存在漏洞,在沒有任何限制的情況下,先手黑子是必勝的,對,必勝——只要按照特定的方式走,和任何人下,都是必勝。

一般來說,為了公平,正常對局中黑子會有‘三三禁手’、‘四四禁手’、‘四三三禁手’、‘四四三禁手’、‘長連禁手’。

所謂的‘三三禁手’,就是黑子落下一個子,會同時形成兩個或兩個以上的三連子,這是在先手前提下,白子根本無法抵抗的。

因此,正常對局中,黑子一旦走出‘三三禁手’或者被迫走出‘三三禁手’,就會判定為負。但現在我們之間的對局,沒有禁手,那麽你自然也就沒有獲勝的任何希望。”

“這也能算出來?”小醜還是有點不太相信。

“事實上,越是簡單的遊戲,越容易計算。”李察攤手道,“如果你有所懷疑的話,我們可以再換一個遊戲玩。”

“什麽?”

“拿棋子的遊戲。”李察道,說著話把棋盤拿開,抓了一把棋子,數了數一共十九個,分成三堆。

第一堆三個棋子,第二堆七個棋子,第三堆九個棋子。

“規則是這樣的。”李察道,“我們兩個人輪流從這三堆中拿棋子,每次都可以選擇任意一堆拿。拿的棋子數量,最少為一個,最多一堆全部拿走。等到剩下的最後一個棋子誰拿,誰就輸。”

頓了頓,李察看著小醜繼續道:“這個遊戲和五子棋不一樣,但同樣可以通過數學計算出來,所以先手也是必勝的。”

小醜眼睛閃了閃,盯著棋子思考了半晌:“我不信,我現在就想到了好幾種後手取勝的方式。”

“既然這樣,那我們試一試。”李察道,先手就從最右面九個棋子中的一堆中,拿走了五個。三堆棋子,立刻變成了“三七五”的樣子。

小醜想了想拿走了最右面剩下的四個棋子,變成了“三七”的樣子。

李察跟著拿走了第二堆的四個棋子,變成“三三”的樣子。

小醜盯著棋子看了好半天,沒有下手,看向李察問道:“我現在是不是算輸了?”

“對。”李察點頭,“雖然還沒有出結果,但你已經輸了。

現在是3:3的情況,你如果一次性拿走一堆,我可以拿走剩下一堆的兩個,留下一個給你,你輸。你如果拿走一堆中的兩個,我拿走另外一堆,留一個給你,你輸。

出於謹慎,你從一堆中只拿一個棋子,那我就從另一堆中也拿一個棋子,變成2:2。

而2:2和3:3,沒有本質上的區別——你拿一堆,我拿另一堆的一個,給你留一個,你輸。你拿一堆中的一個,我把另一堆全部拿走,給你留一個,你還是輸。無解。”

“但這只是一種情況,還有其他情況才對,不可能只是因為你先手,就一定贏。”小醜堅持道。

李察搖搖頭:“的確不是只有著這一種情況,全部的情況大體可以分為三種,也就是演化到最後,先手留下的必勝形態。

第一形態,最極端,給你剩一堆,且只有一個棋子。無論你拿不拿,都輸。

第二個形態,給你剩下兩堆,只要兩堆數目一樣,無論有多少,最後統統變成2:2,或者第一形態,你輸。

第三個形態,剩余三堆,復雜一些,但最終還是會一點點的變成前兩種,只要先手不出錯,後手的你依舊輸。”

“但你先手怎麽能不出錯?”小醜聲音變大,略顯失態,“你又不知道我是怎麽想的,怎麽能控制我的拿法?而你既然不能控制我的拿法,又怎麽能保證你每次拿的都不會出錯?”

“沒有這麽復雜的。”李察道,“在計算中,我不需要知道你怎麽拿,只要給你一個平衡態就行。簡單講的話,首先,我把每一堆棋子的數量都轉換成二進制橫向排列。對了,二進制就是把普通計算的‘逢十進一’變成‘逢二進一’,比如這樣。”

李察說著,用細長的一個棋子,在地上分別寫下三行數字:

0011(3)

0111(7)