技巧文档 / ALS-XZ
极难技巧
ALS-XZ
ALS-XZ 的名字看起来很抽象,但它的核心只有一句话:
两个“只差一步就会锁定”的候选数组,通过一个受限制的公共候选 X 相连,从而保证另一个公共候选 Z 至少会在其中一组出现。
要真正理解这句话,我们需要依次弄清楚 ALS、RCC、X 和 Z 分别是什么。
1. 什么是 ALS?
ALS 是 Almost Locked Set 的缩写,中文常称为“近锁定集”。
一组候选格满足下面两个条件时,就是一个 ALS:
- 这组格子都在同一个行、列或宫内,因此彼此可见;
- 如果共有 N 个格子,它们的候选数合起来恰好只有 N+1 种数字。
例如,两格中的候选分别是 1、2 和 2、3。这里有 2 个格子,候选并集是 1、2、3,共 3 种数字,所以它们构成一个 ALS。

为什么叫“近锁定集”?
普通锁定集是 N 个格子只有 N 种候选数字。这些格子必须由这 N 个数字填满,因此每个数字都必须在其中出现一次。
ALS 比锁定集多出一种候选:N 个格子有 N+1 种数字。只要从整组中排除任意一种数字,它就会变成 N 格 N 数的锁定集。
以上面的 1、2、3 为例:
- 如果整组不填
1,剩下2、3填两格; - 如果整组不填
2,剩下1、3填两格; - 如果整组不填
3,剩下1、2填两格。
无论排除哪一种,剩下的每个数字都必须出现。这正是 ALS-XZ 推理的基础。
可以把 ALS 记成:N 个互相可见的格子里有 N+1 种候选;少掉任意一种,就会变成锁定集。
2. 什么是 RCC?
现在取两个互不重叠的 ALS,称为 ALS A 和 ALS B。
如果一个候选数字同时存在于 A、B 中,它就是两组的公共候选。但公共候选不一定是 RCC。
RCC 是 Restricted Common Candidate 的缩写,意思是“受限公共候选”。公共候选 X 还必须满足:
A 中每一个 X 的位置,都能看见 B 中每一个 X 的位置。
最常见的情况是:A、B 中所有 X 都落在同一行、同一列或同一宫。因为同一个区域不能重复出现 X,所以 X 不可能同时在 A、B 中成立。

因此,RCC X 有一个非常重要、也很容易被误读的结论:
- X 最多只会在一组 ALS 中出现;
- 所以至少有一组 ALS 最终不会填 X;
- 但 X 也可能两组都不填,因此单 RCC 并不能保证 X 自己一定出现。
没有填 X 的那组 ALS 会少掉一种候选,随即变成锁定集;组内剩下的数字全部都必须出现。
判断 RCC 时,不能只检查一对 X。必须确认 A 中的每一个 X都能看见 B 中的每一个 X。
3. ALS-XZ 是怎样形成的?
一个标准的单 RCC ALS-XZ 包含:
- 两个互不重叠的近锁定集 ALS A 和 ALS B;
- 两组至少有两个公共候选,记作 X 和 Z;
- X 是 RCC:X 不可能同时在 A、B 中成立;
- Z 是另一个公共候选;
- 某个外部候选 Z 能看见 Z 在 A、B 中的全部可能位置。
在游戏的提示图中:
- 蓝色格子表示 ALS A;
- 黄色格子表示 ALS B;
- 蓝色候选数表示 RCC X;
- 绿色候选数表示被证明至少会出现的 Z;
- 红色候选数表示可以删除的候选。

4. 为什么一定能删除 Z?
关键不是猜 X 在哪一组,而是把所有可能都考虑进去。
情况一:X 在 ALS A 中成立
由于 X 是 RCC,ALS B 不能再填 X。B 去掉 X 后变成锁定集,因此 B 中剩下的数字都必须出现,其中包括公共候选 Z。
所以这种情况下,Z 必须在 B 中出现。
情况二:X 在 ALS B 中成立
同理,ALS A 不能填 X。A 变成锁定集,因此 Z 必须在 A 中出现。
情况三:A、B 都不填 X
这时 A、B 都会变成锁定集,Z 会在两组中分别出现。结论只会更强。
把三种情况合起来,无论 X 最终在哪里:
公共候选 Z 至少会在 ALS A 或 ALS B 中出现一次。
如果一个外部格中的候选 Z,能同时看见 Z 在 A、B 中的所有可能位置,那么 Z 无论落在哪一组,都会与这个外部候选冲突。因此可以从该格删除 Z。
这也解释了为什么删数格必须看见两组中的全部 Z:只看见 A 中的 Z 或 B 中的 Z 都不够,因为我们事先不知道哪一组会成为锁定集。
5. 双 RCC ALS-XZ
有时 ALS A 与 ALS B 有两个公共候选 X、Y,而且 X、Y 都是 RCC。这称为双 RCC,或 Doubly Linked ALS-XZ。
先看每个 RCC 自己:
- X 不能同时在 A、B 中成立,所以至少有一组不填 X;
- Y 也不能同时在 A、B 中成立,所以至少有一组不填 Y。
如果同一组同时不填 X 和 Y,它会从 N+1 种候选一下少掉两种,只剩 N−1 种数字去填 N 个格子,这是不可能的。
因此两个“缺席”不能落在同一组:
- A 必须排除其中一个 RCC;
- B 必须排除另一个 RCC;
- A、B 都恰好少掉一种候选,所以两组都会变成锁定集。
下图画出其中一种可能:A 不填 X、B 不填 Y,于是 Y 必须在 A 中出现,X 必须在 B 中出现。实际盘面也可能完全反过来,但结论相同。

于是我们得到比单 RCC 更强的结论:
- X、Y 必须各在 A、B 的其中一组出现,而且一边一个;
- A 中其它非 RCC 候选都被锁定在 A;
- B 中其它非 RCC 候选都被锁定在 B。
这就是提示图中两种保证标记的含义:
- 蓝色标记的 RCC 数字,必在 A、B 的某个蓝色位置出现;
- 绿色标记的其它数字,必在所属 ALS 的绿色位置出现。
红色候选只要能看见同数字的全部保证位置,就可以删除。
6. 常见误区
公共候选就是 RCC?
不是。RCC 不仅要同时出现在 A、B 中,还要求 A 侧的每个位置都能看见 B 侧的每个位置。
看见一部分 Z 就可以删除?
不可以。删数候选必须看见 Z 在 A、B 中的全部可能位置。
单 RCC 可以删除 X 吗?
通常不可以。单 RCC 只证明 X 不能同时在两组出现,并没有证明 X 至少出现一次。ALS-XZ 删除的是另一个被保证出现的公共候选 Z。
两组 ALS 可以共用格子吗?
不可以。这里讨论的 ALS-XZ 要求 A、B 互不重叠,否则“哪一组排除哪个候选”的证明不再成立。
只要 N 格 N+1 数就是 ALS?
还要保证这 N 个格子彼此可见,通常就是位于同一个行、列或宫中。
7. 实战检查顺序
遇到 ALS-XZ 提示时,可以按下面的顺序阅读:
- 先看格子:蓝色 ALS A、黄色 ALS B 是否各自满足 N 格 N+1 数;
- 再看蓝色候选 X:A 中每个 X 是否都能看见 B 中每个 X;
- 找公共候选 Z:Z 是否同时存在于 A、B;
- 看绿色位置:这些是不是 Z 在两组中的全部可能位置;
- 最后看红色候选:红色格是否能看见同数字的全部绿色位置。
如果这五步都成立,删数就不是猜测,而是由两个 ALS 的锁定关系共同保证的。