原理解说发布日期 阅读时间约 7 分钟

数独的 X-Wing 和剑鱼|找法与可以删除的候选数

在用上显性数对和三链数也推进不了的高级数独中,关键往往是只盯住一个数字、观察整个盘面的“X-Wing”。本文用实际盘面说明 X-Wing 成立的理由,介绍查找的步骤、扩展到 3 行 3 列的剑鱼,以及找不到时该怎么想。

X-Wing 是什么

X-Wing 是只关注一个数字的解法。在两列中,如果这个数字的候选都只出现在同样的两行,那么这 4 个候选格就构成一个长方形的四个角。这时,可以从这两行的其他格子中删除这个数字。在日本,因为形状像汉字“井”的交点,被称为“井桁理论”。行和列互换的形式(两行的候选都只在同样的两列)也一样成立。

看看实际盘面

下面是某道高级题解到一半时,只把第 5 列和第 9 列中“8”的候选列出来的结果。两列中,8 都只能填在第 3 行和第 7 行。

行第5列第9列
第1行3(已填)不能填8
第2行9(已填)3(已填)
第3行候选8候选8
第4〜6行不能填8不能填8
第7行候选8候选8
第8行6(已填)2(已填)
第9行7(已填)4(已填)

第 5 列和第 9 列的 8,分别用掉第 3 行和第 7 行中的一个位置。于是,第 7 行中其他以 8 为候选的第7行第1列·第7行第3列·第7行第8列,都可以删除 8(第 3 行没有其他 8 的候选)。最终答案是第3行第9列和第7行第5列为 8,确实是对角线上的两格。

X-Wing 的找法

  1. 1

    正确写出所有空格的候选

    X-Wing 是比较候选位置的解法,只要漏掉一个候选,就会看漏或误删。先把到目前为止的删除都反映到候选里,保持最新状态。

  2. 2

    选定一个数字,找它恰好有两个候选的列(行)

    从 1〜9 逐个看。盘面上已经出现 5〜6 次的数字候选少,容易形成这种形状,可以先看。

  3. 3

    找两处位置相同的组合

    如果有两列以上候选恰好是两处,就比较它们的行号。像“第 3 行和第 7 行”这样一致,就是 X-Wing。

  4. 4

    确认有没有可以删除的候选

    即使形成了 X-Wing,如果那两行(列)的其他格子里没有同一数字的候选,也删不掉任何东西。只有能删除时才有意义。

在列里找不到,就在行里做同样的事。要点是:观察的方向(候选只有两处的是列还是行)与删除的方向(行还是列)正好相反。

剑鱼:把 X-Wing 扩展到 3 行 3 列

把 X-Wing 扩展到三行(列)就是剑鱼。在三行中,如果某个数字的候选各有 2〜3 处,而且全部合起来都落在同样的三列里,就可以从这三列的其他格子中删除这个数字。不需要每行都有三处,各两处也可以。

第2列第3列第8列
第2行—候选4候选4
第5行候选4候选4—
第8行候选4—候选4

这是实际盘面中的形状。第 2·5·8 行的“4”都只能填在第 2·3·8 列中的某处。三行的 4 各用掉三列中的一个位置,所以第 2·3·8 列中其他行的 4 的候选(这个盘面中有 7 处)可以一次性全部删除。

X-Wing 的常见错误

X-Wing 只要看出形状就非常强大,但只要弄错一个条件,就会删掉不该删的候选。误删的候选往往在很多步之后才以“没有数字可填的格子”的形式出现,很难找出原因。删除之前请确认以下几点。

错误为什么不行确认方法
用了有三处候选的列第三处仍可能填入,不能说两行已用完数一数关注的两列,候选是否都恰好两处
两列候选所在的行错开了一行构不成长方形,所以不成立(如果牵涉第三行,可能是剑鱼)看 4 个格子是否在同样的两行、同样的两列
从关注的列里删除能删除的是与数候选的方向相反的两行(列)按列数的就从行里删,按行数的就从列里删
混入了其他数字的候选X-Wing 只用一个数字构成选定一个数字,只看这个数字的候选
候选笔记是旧的用本应已删除的候选构成了形状找 X-Wing 之前,按最新盘面重写全部候选

在纸上解题时,用彩色笔只把关注数字的候选圈起来,4 个格子组成的长方形就会浮现出来,更容易找到,也更不容易出错。在数独下一步提示中打开“显示候选数”,所有空格的候选会自动显示,可以不必担心漏写或忘记擦,专心练习找形状。提示中出现 X-Wing 时,构成形状的 4 个格子会被强调,有可删除候选的格子会标成红色。

多久会用到一次?

我们用数独下一步提示生成 40 道“高级”题并解到最后,全部约 2,400 步中,X-Wing 只有 12 步。大约几道题才用到一次,绝大多数步骤都是隐性唯一数。即使是需要试填难度的 40 道题,剑鱼也只出现过 1 次。

常见问题

“井桁理论”和 X-Wing 是同一种解法吗?
是同一种解法。在日本,因为候选的排列看起来像汉字“井”,所以叫井桁理论;在英语圈叫 X-Wing。
找到了 X-Wing,数字却没有确定。
X-Wing 是删除候选数的解法,当场确定不了数字的情况很多。删除之后,请检查相关的行·列·宫中是否新出现了隐性唯一数或显性唯一数。
剑鱼需要每行都有三个候选吗?
不需要。只要三行的候选各有 2〜3 处,并且全部合起来落在三列里就成立。三行各两处的形状也是剑鱼。
X-Wing 应该在行里找还是在列里找?
两个方向都要找。有“找到两列各两处候选,从行里删除”的形状,也有“找到两行各两处候选,从列里删除”的形状。一个方向找不到,就换另一个方向找。
怎么知道一道题需不需要 X-Wing?
光看题目是看不出来的。把题目输入数独下一步提示就会判定难度:“高级”表示需要隐性数对·三链数·X-Wing 中的某一种,“超高级”表示需要剑鱼。中途卡住时请求提示,会显示此时要用的技巧名称。

本文介绍的工具

相关文章

原理解说约 14 分钟

静息心率正常值与平均值|按年龄、性别的参考范围,心率偏高偏低的原因和正确测量方法

智能手表或体检报告上写着“静息心率 72”,可这到底算正常、偏高还是偏低,一时很难判断。常听说成人的正常范围是“60〜100次/分”,但同样在正常范围内,60 和 95 反映的身体状态差别很大;儿童和耐力运动员的参考范围更是完全不同。本文先按婴儿、幼儿、学龄儿童、成人的年龄段,以及性别和运动习惯整理静息心率的平均值和正常值,再介绍早上醒来后的正确测量方法和“数15秒乘4”的误差、手腕数脉搏·手机摄像头·智能手表的区别、心率偏高或偏低的可能原因和就医标准、降低静息心率的方法,以及如何用它算出卡氏公式的目标心率。年龄段参考范围和心率区间的数字,与心率测量工具使用相同的标准和公式。

阅读文章 →