高级

强制链(Forcing Chains)

追踪某候选数为真或为假的后果,直到每条路径都迫使出相同的结论。

强制链是逻辑解题的重炮。挑一个格子,追踪它每个候选数在网格中的推论。如果每个候选数都导向某处相同的填数或排除,那个结论就是确定的 — 无需猜测。

难题后期大多数“试错”的感觉,其实都是等待被严谨写下来的强制链。

如何发现它

选一个双值格。假设它的第一个候选数并传播被迫的填数;记下结果。重置,假设第二个候选数,再次传播。凡是两种假设都迫使同一个格子取同一个值(或同一次排除)之处,那个结果便无条件成立。

  • 从一个格子的候选数出发。
  • 传播每个候选数被迫的后果。
  • 所有分支共享的结论得到证明。
两条候选数之路都迫使出相同的 2 — 所以那个 2 是确定的。

纪律胜过猜测

强制链是逻辑,而非分叉:你把两个分支都记在心里,只在它们一致的地方采取行动。把链写出来能避免盲目试数所带来的错误。

解题示例

  1. 一个双值格显示 {1,4}。
  2. 假设 1:一连串唯一数迫使格子 Q 为 8。
  3. 重置,假设 4:另一连串也迫使格子 Q 为 8。
  4. 两个分支一致,所以 Q 无论如何都是 8。
  5. 在 Q 里填下 8,而无需解出起始格。

自己试试

6
3
2
6
9
3
8
4
7
8
5
4
9
9
8
4
2
3
7
7
1
8
4
5
3
7

Tap a cell, then a number, to practise.

常见问题

这只是猜测吗?
不是。你评估所有分支,只在每个分支都共享的结论上采取行动,所以结果完全是逻辑的。
我该什么时候动用强制链?
最后,在唯一数、区块候选数、鱼、翼和染色都用尽之后。

相关技巧

延伸阅读

练习:强制链(Forcing Chains)

在真实棋盘上运用强制链(Forcing Chains) — 免费数独,支持笔记、提示和四种难度。

在真实棋盘上试一试

我们使用 Google Analytics 了解访客的使用情况。在你接受之前,不会设置任何跟踪 Cookie。 查看我们的分析 Cookie 政策.