computer chess  shogi  

Nov 16, 2017 • Michael Chen

筆者小時候就很喜歡將棋,覺得將棋的五角形和書法字很優美,但將棋畢竟是日本的文化,在台灣沒什麼相關的中文書籍,筆者也不諳日文,一直沒有機會一窺將棋文化。後來輾轉間發現 5五將棋 (Minishogi) 這種小型的將棋變體,棋盤很小,很快就可以下完一盤。雖然筆者棋力不佳,和手機上的 5五將棋軟體互有勝負,透過這種小型將棋,筆者總算慢慢學會將棋的基本玩法。

對於將棋初學者來說,5五將棋是一個很好的教材,由於 5五將棋的盤面相對簡單,幾手內就可以從開局進入中盤,學習者可以很快學到一些將棋棋子間的組合和攻防。不過,5五將棋和本將棋還是有一些誤差,像是 5五將棋盤面較小,角行和飛車的角色相對削弱;另外,由於棋子數目少,防守的方式也比較簡單。雖然如此,做為一個微型的將體變體,5五將棋仍然是一個很好的將棋世界入門磚。

對於電腦科學家來說,5五將棋也是一個很好的題材。由於 5五將棋規則和本將棋相當類似,盤面又比本將棋簡單,開發起來時程更短,很適合用來練習實作電腦下棋程式。像是西洋棋變體中的洛斯阿拉莫斯象棋 (Los Alamos Chess) 就是在 50 年代電腦運算能力尚未發達時,簡化西洋棋規則而成的產物。雖然現代已經有很好的硬體來支援更強的下棋程式,像是 DeepBlue 或 AlphaGo,但對於大部分的程式設計者來說,不是隨時都有這種豪華的硬體供我們使用,如何在有限的運算資源下寫出夠聰明的下棋軟體,仍然是一個有趣的課題。

5五將棋和本將棋的差別,就像是原型 (prototype) 和產品 (product)。我們的努力的目標當然是開發出優質的產品,但直接一頭熱下去開發產品,往往時程過長,若之後對產品不甚滿意,就後悔莫及。像是設計桌遊,我們不會一開始就請設計師畫出精美的遊戲板,而會簡單地用紙筆畫出簡易版模型,反覆地嘗試和修改規則,直到滿意後才進入後續的開發。如果我們先用很小的成本開發出一個足以展示概念的原型,比起單純用投影片展示畫面,更能使人加深印象;不論是求職或是募資,好的原型能對自己大大加分。

好的原型,要能表達產品的本質,像是京都將棋 (Kyoto shogi) 或是五分摩訶將棋 (Micro shogi),其規則和本將棋的差異就比較大。雖然這兩類將棋變體的升變 (promotion) 規則很有趣,但本將棋中沒有這種升變方式,從學習的觀點來看,這兩種將棋就不是好的原型。

對於忙碌的現代人來說,要能夠好好地下一盤象棋、本將棋或是西洋棋似乎是種奢侈,不過,如果願意花些許時間學習,5五將棋或是小型西洋棋 (minichess) 或許也是一個不錯的選擇。