隐性唯一数法:寻找数字的唯一位置
隐性唯一数是某个数字在一行、一列或一宫中只有一个合法位置,即使该格仍有其他候选数也可确定填入:这个区域必须包含该数字,而其他位置都已被排除。
推理实例
从左上角读取坐标:r 代表行,c 代表列。小数字表示候选数,描边标出图注讨论的格子。
在求解器中打开本例查看完整的 81 格输入
每行从左到右,逐行从上到下读取。0 表示空格。
003056789056789123789023456234567891567891234891234567345678912678912345902345678寻找第 1 行缺失的 2
第 1 行已有 3、5、6、7、8、9,缺 1、2、4。空格是 r1c1、r1c2、r1c4,每格都有两个基础候选数,因此这三格中没有唯一候选数。
每个完成的行都必须有 2。其他两个位置均已排除,所以 r1c2 = 2。该格还有候选数 1 并不影响结论;第 1 行必须有一个 2,而这里是唯一位置。
| 空格 | 候选数 | 能填 2 吗? |
|---|---|---|
| r1c1 | 1, 4 | 不能:第 1 列的 r4c1 已有 2 |
| r1c2 | 1, 2 | 可以:所在行、列和宫都没有 2 |
| r1c4 | 1, 4 | 不能:第 4 列的 r6c4 已有 2 |
完整检查一个区域才能可靠判断
选一个缺少的数字,检查同一行、列或宫中的每个空格;数位置时不要更换区域。只在挑选的几个格子里看到一次 2 并不足够,该区域未经检查的格子仍可能接纳 2。
步骤 1. 选定一个区域及其中缺少的数字。本例选第 1 行和数字 2。
步骤 2. 逐个检查空格受到的另外两个区域的约束。
步骤 3. 数清所有合法位置。恰好一个位置才能证明隐性唯一数;两个或更多不行。
步骤 4. 没有合法位置时,应查找不一致之处,不要任意落子。
步骤 5. 填数后更新受影响的笔记,再查找新出现的唯一数。
候选数 1 去哪了?
推理前,r1c2 填 1 能通过基础的行、列和宫检查。但这些检查是局部的,不能证明整份答案可以包含这个 1。
若填 1,r1c1 和 r1c4 都无法接纳缺少的 2,第 1 行永远无法完成。隐性唯一数的推理不用试错就排除了这个死局;“无解”教程会把同一个错误输入作为诊断示例。
两个候选数不一定构成数对
r1c2 的 {1, 2} 只描述一个格子,不构成显性数对。数对需要同一区域内两个格子的候选数合起来恰为同样两个数字;两个候选也不表示应做五五开的猜测。
这一行只需确认 2 的唯一位置即可。使用足够完整又最简单的证明,不必先清除所有关联格子的候选 1,也不必先解完整盘,就能确定 r1c2 = 2。
检验理解
第 1 行也缺 4。初始状态下,4 是该行的隐性唯一数吗?
查看推理
不能。r1c1 和 r1c4 目前都能填 4。隐性唯一数要求选定区域内恰有一个合法位置;数字 2 的位置唯一,并不意味着 4 也唯一。
关于本例
本例从完整棋盘构造而来,为便于检查特定推理保留了较多已知数。诊断示例在明确说明时故意设置冲突或多解;它们是教学盘面,不是已评级的游戏题目。
规则与术语
- Nikoli:数独规则
示例使用的标准行、列及 3×3 宫规则。 本页的棋盘与推理说明为另行制作。
- Andrew Stuart:显性候选数
唯一候选数法的通用术语,以及它与隐性唯一数法的关系。 本页的棋盘与推理说明为另行制作。