WUZIQI — Gomoku
好看,本身就是理由
← 返回部落格

棋理 · 引擎

照著引擎推薦的那一手下,為什麼反而更差

強引擎給出的最佳一手,常常安靜得看不出理由。照著下卻可能更差——那條推薦是為了贏棋算出來的,並沒有義務讓你看懂。

棋盤上標出的那個落點,是引擎算出的答案;它本身不附帶理由。
棋盤上標出的那個落點,是引擎算出的答案;它本身不附帶理由。

複盤時,你把引擎標出的最佳一手記下來。下一盤遇到相近的形狀,你照著落子,卻發現對手的回應和複盤時不同,自己越下越亂。問題不一定出在那手棋上:你記住了落點,卻還沒看見它仰賴哪些後續變化。

賽事強度,不等於單步答案

第 27 屆 Gomocup 於 2026 年 6 月 5 至 7 日舉行。自由規則組中,RAPFI25 以 Elo 2495、總比分 349:11 排名第一;KATAGOMO26 以 Elo 2290、324:36 排名第二。兩隊直接交手的比分是 19:5。看到這樣的成績,你可能會更願意相信第一名給出的每個落點。

換到標準規則組,RAPFI25 的 Elo 是 2121,KATAGOMO26 是 2112,兩隊直接交手打成 7:7。同一對程式在不同規則下,賽事紀錄呈現出不同的差距。規則一變,複盤時要檢查的局面條件也跟著變;不能只憑程式名稱判斷某一手有多穩。

賽事 Elo 描述的是程式在一組對局中的整體強度,不能當作某一手棋的分數。複盤介面的局面評分來自當前引擎的評估與搜尋:規則、搜尋深度,以及搜尋中假定的對手應法,都限定了它的意義。把「這手比另一手高一點」讀成「我下完也容易處理」,中間還少了一步檢驗。

推薦服務於搜尋,不負責解釋

假設引擎把一個安靜的落點排在衝四之前。它可能已經算到,衝四會讓對手取得方便的交換機會,而安靜的一手保留了下一回合的選擇。介面通常給你的是排序、分數或勝率;若沒有展開變化圖,這些數字不會告訴你該防哪一路。

你照著下一手,若對手選了複盤時沒查看的支線,輪到你時就得重新判斷。引擎在既定條件下仍可能認為原本的推薦更好,但這個結論不能替你算完支線裡的變化。先弄清楚它預期對手如何回應,再決定那手棋是否適合帶進下一盤。

CHI PLAY 2022 的《(A)I Will Teach You to Play Gomoku》討論了會下棋的 AI 與幫助人學棋之間的落差;CHI PLAY 2025 的《(A)I Can Play Gomoku》進一步研究提供提示、回饋與複盤支援的教學系統,並檢驗其效果。這些研究提醒我們:對局 AI 能給出走法,教學層還得幫助人理解、練習和回顧。

強棋未必有現成口訣

Cal Poly 的《Mastering the Game of Gomoku Without Human Knowledge》展示了不仰賴人類知識、透過自我對弈訓練的棋手。它能找到有效走法,卻不會因此產生一份供你背誦的棋理清單。複盤時若只抄座標,你得到的是一次搜尋的結果,不是形成判斷的方法。

Rapfi 論文說明了另一條提升實力的路徑:在缺少 GPU、運算資源有限的情況下,結合蒸餾過的神經網路、調校過的評估與搜尋,超越當時最強的開源 AlphaZero 類引擎 Katagomo。這樣的成績說明,走法可以來自精細的計算安排;若想學會,你仍須把那手棋放回具體變化裡檢查。

兩組棋子呈現疏密對照,一組間距較大,另一組排列較密。
疏密只能提示你繼續觀察;複盤時還要分清幾個可選應點,以及幾條必須處理的威脅。

先把推薦變成能回答的問題

把引擎當作查變化的字典,會比把排名第一的程式當作老師更實用。打開候選手列表時,先看第 2 到第 5 名:它們各自守住什麼、放掉什麼?如果其中一手的意圖能用棋盤上的兩條線說清楚,你就有了比較第一名的參照。

接著換一個搜尋深度,重新跑同一個局面。先留下兩次都排在前面的落點,再逐一查看對手最有力的回應;排序明顯變動的落點,則標記為待查。深度測試不能證明哪手必勝,但能避免你把一次短搜尋裡的微小分差當成定論。

看變化圖時,試著把「值多少分」改成棋盤上的問題:這手落下後,對手得處理哪條線?對手可以從幾個點處理同一條線?這些問題會促使你分清威脅本身與擋住威脅的落點,也能讓你發現自己是否漏看了一路回應。

做法:同一局面先記錄第 2 到第 5 名候選手,再換搜尋深度重跑;只把兩次都排名靠前的落點帶入變化圖。對每手寫下對手最有力的回應,並標明它處理的是哪條線。

數清威脅,也數清應點

看一個依自由規則、不設禁手的座標示意:黑棋在 H8、I8、J8,以及 K7、K9、K10;現在黑棋落在 K8。橫向 H8—K8 與縱向 K7—K10 都連成活四。若換成對黑棋設禁手的連珠規則,這手會構成四四禁手,不能照此使用。

在這個自由規則示意裡,白棋面對的是橫、豎兩條獨立的威脅。G8 與 L8 是橫線兩端可選的擋點,K6 與 K11 是豎線兩端可選的擋點;四個座標不等於四條威脅。擋住其中一端,也擋不住另一端,更顧不到另一條線。這樣數,才知道一手棋要求對手處理幾件事。

回到你的複盤局面,先確認規則,再標出每條威脅和各自的應點。若一手棋只製造了一條容易化解的威脅,即使介面分數略高,也別急著記住它的座標。繼續看對手應完後,你還剩下什麼可走。

一次只帶走一個判斷

複盤快結束時,從引擎評估可接受的候選手中挑兩手比較,試著回答:「哪一手讓對手可行的回應更少?」前提是兩手都經過變化檢查;應點少本身不保證棋好。若你說不出原因,就把對手的一種回應擺出來,繼續走到差別出現為止。

下一盤只練這一個判斷。遇到相似形狀,先辨認獨立威脅,再看對手有哪些可行回應;下完後回頭核對自己漏了哪一處。一次弄清一個判斷,比記下一串推薦座標更容易在實戰中用上。

一次只比較可接受候選手的後續應法

讀完了?打開 WUZIQI 試一局。