准备好开始了吗?

开始玩数独!

对齐数对排除法

魔鬼经典 + 杀手第 30 步,共 38 步阅读约 1 分钟

对齐数对排除法(Aligned Pair Exclusion)与大多数技巧的思路相反:不是去找某个图形,而是取两个格,列出它们合起来可能填的每一对数字,再划掉会破坏其他格的数字对。留下来的组合,会告诉你哪些候选数仍然可能。

这个图形是什么

两个格处于同一区域时称为“对齐”,它们永远不能填相同的数字。当两格同时共享一个宫和一条线(行或列)时效果最强,因为它们有大量共同的同组格。

再看两个所选格都能看到的双候选数格(恰有两个候选数的格)。每一个都是一票否决。双候选数格 {a, b} 最终必须是 a 或 b。如果你的第一个格取 a,第二个格取 b,那个双候选数格就一个数都不剩了。所以组合 a-b 不可能,b-a 也不可能。

把这种否决应用到每一对上,任何在所有组合中都没有出现过的候选数就可以删除。

什么时候找它

两个条件让对齐数对排除法值得一试:

  • 同一宫里的两个格,各有三四个候选数,这样数字对的清单不会太长。
  • 它们周围有一群双候选数格。通常三四票否决就足以生效。

典型场景是一个空旷的宫角,对着一个已经很满的宫。

适合测试的数对不适合测试的数对
每格候选数2-34 个或更多
共享的区域宫和线仅一条线
两格都看到的双候选数格3 个或更多0-1 个
需检查的数对少于 10 对20 对以上

具体怎么做

  1. 在同一区域里选两个未解的格。要小:每格两三个候选数最理想。
  2. 列出它们可能取的每一个有序数字对。去掉两格取相同数字的数对,因为共享的区域不允许这样。
  3. 列出两个所选格都能看到的双候选数格。
  4. 删除所有与某个双候选数格的两个数字相同的数对,顺序不论。
  5. 读一读留下的数对。在自己格里没有出现在任何留下数对中的数字,就被排除。
  6. 如果某个格只剩一个数字,就把它填上。

一个实例

这一对是 D2 和 D3。两者都在行 D 和宫 4 里,所以永远不会填相同的数字。看同时看到它们的四个双候选数格。

  1. 更简单的技巧已用尽。看 D2 和 D3,它们同在 D 行和第 4 宫。

  2. D2 和 D3 同在 D 行和第 4 宫,所以永远不能填相同的数字。

    D2 有 1、5、7、9,D3 有 2、5、9。测试它们能一起取哪些数值组合。

  3. 有 4 个双候选数格同时看到 D2 和 D3:通过 D 行的 D7 {1,2} 和 D4 {2,9},通过第 4 宫的 E1 {2,7} 和 F3 {2,5}。

    如果 D2 和 D3 取了其中某个格的两个数字,那个格就会变空。

  4. 试 D3 = 2 且 D2 = 1。D7 通过 D 行看到这两个格,所以它失去 2 和 1,一个候选数也不剩。

  5. 其他搭档同样失败:D2 = 5 使 F3 变空,D2 = 7 使 E1 变空,D2 = 9 使 D4 变空。

    所以 D3 的 2 在 D2 中完全没有搭档。D3 的 5 和 9 各自保留了一个搭档,使这些格都还有数字可填。

  6. 从 D3 排除 2,因为 D2 的每个与之配对的值都会让 D7、F3、E1 或 D4 之一变空。

更简单的技巧已用尽。看 D2 和 D3,它们同在 D 行和第 4 宫。

D2 含 1、5、7、9,D3 含 2、5、9。有四个双候选数格同时看到两者:通过行 D 看到 D7 和 D4 ,通过宫 4 看到 E1 和 F3 。先测试 D3 = 2。与 D2 = 1 配对会让 D7 无数可填,与 D2 = 5 配对会让 F3 无数可填,与 D2 = 7 配对会让 E1 无数可填,与 D2 = 9 配对会让 D4 无数可填。所以 2 在 D2 里没有任何搭档,从 D3 中排除,它变成 。D3 里的 5 和 9 各自都有一个搭档,不会让任何一个否决格无数可填。这次的结果是一次排除而不是填数,但足以让停滞的盘面重新动起来。

常见错误

  • 选了不共享区域的两个格。这样它们可能填相同的数字,一半的否决就消失了。
  • 使用只有一个所选格能看到的双候选数格。它必须同时被两个格看到。
  • 忘了反向顺序。{a, b} 同时否决 a-b 和 b-a。
  • 排除了仍在某个留下数对中出现的数字。只要有一个幸存数对,候选数就还活着。
  • 测试每格五个候选数的格。25 个数对只是记账,不是技巧。

同样的推理可以扩展到三个对齐格,也可以用近锁定集代替双候选数格,但两格形式的单位时间收益最高。

对齐三数排除法

把同样的思路用到三个格上,列出它们合起来可能填的每一种三个数字的组合,跳过在共享区域的两个格里重复数字的组合。此时的否决格是能看到全部三个所选格、有两三个候选数的格:如果三个所选格会占满某个否决格的所有候选数,这个组合就不可能。

和前面一样,划掉会让某个否决格没有候选数的组合。在自己格里没有出现在任何组合中的数字,就被排除。

对齐三数排除法比两格形式更难找,回报也更少:组合清单增长很快,每个否决格还必须看到全部三个所选格。它在难度阶梯上位于对齐数对排除法之上,更接近极限端,所以只有在两格形式失败后才值得一试。

在哪里遇到它

对齐数对排除法属于魔鬼技巧。它最早在专家题目中变得必要,通常出现在 Wing 和鱼形都用尽、盘面上仍有一片密集双候选数格的时候。更简单的难度从不需要它。