双数链(长度3)
XY-Chain (Length 3)
概要:双数链(XY-Chain)由一系列双候选格(只含两个候选数的格子)串联而成。长度为3的双数链是最短的有效形式,三个双候选格通过共享候选数依次相连,两端共同具有的候选数可以从能同时看到两端的格子中删除。
什么是双数链(长度3)?
双数链(XY-Chain)是由多个双候选格(Bivalue Cell,即只剩两个候选数的格子)串联构成的推理链。每两个相邻节点之间共享一个候选数,通过”假设一端为某值→链式传递→另一端得出结论”的方式消去候选数。
长度3的双数链由恰好3个双候选格和2段链接组成:
节点 A (x,y) — 节点 B (y,z) — 节点 C (z,w)
- A 含候选数 {x, y},B 含 {y, z},C 含 {z, w}
- A—B 通过共享候选数 y 相连(A 和 B 在同一行/列/宫)
- B—C 通过共享候选数 z 相连(B 和 C 在同一行/列/宫)
- 两端: A 的另一候选数是 x,C 的另一候选数是 w
消去规则:若 x 等于 w(即 A 和 C 的”外侧”候选数相同),则能同时看到 A 和 C 的格子可以删去该候选数。
注意:当 x = w 时,这实际上就是 XY-Wing(妻子翼),双数链长度3正是 XY-Wing 的等价表述。
解题步骤
- 标注双候选格:找出盘面上所有只剩两个候选数的格子,这些是潜在的链节点。
- 选定起点 A:选一个双候选格,设其候选数为 {x, y}。
- 寻找中间节点 B:找一个与 A 同行/列/宫的双候选格,且包含候选数 y,设 B 的候选数为 {y, z}。
- 寻找终点 C:找一个与 B 同行/列/宫的双候选格,且包含候选数 z(但 C 与 A 不需要同行/列/宫),设 C 的候选数为 {z, w}。
- 检查端点候选数:若 A 的候选数 x 等于 C 的候选数 w,则链成立。
- 寻找消去目标:找所有能同时看到 A 和 C(与 A、C 都在同一行/列/宫)的格子,删去其中的候选数 x(=w)。
示例详解
XY-Chain 长度3:候选数4
以下三个双候选格构成长度为3的双数链:
- R1C3(节点 A):候选数 {4, 7}
- R1C8(节点 B):候选数 {7, 2},与 A 同在第1行
- R6C8(节点 C):候选数 {2, 4},与 B 同在第8列
链结构:R1C3{4,7} — R1C8{7,2} — R6C8{2,4}
- A—B 共享 7(同行),B—C 共享 2(同列)
- A 的外侧候选数:4;C 的外侧候选数:4 → 相等!
消去:找同时能看到 R1C3 和 R6C8 的格子:
- 必须与 R1C3 同行/列/宫:第1行、第3列、第1宫
- 必须与 R6C8 同行/列/宫:第6行、第8列、第6宫
- 交集:R6C3(同在第3列和第6行)→ R6C3 中的候选数 4 可以删除
XY-Chain 长度3:候选数9
推理验证:
- 若 R1C3 = 4 → R1C3 已确定,R6C3 不能为 4(同列)
- 若 R1C3 ≠ 4 → R1C3 = 7 → R1C8 = 2 → R6C8 = 4 → R6C3 不能为 4(同行)
两种情况下 R6C3 ≠ 4,故删去 ✓
实用技巧
- 双候选格越多,链越容易建立:解题中后期双候选格增多,是使用双数链的好时机。
- 从稀有候选数出发:若某候选数在盘面上出现次数很少,包含它的双候选格更容易构成有效链。
- 长度3即 XY-Wing:若已掌握 XY-Wing,可直接将其视为双数链的特例,反之亦然。
- 系统枚举:遍历所有双候选格的两两组合,检查中间节点,程序化思维有助于不遗漏机会。
与其他技法的关系
- 前置技法:XY-Wing — XY-Wing 就是长度为3的双数链,掌握它即掌握了本技法的核心逻辑。
- 进阶技法:双数链(长度4+) — 更长的链覆盖更复杂的局面。
- 平级技法:单数链(长度3) — 只涉及单一候选数的类似链结构。
- 通用框架:交替推理链 — 将双数链和单数链统一到更通用的推理框架中。
常见问题
Q:双数链和 XY-Wing 是同一回事吗?
A:长度为3的双数链与 XY-Wing 完全等价,只是描述角度不同。XY-Wing 从”枢轴格+两翼格”的角度描述,双数链从”链式节点”的角度描述。理解两者的等价性有助于从 XY-Wing 过渡到更长的链。
Q:双数链的两端节点必须能互相看到吗?
A:不需要。A 和 C 不必在同一行/列/宫。消去的是能同时看到 A 和 C 的第三个格子,而不是 A 或 C 本身。这正是链式推理比 XY-Wing 更灵活的地方——A 和 C 可以相距很远。
在爱九宫数独中练习
打开爱九宫数独 App → 学习 → 大师技法 → 双数链,选择”长度3”专项训练。建议开启候选数显示,标记所有双候选格(用特殊颜色),再逐一尝试串联相邻双候选格构建链。