原理说明
ALS-XZ的原理是:两个几乎锁定集(ALS)共享恰好两个公共候选数(设为Z和X),且X在两个ALS中只有一个候选位置(受限候选数)。由于X的受限性,无论X出现在哪个ALS中,Z都必然出现在另一个ALS的某个格子中。因此,两个ALS公共可见的格子中的Z候选数可以被删除。
两个几乎锁定集通过一个受限公共候选数连接时,可删除它们公共可见区域中的另一个公共候选数。
ALS-XZ的原理是:两个几乎锁定集(ALS)共享恰好两个公共候选数(设为Z和X),且X在两个ALS中只有一个候选位置(受限候选数)。由于X的受限性,无论X出现在哪个ALS中,Z都必然出现在另一个ALS的某个格子中。因此,两个ALS公共可见的格子中的Z候选数可以被删除。
ALS-XZ是高级ALS策略的基础形式。它比简单的子集策略更强大,因为ALS可以在行/列/宫中跨越多个约束单元。在复杂谜题的后期阶段,ALS-XZ常常能发现隐藏的排除机会。
ALS-XZ的核心是"几乎锁定集"(Almost Locked Set)的性质。一个 ALS 由 n 个格子组成,这些格子合起来恰好有 n+1 个不同的候选数——比"锁定"(n 个候选数)只多一个,所以叫"几乎"锁定。
已知条件:
受限公共候选数 X 的关键性质是:由于 ALS A 中的所有 X 和 ALS B 中的所有 X 互相可见,X 只能出现在其中一个 ALS 中(不能同时出现在两个 ALS,否则同行/列/宫冲突)。我们对 X 的位置做分类讨论:
由于 X 只能在一个 ALS 中,而无论在哪个 ALS,Z 都必出现在另一个 ALS 中。因此,同时被 ALS A 中所有 Z 位置和 ALS B 中所有 Z 位置"看到"的格子不可能是 Z——因为它会被某个 ALS 中的 Z 同行/列/宫排除。这些公共可见格中的 Z 候选数可以安全删除。
最基础的 ALS-XZ 形态:两个 ALS 各自在同一行/列/宫中(也可以跨单元),共享两个公共候选数,其中一个受限。这是小程序中最常见的形态,ALS 大小通常为 2-4 个格子。
当两个 ALS 共享的公共候选数中,两个都是受限的时,可以同时删除两个非受限公共候选数。这种形态删数能力更强,但出现频率较低,且需要更严格的可见性条件。
ALS-XZ 的三 ALS 扩展:三个 ALS 通过受限公共候选数形成"翼"形结构。它将 XY 翼的"双候选格"泛化为"ALS"——每个翼不再局限于双候选格,而是可以是任意大小的 ALS。
ALS 不必局限于同一行/列/宫——它可以跨越多个约束单元。例如一个 ALS 可以由同行中分属不同宫的格子组成。跨单元 ALS 的候选数分布更灵活,能发现更多排除机会,但识别难度也更高。
误区一:ALS 识别错误
ALS 要求 n 个格子的候选数并集恰好是 n+1 个。如果并集有 n+2 个或更多候选数,就不是 ALS;如果有 n 个或更少,那就是裸数对/三数等子集策略,不需要用 ALS-XZ。计数时务必准确,不要遗漏或重复候选数。
误区二:受限公共候选数判断错误
受限公共候选数 X 要求:ALS A 中所有含 X 的格子与 ALS B 中所有含 X 的格子,两两同行/列/宫可见。如果有任何一对不可见,X 就不是受限的。漏检一对就会导致错误的删数结论。
误区三:两个 ALS 共享格子
两个 ALS 不能有任何重叠的格子。如果共享格子,推导逻辑会失效——因为共享格子的取值会同时影响两个 ALS,"X 只在一个 ALS 中"的前提不成立。检查时务必确认两个 ALS 的格子集合不相交。
误区四:删除范围错误
只能删除同时被两个 ALS 中所有 Z 位置看到的格子中的 Z。不要删除只被一个 ALS 看到的格子,也不要删除只被部分 Z 位置看到的格子。"所有"是关键——必须是全部 Z 位置的公共可见格。
误区五:混淆受限与非受限候选数
受限公共候选数 X 是"桥梁",非受限公共候选数 Z 是"删除目标"。不要搞反——删除的是 Z 而不是 X。X 的作用是连接两个 ALS 并保证 Z 必出现在其中一个中,X 本身不一定是删除目标。
ALS-XZ是ALS策略家族的核心,ALS链(ALS-Chain)和SueDeCoq都建立在ALS-XZ的基础上。它与XY翼、WXYZ翼有深层联系——这些翼策略可视为ALS-XZ的特例(当 ALS 退化为双候选格时,ALS-XZ 就退化为 XY 翼)。ALS-XZ 将子集策略的"锁定集"泛化为"几乎锁定集",大幅扩展了排除能力。
策略家族关系: