象棋冠军七十年,引擎详注
让国际象棋棋迷说出谁最伟大,你会得到一场有脉络的争论:菲舍尔、卡斯帕罗夫、卡尔森,都以1886年以来代代相传的头衔为尺度。换成象棋来问,大多数英文的回答止步于这个问题本身。
答案是有的,而且几乎无人异议。胡荣华拿过十四次全国冠军,十五岁夺得首冠,五十五岁拿下最后一冠,1960年至1979年的十届冠军全部由他独得或并列。
于是我把这份纪录整理了出来。两项象棋头衔的每一位冠军,大多数人配有一局引擎详注的对局,免费且可逐着打谱。
- 历届全国冠军,1956至2025:22位得主,57次冠军
- 历届世界冠军,1990至2025:11位得主,19次冠军
- 两份研究,可逐条分支打谱:全国、世界
- 全部提供英文、简体中文和繁体中文版本
近年的纪录带着一个星号
2005年以来夺得全国冠军的十三人中,有十人被公开处罚,2010年至2023年的每一位冠军都在其中。2024年至2026年间,中国象棋协会对49人就买卖棋作出处罚,杭州一家法院判决六位特级大师受贿罪成立。我把所有名字连同处理结论一并保留在表格里,因为悄悄删掉他们只会让这份记录更失真。
这件事远不止表格里的一列那么简单,而且几乎没有英文报道。完整记述在这里:调查经过、所有被处罚者、判罚理由,以及全部中文出处。
背后的流程
我为象棋对局搭了一条分析流水线,这些页面上的每一条注释都由它生成。输入一局棋,它返回一份成品研究:每一着都有评判,引擎偏好的替代着法挂成可打入的分支,每条分支末尾给出结论,并用平实的语言说明这一着损失了什么。
它分四个阶段运行。
采集与校验。 棋谱来自公开档案,保存之前我会让每一局在规则引擎里重放一遍。无法合法重放的棋谱会被标记为损坏而不是发布。这比听上去更重要:档案里存在誊录错误,而没人核对过的棋谱迟早会把一步违规着法摆到读者面前。
分析。 使用Pikafish,每个局面一百万节点,每一着跑一次,MultiPV 2,因此每个局面都会给出最佳着法和次选着法。次选是开销最大的部分,但物有所值:没有它,你可以说某一着差,却不能说某一着是唯一选择,于是!和!!就无法标注。在有子力被舍弃的那些着上还会做第二次搜索,看看引擎的变化是否接受。
评判。 每一着前后的胜率决定它属于不精确、失误还是错着。另有一轮专门寻找值得称赞的着法。引擎自己的变化会作为同级分支挂在它本该取代的那一着上。
评分。 每条分支以国际象棋棋手早已熟悉的评估符号收尾:± 明显优势,⩲ 略优,= 均势。
这一切都不是为这25局专门定制的。它和Mistboard其他地方的变化分支与注释是同一套机器,把它对准一局新棋,花的是一个下午的引擎时间,而不是一个月的手工注解。
数据
| 局详注对局 | 25 |
| 步主线着法 | 3,081 |
| 步值得标注的着法 | 201 |
| 条引擎支线 | 183 |
| 步支线内的着法 | 4,228 |
| 步已发布着法树中的着法 | 7,309 |
| 个研究章节,两份名单合计 | 25 |
在201步被评判的着法中,108步是不精确,82步是失误或错着,11步是引擎想要称赞的着法。其中三步被标为妙手。
整理这份纪录
工作量更大的是数据而不是引擎。我找不到一份可供核对的英文名单,于是从中文资料中整理并交叉核对:57次全国冠军中的22位得主,19次世界冠军中的11位得主,含夺冠次数、每一个夺冠年份,1962年的并列冠军也标注为并列。
两张图表都由同一份数据生成,因此图与表不会互相矛盾。
胡荣华占据中间四十年。他连胜纪录中的空档来自文化大革命,而不是对手。从2005年起,色条转为红色。
历史只有三分之一长,末尾却是同样的形状。
下面是1965年的决赛:首位冠军与五年前从他手中夺走头衔的人之间,九十回合的残局较量。
打谱
如果你会下国际象棋,大约十分钟就能看懂象棋棋盘,注释使用的也是你已经熟悉的符号。入门页面约需五分钟,研究中的引擎变化都是可以直接打入的分支。