2009年6月7日

數學西洋棋─兩步將的問題

作者/游森棚

近年來因為訓練奧林匹亞國家代表隊國手,參考了許多東歐和俄羅斯的試題,才真切體會西洋棋深深紮根在這些國家的文化中——有非常多的試題情境是西洋棋與兩人對奕,這風格和台灣的「兩人同算一個方程式,甲永遠會看錯一個係數,乙永遠會看錯另一個係數」實在很不相同。

我常想,為什麼他們這麼愛下棋,這麼會下棋?這應該是古時候天氣寒冷,沒電視也沒電腦,關在屋內無事可作,於是只好下棋動腦力。西洋棋是東歐國家和俄羅斯的國技,特別是蘇聯,產生了非常多的大師。

數百年來,精彩的棋局數以萬計,每一個棋譜的每一步都是深思熟慮的結果,把所有的棋譜丟到電腦裡就成為龐大的資料庫。1997年5月,IBM的電腦深藍(Deep Blue)擊敗了西洋棋世界冠軍卡斯帕洛夫(Kasparov),轟動了全世界。事實上這七戰四勝的比賽在各場次之間是容許電腦修改程式的,因此卡斯帕洛夫輸得很不甘心,不過也是雖敗猶榮了。

和所有棋類一樣,西洋棋要下得好需要邏輯推理,這也是下棋的迷人之處。因此喜歡數學的人,有非常高的比例也喜歡下棋。西洋棋是用來訓練思考的好材料——前蘇聯的數學這麼好,也許和這樣的文化背景有一點關係。

經過幾百年的淬鍊和棋手的鑽研,在小小的棋盤上產生了許多精彩的問題。這些問題假西洋棋之名,實為邏輯推理。這些問題之多、之精彩、之數學、之不可思議,有機會的話我想單獨寫一本書來探討。這裡我們只介紹「兩步將」。這些問題完全是數學推理,和棋力高低無關

最常見的西洋棋邏輯推理問題稱為「兩步將」:給一個棋局,白棋先下一步「白1」,然後不管黑棋如何下「黑1」,白棋的「白2」必可將死黑棋,結束棋局。

問題的模式都是一樣的:請問你要怎麼下「白1」?

兩步將的問題常常取自於真正的棋賽,所以一面解題的同時,可以一面欣賞棋手在當時的絕妙想法。你可能會想,不過只要考慮兩步而已,這不是很容易嗎?錯了,大錯特錯,實際上遠非如此。

記住一個重點:你的「白1」要使得「不管黑棋如何下『黑1』,白棋一定可以在下一步的『白2』一擊必殺」。只要黑棋還有機會逃走或撐久一點,問題就沒有解決。

來看一個簡單的例子。讀者執白棋,請問你要怎麼下「白1」?

盤面上根本沒多少子,沒什麼選擇,但即使是這樣都不容易。幾個顯而易見簡單的想法都行不通——如果我們想用城堡鎖死7、8兩列,則黑騎士都可以走到國王旁邊擋住攻勢而達不到兩步將。如果我們直接把城堡移動到國王前面,國王都可以輕鬆的逃開。如果我們動白國王,則無論走哪一格,黑騎士都可以反過來跳到能將白國王一軍的地方(這就是三十六計中的圍魏救趙)。圖二是四個例子,箭號代表「白1」和「黑1」的走法,此時「白2」不管怎麼走都無法將死黑棋,任務失敗。【更詳細的內容,請參閱第474期科學月刊】

回本期目錄

沒有留言: