Sudoku Explained

进阶 约 6 分钟

什么时候写,写多少

候选数不是免费的。它花铅笔时间,也花视觉上的干净度,而多数盘面需要的量远比「全填」少。

一句话版本

候选数是信息,而信息有成本。在一张还能靠眼睛推进的盘面上,一份完整候选表会让你变慢:八十一格的细小数字,在跟你真正在看的那些数字抢注意力。

管用的规矩是:扫描卡住了再标,不是一开始就标。 而且真要标的时候,标得比你以为需要的更少。

把成本说清楚

一份完整候选表最多七百二十九个细小数字。实战里,中盘大约五十个空格、每格三四个候选,也就是一百五到两百个标记——这是相当多的铅笔活,也是相当多的墨。

成本不在写,在读。中局每一个技巧都要求你跨格子比较候选表,而标记越多,有用的那些越容易混在没用的里面。

这就是强手标得更少、而不是更多的原因。他们不是偷懒,是在保持信噪比。

候选表什么时候值回成本

有一个干净的分界线,位置也很明确。

这条界线就是:区块摒除和行列摒除在九个数字上完整扫一遍全都空手的那一刻。 那是盘面停止一眼可读的时刻。

还有一个次要触发条件,用于你在练的题目:一有想猜的冲动就标。冲动通常意味着盘面已经不可读了,和上面是同一个信号。

少标:三个办法

只标拥挤的单元

如果某个宫里有五格都是三候选,而盘面其余部分在正常推进,就标这个宫。另外八个宫在被卡住之前都是噪音。

只标快完成的数字

还剩三个家的数字有意思,还剩六个的没有。3 或 7 快做完了就标它们,剩下的数字空着——它们的家你数得出来。

只为当前这个技巧标

如果你在找一个 4 的 X-Wing,你只需要 4 的位置。为了一个只读一个数字的技巧去写完整候选表,是白费力气。这是中级解题者能拿到的最大一笔效率提升。

怎么保持可读

不管标什么,每次都按同样方式标。

每格用固定的九格位排布,永远按阅读顺序:

``1 2 34 5 67 8 9``

7 永远在左下。几十道题之后你读的是位置而不是数字,更快,也更不容易出错。缺一个数字变成一眼看得见的洞,而不用逐个数念一遍。

格子和宫的记法,如果上面某个名字不清楚。

什么时候擦

候选数该在填数的那一刻删掉,不是等谁提醒你。

机械的纪律是:每填一个数字,就把它从同一行、同一列、同一宫所有格子的候选表里划掉。这是唯一的维护动作,十秒钟,而跳过它,就是「卡住」的盘面最常见的来源。

纸上解题就边填边擦。在 App 里,多数会自动维护——这很方便,也正是为什么在 App 里学出来的人,换到纸上时候选数卫生往往更差。

陷阱:把标记当成了进展

有一种失败模式看起来很像勤奋。盘面卡住了,于是你把每一格、每一个候选都填上,工工整整,位置固定。二十分钟过去。盘面现在很漂亮,还是没解出来。

标记不是解题。如果你全标完了盘面还是不动,下一步不是标得更仔细,是去跑一轮下一层的扫描,或者复核一个已经填满的单元。

用在哪

标记策略是个人偏好,任何一致的做法都比不一致的强。但改进的方向是清楚的:变快的人,几乎都是靠标得更少、扫得更有条理,而不是靠标得更全。

如果你不确定从哪开始,拿十道题试试这个:盘面卡住之前一个候选都不写,卡住之后只标你正在找的那个数字。多数人会发现自己反而更快,而完整候选表从来就没必要。

常见疑问

数独一开始就要把候选数全填满吗?

通常不要。等扫描开始不出结果时再填。在那之前,候选表是纯开销,只会让一张本来一眼可读的盘面变乱。

只标一部分候选数算正规做法吗?

算,而且常常更好。只标拥挤的单元,或者只标快做完的数字,能用一小部分噪音换来大部分信息。

怎么让候选表保持可读?

每格用固定位置——同样九个格位、同样的排布。这样数字的「位置」本身带信息,缺哪个数字是一个看得见的洞。

我把候选全填了,盘面反而更乱了怎么办?

没出问题。完整候选表本来就比稀疏的难读。解法是少标,不是放弃标记。