鬥獸棋在 Mistboard 上有了新的最強電腦。它就是 KataGo-AnimalChess:hzyhhzy 在 lightvector 的 KataGo 基礎上開發的 KataGomo,使用 Kouza(lxsgx23)Dandelion 4 的 b10c384 神經網路。我們經 hzyhhzy 許可在這裡使用它,名字就叫 KataGo。
KataGo 和 AlphaZero 學西洋棋一樣,靠自己和自己下棋學會了鬥獸棋。神經網路提出著法、評估局面,搜尋再去檢驗它的想法。沒有任何別的引擎教過它。
對 Misty 82 勝 0 負
上線之前,我們讓它和我們自己的鬥獸棋電腦 Misty 進行了一場公開挑戰賽:200 盤,每步 1,000 次訪問。hzyhhzy 的引擎贏 82 盤、輸 0 盤、和 118 盤,得分率 0.705。每一盤勝局都是走進 Misty 的獸穴取勝,每一盤和棋都是重複局面。
全部 200 盤都收在一個研究裡,詳情見比賽記錄。
兩盤勝局,兩個引擎各自怎麼看
我們用兩個引擎按比賽設定,把其中兩盤勝局的每個局面重新評估了一遍。每張圖只顯示一個數:KataGo 的勝率,由兩個引擎各判斷一次,一次是 KataGo 自己,一次是 Misty。兩條線分開的地方,就是兩個引擎對誰佔優看法不一。和棋算作半勝;Misty 的分數(釐兵)按我們分析棋盤使用的曲線 1 / (1 + e^(−0.00368 × cp)) 換算成勝率。
第 67 盤:多一隻狼,卻輸了
Misty 執紅,第 11 回合吃掉一隻狼,大半盤都認為自己領先;而 KataGo 的得分先停在 50%,隨後一路上升。
第 29 回合 Misty 把困在角落的虎從 g8 走到 g9,KataGo 對自己的得分從 61% 升到 92%,而 Misty 仍認為自己 +111。KataGo 為紅方給出的變化從獅 b1-b2 開始,能讓紅方保持 37%。Misty 到第 36 回合才看出來,晚了七個回合。
第 94 盤:慢慢收緊
Misty 執黑,第 19 回合吃掉一隻狼,此後 30 個回合裡大部分時間都認為自己領先;而 KataGo 的得分從 50% 慢慢升到 63%。
第 50 回合 Misty 把貓從 c8 走到 c7,KataGo 從 63% 升到 98%。Misty 仍認為自己 +80,兩個回合之後才算出必輸。KataGo 為黑方給出的變化是象 d6-d7,能讓黑方保持 38%。
在這兩盤棋中,KataGo 分別比 Misty 早七個回合和兩個回合看出勝局。
入門仍從 Misty 開始
KataGo 排在鬥獸棋電腦列表的最上面,在 Misty 之上。Misty 仍是預設對手,也是較容易的那一個;想下更難的棋就選 KataGo。鬥獸棋的復盤和分析仍由 Misty 負責。
在網站上,KataGo 每步搜尋 150 次訪問,大約用時 1.5 到 3.5 秒。在這個設定下,它和 Misty 下了 50 盤,19 勝 0 負 31 和,得分率 0.690,與 1,000 次訪問的結果分不出差別。它的棋力來自神經網路。
致謝
KataGomo 是開源專案,網址是 github.com/hzyhhzy/KataGomo。感謝 hzyhhzy 提供引擎並允許我們使用,感謝 lightvector 的 KataGo,也感謝 Kouza 的 Dandelion 4 神經網路。