新AI改變的第3手定式,與10種戰法
我們重新打造了 bocch 的「最強」電腦。讓它和原本的「最強」對弈400局,結果是293勝83敗24和,勝率76%。這篇文章整理新AI是怎麼做出來的,以及用它的眼光重新檢視後,定式和戰法有什麼改變。
從評分表,到看整個棋盤的AI
以前的AI是看著局面,用評分表來判斷「哪一方有利」。抵達對岸的棋子1顆249分、孤子扣分、能走的手多就加分、有下一手就能抵達的棋子也加分,大概是這樣。各項目的權重是用26,000局的數據調整的,但項目本身是人想出來的。人沒有察覺到的形狀好壞,評分表寫不進去。
新AI不用評分表,而是看整個棋盤,直接算出那個局面有多容易贏。這就是神經網路。我們沒有教它該看什麼,它和自己下了數十萬局練習賽,自己學會了容易贏的形狀。
下練習賽、復習輸掉的局面、再和之前的自己比試,贏了就換成新的自己。這樣重複了9輪,成功交替的只有4次。越強,就越難贏過之前的自己。
途中也做了把AI的腦袋加大的實驗。判斷形勢變得稍微準確了一點,但計算變重了2倍以上,能讀的手淺了1手,結果輸給原本的AI。反過來,只是把計算加快的版本,對原本的AI贏了57%。也就是說,在 bocch 裡,能讀得深比看得聰明更重要。現在的「最強」每手用3秒,讀到15手深。
第3手的定式有什麼改變
我們用新AI的眼光,重新調查到第3手為止的定式。第1手和第2手幾乎沒變,黑方依偎、白方並肩依然是主線。改變的是第3手,大致發現了2件事。
1. 雙方都守角時,照定式走依偎
這是黑方守角(6f→6e)、白方也以守角(1a→1b)應對的局面。定式的第3手是另一側的依偎 1f→2e。新AI則選了把守角的棋子再靠一步的 6e→5e。
各讓它們下100局,定式的依偎是80%,AI的手是49%。這是定式正確的局面。開局時,先組成棋塊比把手伸開更容易贏。
2. 對方衝到中間時,往前推
接下來是黑方守角後,白方以 5a→3c 的候鳥衝進中間的局面。這裡的定式也是依偎。新AI則走 5f→5d 的一桿槍,把棋子往前推了2格。
結果是定式的57%,對上一桿槍的88%。對方衝到中間時,與其鞏固防守,不如往前出擊決勝負。這就是新AI的答案。根據這個結果,我們改寫了「最強」電腦的定式表,以及遊戲「學習」分頁裡的第3手表。
第1手與第2手的組合=戰法
在 bocch 裡,我們之前都像依偎、一桿槍這樣,一手一手地取名字。但用新AI重新調查後發現,即使第1手相同,勝率也會因第2手而完全不同。
所以我們把自己第1手和第2手的組合稱為「戰法」,替最常見的10種取了名字。不論黑方或白方,形狀相同就是同一個名字。有了名字,就能一句話說出這局的開局是什麼,記起來、和別人討論都更輕鬆。就和將棋的矢倉、四間飛車一樣。
下圖是黑方走了2手的樣子(省略白方的手)。每種戰法都讓新AI互相對弈200局。
正統派:對方正確應對也很強
- 盾槍:用依偎做出盾牌,再用一桿槍把旁邊的棋子筆直推出。對方以最佳手應對時勝率也有47%,是10種中最高的。在以前的定式中也是主線。
- 送行鳥:把依偎旁邊的棋子,用候鳥斜著跳出去。對方隨便下是86%,以最佳手應對也有42%。
奇襲型:對不熟悉的對手能大勝
- 雙璧:左右兩邊都靠攏。對方隨便下是87%,是10種中贏最多的。不過被並肩應對就會變得辛苦(雙璧的文章)。
- 先鋒:先衝到中間,再把邊靠攏。
- 一隅:守角之後,把另一側的邊靠攏。
- 雙刃:把依偎和另一側的候鳥組合起來。
另類:損手定式
先用守角走出1步,再靠攏1步的戰法。最後的形狀和用1手走依偎完全相同,所以整整虧了1手。即使如此,在對方以並肩應對的局面中仍有35%的勝率,沒有想像中那麼差。
不該走的戰法
- 迷途:用流雲衝出去之後再靠攏。就算對方隨便下,勝率也不到4成。
- 擊龍槍:用一桿槍和正面突破,兩路一起衝進去。
- 浮浪雲:用候鳥和流雲,讓棋子四分五散。
擊龍槍和浮浪雲,就算對方隨便下,勝率也在6%以下,幾乎贏不了。放著邊上的棋子不管、把棋子往中間跳,一定會被新AI抓住破綻。
總結
- 開局的基本是鞏固附近。
- 不過,對方衝到中間時,就往前推。
- 戰法中,盾槍和送行鳥是正統派。雙璧很強,但被並肩應對時要換成別的手。
在遊戲中,自己的第2手走出戰法時,它的名字會浮現在棋盤上。歡迎來和新的「最強」電腦對戰。
這篇文章是把 YouTube「bocch定跡研究」第24集的內容改寫成文章。雙璧被並肩應對時的勝率,已換成之後重新測量(第25集)的數字。