grid_on

Sudoku Clean 素数独

技巧文档 / 带鳍剑鱼

带鳍剑鱼

前置知识: 剑鱼(三阶鱼) · 带鳍X翼

高阶

带鳍剑鱼

前置知识:剑鱼(三阶鱼) · 带鳍X翼

描述

带鳍剑鱼可以理解成“快要成立的剑鱼”:绿色鱼身已经把目标数字 d 限制在一个 3×3 的渔网里,但在某一条基线(某一行/列)上,又多出了额外的同数字候选——这部分就是鱼鳍(黄色)。

它的推理方式和带鳍X翼一样:我们分两种情况讨论——鳍为真鳍为假
最终能删除的,通常是:

“鳍为真时能删的”“退化成标准剑鱼时能删的”交集

带鳍四阶鱼(带鳍水母)也是同样的推理过程,只是把 3×3 的渔网放大成 4×4。


详解

带鳍剑鱼 详解示例

先看上图:目标数字是 1

  • 绿色格子:第 3、6、7 行构成剑鱼的鱼身(渔网)
  • 黄色格子:第 3 行2 宫里的 r3c5、r3c6 是鱼鳍
  • 红色格子:要删除的是 r2c4 里的候选数字 1

为什么 r2c4 的候选 1 能删?看两种情况就够了:

  1. 如果任意一个鱼鳍为真(r3c5=1 或 r3c6=1)
    那么第 2 宫里已经放入了 1,所以同宫的其它候选 1 都不能为真,r2c4 的 1 会被直接排除

  2. 如果鱼鳍都为假(r3c5≠1 且 r3c6≠1)
    那么第 3、6、7 行里,数字 1 就只剩下绿色渔网上的位置,结构退化成标准剑鱼
    标准剑鱼的结论是:覆盖线(这些列)里,渔网交点之外的候选 1 都可以删——这会把第 4 列里其它位置的 1 排除掉,因此 r2c4 的 1 也会被排除

不管鱼鳍是真是假,r2c4 的候选 1 都会被排除,所以它是安全的删数点,可以删除。


例子

下面这张图是另一个带鳍剑鱼的例子,你可以直接对照“鱼身(绿)/ 鱼鳍(黄)/ 删数点(红)”来观察:

带鳍剑鱼 示例


如何寻找带鳍剑鱼?

一句话:先找剑鱼渔网,再找同一条基线上多出来的鱼鳍,最后只删“两种结论的交集”。

在游戏里你可以按这个顺序找:

  1. 先选一个数字 d
  2. 像找标准剑鱼一样,先找出 3 条基线(行或列),让 d 的候选都落在同一组 3 条覆盖线里(鱼身/渔网)
  3. 检查是否在某条基线上多出同数字候选(鱼鳍),并确认所有鱼鳍都落在同一宫
  4. 删数优先看“交集”:既在鱼鳍所在宫里、又属于“标准剑鱼会删掉的位置”的候选 d