一道题目是怎么有了两个答案的

挖掘器只在制胜着法唯一时才保留一个局面。对大多数局面来说这是个厘兵问题:次佳着法必须丢掉胜势,或者少赢整整一个子。将死会让厘兵刻度饱和,所以它们有自己的规则:最佳着法必须比次佳着法严格更快地将死。

这是比快,不是唯一性。两步将死胜过三步将死,局面通过,而记录里没有任何东西说明那个三步将死存在。到九月,线上的将死题目中有 29% 在第一个半回合就有第二个将死着法。没有人报告过。被告知走错的解题者会以为自己真的走错了。

那个补丁,以及它为什么被拿掉

第一个修复加在评分器里:不是存储着法的一步棋,会被搜索是否有强制将死,找到就接受。搜索跑在请求路径上,所以只搜三步深,更长的题目仍然是陷阱,只是上面多了一条特别的提示。太浅,太取巧,而且这些本来都不该是象棋特有的。国际象棋的题目网站多年前就把这件事定下来了。

lichess 的规则

lichess 只有在每一步解题着法的将死着法都唯一时才会生成将死题目。次佳着法同样能将死,无论多少步,就意味着没有题目。解题时解题者按存储的着法走,只有一个例外:任何立刻将死的着法都会被接受。这不需要搜索。只是检查一下棋盘。

两半严丝合缝。评分器需要搜索的一切,生成器早已拒绝发布,所以评分器可以很笨。挖掘器现在就是这样工作的(这道门只是一个函数),三步搜索没有了,"最快将死"的提示也没有了;评分器转而接受的是一次棋盘检查。唯一的例外与 lichess 一致:存储着法一步将死的局面仍然是题目,即使别的着法也能一步将死,因为评分器接受其中任何一个。

a9 的车在 a10 将死。i9 的车在 i10 将死。两者都被接受,这样的局面仍然是题目。这是评分器自己的测试局面。

撤下 382 道题目

读取线上每道将死题目的复核证据:965 道中有 661 道在着法序列的某处有第二个将死着法。大多数出现在最后一步,存储着法一步将死,别的着法也能一步将死,这属于例外所涵盖的情况。472 道在不是一步将死的那一步有第二个将死。90 道已经因为别的原因撤下。其余 382 道于 2026-09-11 撤下。

将死题目数量
题库中965
着法序列中某处有第二个将死着法661
在不是一步将死的那一步有第二个将死472
已因别的原因撤下90
于 2026-09-11 撤下382
从全部将死题目到被撤下题目的漏斗。

这占线上象棋题目的 27%。题库从 1,415 道减到 995 道,留下的每一道都只有一个答案,每一步都经过检查。严格的规则会损失将死题:试点批次大约每三局产出一道题目,其中将死的那一半会减少 40% 左右。下一批一千局挖完之后我才会知道真实数字。题目少一些,但每一道都是真正的题目,这是正确的取舍。

由此有三件事。下一批一千局会按严格规则挖掘,产出数字会写进挖掘器的说明文章。留下的题目已经开始带上它们所展示的杀法名称(马后炮、铁门栓、双车错),等每种杀法都有了自己的页面,会另写一篇。而这条规则只解决了将死:两步不同的着法都能赢下一个子的局面,目前仍然直接拒绝,那里要不要接受一组答案,是尚未解决的问题。

试一道只有一个答案的题目

今日题目,来自留下的题库。如果你找到一个网站不接受的将死,那现在就是一个 bug,我想听你说说。

做象棋题目挖掘器是怎么工作的