Sudoku Clean 素数独 logo

Sudoku Clean 素数独

技巧文档 / ALS-XY-Wing

极难技巧

ALS-XY-Wing

相关技巧:ALS-XZ · XY-Wing · 交替推理链

ALS-XY-Wing 用两条 RCC 把三组 ALS 串成一条短链。它最重要的结论是:

两端 ALS 的公共候选 Z,至少会在其中一端出现。因此,能同时看见两端全部 Z 位置的外部候选 Z 可以删除。

这个技巧看起来候选很多,但理解时不需要同时追踪所有数字。先认出三组 ALS,再只盯住一条顺序:Z → X → Y → Z


1. 先回顾 ALS

ALS 是 Almost Locked Set(近锁定集):

  • N 个位于同一行、列或宫内、彼此可见的格子;
  • 这些格子的候选并集恰好有 N+1 种数字。

ALS 只比锁定集多一种候选。如果从整组中排除任意一种数字,就会剩下 N 格 N 数,整组立即成为锁定集;其余每一种数字都必须在组内出现。

可以把 ALS 记成:N 格 N+1 数;少掉一种,就会锁定。

2. 先把结构看成三组

ALS-XY-Wing 由三组互不重叠的 ALS 组成:A、B、C。B 是中间的枢纽 ALS,A、C 是两端的翼 ALS;这里的“翼”可以包含多个格子。

下图中,每组都有 2 个格子和 3 种候选,因此都是 ALS:

  • A 的候选并集是 Z、2、X
  • B 的候选并集是 X、3、Y
  • C 的候选并集是 Y、4、Z

先识别 ALS A、B、C 三组近锁定集

第一遍观察时,只检查每种底色是否满足 N 格 N+1 数,暂时不要推理连接关系。

3. 再找两条 RCC

RCC 是受限公共候选。两个 ALS 共同拥有候选 X,并且一组中每一个 X 都能看见另一组中每一个 X 时,X 就是它们之间的 RCC。

因为这些 X 两边不能同时成立,所以一边用了 X,另一边就会失去 X,并由 ALS 变成锁定集。这正是锁定关系能够向下一组传递的原因。

ALS-XY-Wing 需要:

  1. RCC X 连接 A-B;
  2. 另一条 RCC Y 连接 B-C,并且 X、Y 不同;
  3. 两端 A、C 共同拥有候选 Z。

X 连接 A-B,Y 连接 B-C,两端共同拥有 Z

可以把结构读成一句话:两端共享 Z,中间分别用 X、Y 接住两端。

本游戏采用较严格的识别边界:A-B 与 B-C 各只有一条 RCC,A-C 之间没有第三条 RCC;如果 A、B、C 都只是单个双值格,则按更直观的普通 XY-Wing 展示。

判断 RCC 时,必须检查两组中该数字的全部位置,不能只看到一对候选互相可见就算成立。

4. 只问一个问题:如果 A 没有 Z 呢?

如果 Z 在 A 中出现,结论已经成立。真正需要推理的只有另一种情况:A 中没有 Z。

这时锁定关系会沿 A→B→C 传递:

  1. A 失去 Z 后成为锁定集,所以 X 必须在 A 中出现;
  2. X 是 A-B 的 RCC,因此 B 中不能出现 X;
  3. B 失去 X 后成为锁定集,所以 Y 必须在 B 中出现;
  4. Y 是 B-C 的 RCC,因此 C 中不能出现 Y;
  5. C 失去 Y 后成为锁定集,所以 Z 必须在 C 中出现。

A 没有 Z 时,锁定关系沿 A 到 B 再到 C 传递

因此只有两个结果:

  • A 中有 Z;
  • A 中没有 Z,但传递过程迫使 C 中有 Z。

两种结果合起来就是:

Z 至少在 ALS A 或 ALS C 中出现一次。

这个证明没有猜 Z 究竟在哪一端,只是证明两端不可能同时没有 Z。

5. 最后才看删数

因为无法预先确定 Z 在 A 还是 C,外部删数目标必须:

  • 看见 A 中 Z 的每一个可能位置;
  • 看见 C 中 Z 的每一个可能位置;
  • 自己不属于 A、B、C。

外部候选看见两端 ALS 中 Z 的全部位置,因此可以删除

这样的外部 Z 无论面对哪一种结果都会冲突,所以可以删除。如果某一组中有多个 Z,删数目标只看见其中一部分是不够的。

6. 怎样阅读游戏中的提示

建议分四遍看,不要一次把所有颜色都塞进脑中:

  1. 看底色:蓝、黄、绿格分别是 ALS A、B、C;逐组确认 N 格 N+1 数。
  2. 看蓝色候选:找出连接 A-B 的 X 和连接 B-C 的 Y,并确认 RCC 的全部位置互相可见。
  3. 看绿色候选:它们是两端 A、C 中公共候选 Z 的全部位置;沿 Z → X → Y → Z 复述一次传递。
  4. 看红色候选:最后检查它是否能看见两端全部绿色 Z。

如果前三步还没看清,先不要看红色删数。红色只是结论,三组 ALS 和两条 RCC 才是原因。

7. 与相近技巧的区别

普通 XY-Wing

普通 XY-Wing 使用三个双值格。ALS-XY-Wing 把其中至少一个“格”扩展成了一组 ALS;三组都只有一个双值格时,本游戏仍显示为普通 XY-Wing。

ALS-XZ

ALS-XZ 只有两组 ALS 和一条 RCC,公共候选的保证在两组之间直接形成。ALS-XY-Wing 多了一组 ALS,保证需要经过 A→B→C 两次传递才能到达另一端。

ALS 链和 ALS 环

如果继续连接更多 ALS,就是更一般的 ALS 链;如果 A-C 之间也有 RCC,结构会闭合成 ALS 环。本技巧只展示开放的三组、两段结构。

8. 常见误区

只要三组 ALS 首尾有公共候选就行?

不行。A-B 必须有 RCC X,B-C 必须有另一个 RCC Y,锁定关系才能完整地传到另一端。

RCC X 或 Y 自己一定会出现吗?

不一定。RCC 只说明它不能同时在相邻两组成立。证明是在假设 A 没有 Z 后,才依次迫使 X、Y 出现。

删数格看见 A、C 各一个 Z 就够吗?

不够。它必须看见 A 和 C 中 Z 的全部候选位置