准备好开始了吗?

开始玩数独!

强制网:数独的最后一步逻辑

极限经典 + 杀手第 37 步,共 38 步阅读约 1 分钟

强制网是仍属于纯逻辑的最后一种技巧。你依次取一个格的每个候选数,把它的后果推到底,再找所有分支一致的地方。它们一致的结论必然为真,因为其中一个候选数就是真正的答案。这里没有猜测:你只是把所有情况都检查一遍,而不是只看一种。

这个图形是什么

链只沿着一条蕴含线推进。网则对起点格或区域的每个选项各推一条线,在一般情况下,一条线还能再分叉:一个结论可能同时需要两个先前的推导,比如“这格是 4,那格是 9,所以这个宫只剩一处能放 7”。检查所有选项使网比链更强,也更费时间。

有两种起点和两种终点:

起点你要追踪它能证明
有 k 个候选数的格每个候选数一个分支所有分支共有的任何结论
在一个区域里有 k 个位置的数字每个位置一个分支所有分支共有的任何结论

如果每个分支都得出同一个填数,那个填数就为真。如果每个分支都删除同一个候选数,那个候选数就作废。而如果某一个分支自相矛盾(一个数字在区域里出现两次,或者某个格无数可填),那么这一个候选数本身就是假的,不需要其他分支。

什么时候找它

只有当所有更便宜的方法都失败之后:唯一数、锁定集、鱼形、Wing、链和近锁定集。网追踪起来代价高,又容易出错,所以它是有意识的最后一步逻辑,不是习惯动作。选一个有两个候选数、周围有很多双候选数格的起点格;分支短,整体便于检查。

具体怎么做

  1. 刷新所有笔记。建立在过期候选数上的网什么也证明不了。
  2. 选一个有两个候选数的格,或在某区域里有两个位置的数字。
  3. 假设第一个选项,只写出确实被强制的填数。
  4. 把它完全撤销,再对第二个选项做同样的事。
  5. 比较分支。保留它们共有的填数或排除。
  6. 如果某个分支自相矛盾,立刻舍弃该候选数。

一个实例

从格出发

  1. 更简单的技巧已用尽。看 H1,它只能是 1、5 或 7。

  2. H1 必为 1、5 或 7。依次试每个值,并观察 C1 中的 7。

  3. 分支 1:H1 = 7。C1 与 H1 同在第 1 列,所以不能是 7。

  4. 分支 2:H1 = 1。则 A1 不能是 1,所以 A1 是 7,C1 不能是 7(仍因第 1 列)。

  5. 分支 3:H1 = 5。E1 在第 1 列失去 5,所以 F3 是第 4 宫中唯一能放 5 的位置。

    F3 = 5 时,F8 是 F 行中唯一能放 8 的位置。于是 C8 不能是 8,所以 C1 是 C 行中唯一的 8。

    C1 = 8,所以 C1 不是 7。

  6. 试填的数值已清除。3 个分支最终都得出 C1 不是 7。

    从 C1 排除 7,因为 H1 的每个取值都排除了它。

更简单的技巧已用尽。看 H1,它只能是 1、5 或 7。

H1 含 ,目标是 C1 里的 7。依次追踪 H1 的每个值:

  • H1 = 7:C1 与 H1 同在第 1 列,所以它不是 7。
  • H1 = 1:A1 不能是 1,所以 A1 是 7,同样由于同列,C1 不是 7。
  • H1 = 5:E1 失去 5,所以 F3 是宫 4 里唯一的 5。于是 F8 是行 F 里唯一的 8,C8 不能是 8,C1 就成了行 C 里剩下的唯一的 8。C1 = 8,所以 C1 不是 7。

三个分支都以 C1 不是 7 收尾,所以 C1 失去 7。你始终不知道 H1 是什么:分支完成了任务,然后被丢弃。

从区域里的数字出发

  1. 更简单的技巧已用尽。看第 7 宫中的 7。

  2. 第 7 宫需要一个 7,它只能填在 G2、H2 或 J3。依次试每个位置,并观察 A2 中的 7。

  3. 分支 1 和 2:如果 7 在 G2 或 H2,A2 不能是 7,因为这 3 个格都在第 2 列。

  4. 分支 3:J3 = 7。则 J3 不是 5,A3 成为第 3 列中唯一能放 5 的位置。

    A3 = 5 时,A2 是 A 行中唯一能放 1 的位置。A2 = 1,所以它不是 7。

  5. 试填的数值已清除。无论第 7 宫把 7 放在哪里,A2 最终都没有 7。

    从 A2 排除 7。

更简单的技巧已用尽。看第 7 宫中的 7。

宫 7 需要一个 7,它只能放在 G2、H2 或 J3。目标是 A2 里的 7:

  • 7 在 G2 或 H2:A2 与这两格同在第 2 列,所以它不是 7。
  • 7 在 J3:此时 J3 不是 5,所以 A3 是第 3 列里唯一的 5。A3 = 5,A2 就是行 A 里唯一的 1,所以 A2 = 1,不是 7。

无论宫 7 把 7 放在哪里,A2 都不可能是 7,所以 A2 要失去它。

在两个盘面中,每个分支都得出同一个结果,这就是全部论证。真正的网还可以在分支内部继续分叉,那时一个结论可能同时需要两个先前的推导。

常见错误

  • 开始下一个分支时,盘面上还留着上一个分支的标记。每个分支都必须从同一个没有改动的局面出发。
  • 跟着“大概”走,而不是被强制的填数。只有唯一数和锁定排除才能写下来。
  • 漏掉起点格的某个候选数。少一个分支,一致性就毫无价值。
  • 把一个分支的矛盾当作其他分支结论的证明。

在哪里遇到它

我们最难的盘面就是为了要求强制网而设计的。在传奇题目中会遇到它,并且是在 3D Medusa 之类的链技巧试过之后。凡是网能解的,原则上更短的技巧也能解。网是你找不到那个更短技巧时才用的办法。