什么是显性数对?
显性数对(Naked Pair)是数独中候选数组技法的入门,也是从基础进入中级的重要跨越。
当同一个单元(行、列或宫)中,有恰好两个格子的候选数集合完全相同,且都只有两个候选数时,这两个格子就构成一个显性数对。
逻辑很简单:这两个数字(设为 A 和 B)必定以某种方式分占这两个格子——不管是”格1=A、格2=B”还是”格1=B、格2=A”,这两格以外的所有格子都不可能填 A 或 B。
关键洞察:不需要知道哪格填 A、哪格填 B,仅仅知道”它们就在这两格里”,就足以排除其他格子的候选数。
为什么这个技法有效?
在同一单元中,A 和 B 各出现一次。如果单元中只有这两个格子能放 A 和 B,那么这两个格子”独占”了 A 和 B 的放置权。其他格子即使在候选数列表里有 A 或 B,实际上也放不了,因为 A 和 B 已经被”预约”给这两格了。
解题步骤
- 标记所有候选数:用铅笔模式为所有空格填写候选数
- 寻找双候选格:在行、列、宫中找到只有 2 个候选数的格子
- 配对检查:看是否有另一个格子与它候选数完全相同
- 确认同单元:两个配对格必须属于同一行、同一列或同一宫
- 执行摒除:从该单元内的其他所有格子中,删除这两个候选数
- 检查收益:摒除后检查是否产生新的唯一空位或其他技法
示例详解
步骤 1:棋盘总览
观察棋盘:已知数字和所有空格的候选数。 步骤 2:观察第 4 行:已有 x、5、4、x、2、x、7、x、x。让我们看看空格中候选数的分布情况。
观察第 4 行:已有 x、5、4、x、2、x、7、x、x。让我们看看空格中候选数的分布情况。 步骤 3:列出第 4 行所有空格的候选数:R4C1 有 {1,6,8,9},R4C4 有 {3,6},R4C6 有 {3,6...
列出第 4 行所有空格的候选数:R4C1 有 {1,6,8,9},R4C4 有 {3,6},R4C6 有 {3,6},R4C8 有 {1,3,8,9},R4C9 有 {1,3}。仔细看——有两个格子的候选数完全相同,都只有 2 个候选数,你发现了吗? 步骤 4:注意!R4C4 和 R4C6 的候选数完全相同,都是 {3, 6}。这就是显性数对!3 和 6 被锁定在这两个格子中。
注意!R4C4 和 R4C6 的候选数完全相同,都是 {3, 6}。这就是显性数对!3 和 6 被锁定在这两个格子中。 步骤 5:既然 3 和 6 已被锁定在 R4C4 和 R4C6,第 4 行的其他格子就不可能包含 3 或 6。我们可以消除 ...
既然 3 和 6 已被锁定在 R4C4 和 R4C6,第 4 行的其他格子就不可能包含 3 或 6。我们可以消除 R4C1 的 6、R4C8 的 3、R4C9 的 3。 步骤 6:为什么可以消除?因为 R4C4 和 R4C6 只有两个候选数 {3, 6},它们必须各填一个。无论 R4C4=3、...
为什么可以消除?因为 R4C4 和 R4C6 只有两个候选数 {3, 6},它们必须各填一个。无论 R4C4=3、R4C6=6 还是反过来,3 和 6 都会被这两个格子"占用"。 步骤 7:同样的道理也适用于列和宫。在同一列或同一宫中,如果两个格子的候选数完全相同且只有两个数字,就形成了显性数对,可以消...
同样的道理也适用于列和宫。在同一列或同一宫中,如果两个格子的候选数完全相同且只有两个数字,就形成了显性数对,可以消除同单元其他格子中的这两个数字。
示例一:行中的显性数对
考虑第 5 行,经过基础技法分析后,候选数情况如下:
| 格子 | 候选数 |
|---|
| R5C2 | {3, 7} |
| R5C4 | {1, 6, 9} |
| R5C6 | {3, 7} |
| R5C8 | {1, 4, 9} |
| R5C9 | {4, 6} |
R5C2 和 R5C6 的候选数都是 {3, 7},构成显性数对。
摒除:第 5 行中所有其他格子删除候选数 3 和 7。本例中,3 和 7 只在 R5C2 和 R5C6 出现,其他格本就没有,没有额外收益。
但若 R5C4 的候选数是 {1, 3, 6},则通过摒除 3 后变为 {1, 6},候选数减少,有助于后续推导。
示例二:宫中的显性数对
考虑右下宫(第 7-9 行,第 7-9 列),候选数分析后:
- R7C8:{2, 5}
- R8C7:{1, 4, 6}
- R8C9:{2, 5}
- R9C7:{1, 4}
- R9C8:{1, 3, 6}
R7C8 和 R8C9 的候选数都是 {2, 5},构成宫内显性数对。
摒除:从宫内其他格子删除候选数 2 和 5。
- R8C7 原为 {1, 4, 6}——无 2 或 5,不变
- R9C8 原为 {1, 3, 6}——无 2 或 5,不变
现在假设 R8C7 原为 {1, 2, 4, 6},删除 2 后变为 {1, 4, 6},候选数缩减。
一个有实际摒除效果的完整例子
第 3 行剩余空格候选数:
| 格子 | 候选数 |
|---|
| R3C2 | {3, 7} |
| R3C4 | {3, 5, 7} |
| R3C5 | {3, 7} |
| R3C7 | {1, 5} |
| R3C9 | {1, 9} |
R3C2 和 R3C5 都是 {3, 7},构成显性数对。
摒除第 3 行其他格子的 3 和 7:
- R3C4:{3, 5, 7} → 删除 3 和 7 → {5},只剩一个候选数,直接确定 R3C4 = 5!
连锁反应:R3C4 确定为 5 后,继续从第 3 行其他格子中排除 5:
- R3C7:{1, 5} → 删除 5 → {1},确定 R3C7 = 1!
一次显性数对的发现,通过摒除产生了唯一余数,进而引发连锁确定——这就是显性数对在实战中的威力。
实用技巧
- 先找只有 2 个候选数的格子:这些格子是显性数对的候选成员,优先扫描
- 跨单元检查:两个格子可能同时满足行、列、宫三种单元关系,分别检查每种单元内是否有额外的摒除机会
- 与隐性数对区别:显性数对是候选数”暴露在外”,直接可见;隐性数对需要更细致的分析,参见隐性数对
- 连锁效应:一次显性数对摒除后,可能产生新的数对,形成连锁反应
与其他技法的关系
常见问题
Q:两个格子候选数相同但超过 2 个,能构成显性数对吗?
A:不能。显性数对严格要求两格的候选数集合完全相同且恰好只有 2 个候选数。如果两格都是 {3, 5, 7},那是显性数组(Naked Triple)的分析范畴。
Q:显性数对是否必须在同一单元(行/列/宫)内才有效?
A:是的,必须在同一单元内才能执行摒除。两格可以同时属于某行和某宫,在这种情况下可以分别从行和宫两个维度执行摒除,获得更多收益。
在爱九宫数独中练习
打开爱九宫数独 App → 学习 → 中级技法 → 显性数对,开始系统性练习。在铅笔模式下标记所有候选数,然后专注寻找只有 2 个候选数的格子,逐步培养识别数对的直觉。