KataGo:更强的斗兽棋电脑
发布于 2026年10月3日 · 更新于 2026年10月16日
斗兽棋在 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 的兽穴取胜,每一盘和棋都是重复局面。
每盘棋都由 Mistboard 自己的规则代码裁判,两个引擎只负责提出着法。双方的预算按用时对齐,在同一台机器上每步大约两秒:Misty 用它平时的 500 万个节点、单线程,KataGo 用 1,000 次访问、四线程,搭配 b10c384 神经网络。两个引擎都在固定的搜索量处停下,所以在 Modal 上下出的棋,就是它们在这里会下出的棋。KataGo 自带的重复局面规则被关闭,双方都按裁判的规则处理重复。
| KataGo | 胜 | 和棋 | 负 | 得分率 |
|---|
| 执红,100 盘 | 44 | 56 | 0 | 0.72 |
| 执黑,100 盘 | 38 | 62 | 0 | 0.69 |
| 合计 | 82 | 118 | 0 | 0.705 |
对局长度的中位数是 127 个半回合。得分率的 95% 置信区间是 0.67 到 0.74,约合 +125 到 +180 Elo;挑战赛的要求是 0.55。全部 200 盘都收在一个研究里,原始记录放在一个文件中,每盘一行 JSON。
虎现在可以横向跳河
我们是在 GitHub 上找揭棋引擎时发现 KataGo 的。它放在一个名为 KataGomo 的仓库的 AnimalChess2025 分支上,名字里看不出和斗兽棋有关,所以之前专门找斗兽棋引擎时漏掉了它。
它的虎既能纵向跳河,也能横向跳河,跳法和狮一样。我们的虎原先只能纵向跳,这个理解来自英文维基百科的条目。腾讯 QQ游戏的规则、莱顿大学的斗兽棋页面和 KataGo 自己的源代码,都让虎拥有和狮一样的跳法;一个按某条规则训练的引擎,去和一个按另一条规则下棋的引擎比赛,比出来的只是规则的差别。
从 9 月 21 日起,Mistboard 上的虎可以纵横两个方向跳河,规则引擎、电脑、分析棋盘、规则页面和题目都已更新。有一道题目被新的跳法驳倒,已经撤下。这次改动只增加了着法,所以之前的每一盘棋按原样仍然合法。
两盘胜局,两个引擎各自怎么看
我们用两个引擎按比赛设置,把其中两盘胜局的每个局面重新评估了一遍。每张图只显示一个数: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 早七个回合和两个回合看出胜局。
KataGo 就是那个围棋程序,用自我对弈重新训练
KataGo-AnimalChess 就是原版 KataGo,只是把棋盘和规则换成了斗兽棋,自我对弈的训练流程原样照跑:自我对弈时每步 400 次访问,10 个残差块、384 个通道的神经网络在两块 GPU 上用 SGD 训练,规则在 Dandelion 软件支持的各个变体之间随机切换,所以一个网络就能下所有变体。仓库里估计,在一个小型棋类上练到顶尖棋力,算力花费不到 50 美元。网络权重打包在软件的下载里,没有单独发布,也没有注明许可协议。
Misty 的评估只有三项手写的内容:子力、离兽穴的距离,以及陷阱扣分。在它之上再加一层学习出来的修正,并没有帮助。
Misty 不懂冲兽穴竞速
Misty 对局面的评估是子力,加上每个棋子离对方兽穴距离的奖励,所以冲兽穴竞速谁先到,它要等搜索抵达兽穴时才知道。8 月我们试了三种办法教它,一旦把搜索预算固定住,没有一种有帮助;在全力对弈中,竞速只决定 4.7% 的对局。教斗兽棋引擎冲兽穴竞速一文有完整的对抗结果,还有一盘靠搜索深度自己找到竞速的对局。
入门仍从 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 神经网络。