显式技巧

本页面介绍数独中的显式技巧,包括显单和显集。这些技巧是数独解题的基础,掌握它们是解决数独谜题的基础。

显单

显单 (Naked Single,也被译为唯一余数):格子只剩一个候选数时,只能填这个数字。

显单例子

图中格子 A6 只剩候选数 5 ,所以 A65 。这叫 显单 ,因为格子 A6 中只有一个候选数,答案很明显。

使用方法

  1. 寻找只有一个候选数的格子
  2. 直接填入这个候选数

显集

显集 (Naked Set 或 Naked Subset 或 Locked Set,也被译为显性数组,也叫锁集)是指一组格子,候选数的数量正好等于格子的数量。其中格子数量 1n81 \leq n \leq 8

消除逻辑 :在同一区域中,如果 n 个格子中正好有 n 个不同的候选数,显然这 n 个格子只能填这 n 个数字,所以该区域其它格子中的这些候选数可以全部消除。

显集 可以看作是 显单 技巧的一般化,而 显单 又可以看作 显集 最简单的情况(n=1n = 1)。

显双

显双(Naked Pair,也被译为显性二数组、显性数对)是 显集 n=2n = 2 的情况。也就是, 2 个格子总共有 2 个候选数。通常,这 2 个格子的候选数 完全一样

显双示例1

图中 宫3 (蓝色区域)中,格子 G1H2 中的候选数是 48 ,所以,这 2 个格子只能填这 2 个数字,所以, 宫3 中其它格子中的候选数 48 可以全部消除。

显双示例2

图中 行8 (蓝色区域)中,格子 E8I8 中的候选数是 14 ,所以,这 2 个格子只能填这 2 个数字,所以, 行8 中其它格子中的候选数 14 可以全部消除。

显三

显三(Naked Triple,也被译为显性三数组)是 显集 n=3n = 3 的情况。也就是, 3 个格子总共有 3 个候选数。

显三示例1

图中 行5 (蓝色区域)中,格子 A5D5H5 中的候选数是 358 ,所以,这 3 个格子只能填这 3 个数字,所以, 行5 中其它格子中的候选数 358 可以全部消除。

显三示例2

图中 列A (蓝色区域)中,格子 A4A6A9 中的候选数是 145 ,所以,这 3 个格子只能填这 3 个数字,所以, 列A 中其它格子中的候选数 145 可以全部消除。

显四

显四(Naked Quadruple,也被译为显性四数组)是 显集 n=4n = 4 的情况。也就是, 4 个格子总共有 4 个候选数。

显四示例1

图中 宫6 (蓝色区域)中,格子 G4H4I4I5 中的候选数是 2569 ,所以,这 4 个格子只能填这 4 个数字,所以, 宫6 中其它格子中的候选数 2569 可以全部消除。

显四示例2

图中 行6 (蓝色区域)中,格子 B6C6G6H6 中的候选数是 1568 ,所以,这 4 个格子只能填这 4 个数字,所以, 行6 中其它格子中的候选数 1568 可以全部消除。

使用方法

  1. 找到一组格子(大于1个),它们在同一区域中(同一行、列或宫)
  2. 这组格子的候选数总量等于格子数量:
    • 显双 :找同区域2个格子总共有2个候选数
    • 显三 :找同区域3个格子总共有3个候选数
    • 显四 :找同区域4个格子总共有4个候选数
  3. 从该区域的其他格子中消除这些候选数

提示

  • 显双最容易发现,因为两个格子的候选数通常完全一样

显式技巧理论(选学)

显集 (广义上的,包含显单)是指在区域 RR 中存在非空格子集 CC , 其候选数集为 SS,且 C=S|C| = |S|

显集技巧的证明

命题 :在区域 RR 中,若存在显集 CC, 其候选数集为 SS,则:

  1. CC 中的将填入 SS 中的数字,且每个数字正好填写一次
  2. 格子集 RCR \setminus C 中包含的 SS 中的候选数可以消除

证明

根据数独规则,同区域的格子中填写的数字不能重复,所以 CC 中必须填写 C|C| 个不同的数字。

而根据候选数集合的定义,CC 中的格子只能填写 SS 中的数字,而 S=C|S| = |C|,所以 CC 中的格子正好填写 SS 中的所有数字,每个数字正好填写一次。

根据数独规则,因为 CC 中的格子已经填写了 SS 中的所有数字,所以格子集 RCR \setminus C 不能再填写 SS 中的数字,所以他们中包含 SS 中的候选数可以消除。