小小的候选数,藏着下一步线索。
理解数独候选数、唯一数、宫行列排除、数对和 X-Wing 的推理依据,区分真正的逻辑结论与明确标记的假设搜索。
候选数代表可能,不代表猜测
标准 9 × 9 数独要求,每一行、每一列和每个 3 × 3 宫内,数字 1 到 9 各出现一次。对一个空格而言,候选数是尚未被这些约束和此前有效推理排除的数字。
格子里的小数字 7,不是在说“我猜这里是 7”,而是在说“目前还不能排除 7”。教练会显示自动候选数,并在发生有效排除后保留这条推理结果。
两种不同的“唯一”
显性唯一数是某个格子只剩一个候选数。依据来自所在行、列、宫已经出现的数字,以及之前得到的有效排除。
隐性唯一数则从数字出发:某个数字在一整行、一整列或一个宫里只剩一个位置可放。即使那个格子里还有其他候选数,也能因为整个区域的约束确定它。
两种推理并不相同,教练会分别标记技巧名称和相关区域。
有用的一步,也可能只是排除
如果一个宫里,某个数字的所有候选位置都落在同一行,就说明它必定在这个宫内占用这一行。于是,同一行中位于这个宫之外的其他格子,就不能再放这个数字。反过来,从一行或一列限定到一个宫,也能进行同类推理。
显性数对是同一区域中,两格都恰好只剩相同的两个候选数。这两格会共同占用这两个数字,其他格子便可以排除它们。隐性数对则是两个数字,都只能出现在相同的两格里,因此这两格的其他候选数可以删除。
推理依据来自这些约束,而不是后台已经算好的最终答案。
X-Wing 多看了什么
针对一个数字,寻找两行:每行都只剩两个候选位置,而且它们恰好落在相同的两列。不论最终采用哪条对角线,这两列都会在选中的两行里出现这个数字,因此这两列其他位置的同数字候选项可以删除。把行和列交换,原理同样成立。
四个角点是推理依据,被删除候选数的格子是操作目标。教练用不同底色显示两种角色,避免把“观察哪里”和“改动哪里”混在一起。
知道唯一解,不等于解释了每一个数字
独立搜索可以确认一道题是否有唯一的完整答案,但这不等于解释了某一步为什么能用人类逻辑技巧推出。逻辑教练不会查看最终答案,再为它编造理由。
已支持的技巧无法继续时,解析会明确停下来。可选的搜索演示会标记假设和回退。假设分支内的推理依赖当前假设,不会被说成原始题目里已经无条件证明的事实。
把原题和自己的进度分开
在数独教练中,用录入原题填写题面给出的数字,用填写进度填写自己完成的部分。填写进度时,原题数字会锁定。
冲突或无解,可能来自抄错题面,也可能来自自己的某次误填。系统不会假装总能唯一定位哪一格出了问题。上一步会同时恢复数字和候选数;自行填写新数字后,则会依据当前实际棋盘重新分析。
详细技巧定义也可参考 HoDoKu 的唯一数讲解和技巧索引。