第 68 讲:MSLS的使用
Part 1 宫内网和交叉网
你知道吗?之前讲到的题目,在完成基本网的删数后,继续往下做,会得到两三个数对的删数,然后可以出数,然后题目依然比较难(虽然网的使用有降低题目的难度,不过依然会比较难)。
不过,有一些思维可以帮助我们在同一个技巧之中找到更多的删数。诸如标准鱼删除不了的数,可以借助它的变型版本,诸如宫内鱼和交叉鱼来为宫建立定义域区域,然后删数。网其实也是由宫内和交叉版本的。
我们依然拿出之前的示例作出解释。

如图所示,我们只去看绿色的单元格。我们按照网的思路,对全部绿色单元格内的候选数作出全覆盖策略:每一个数都找一个它所属的行和列。发现的结果如下所示:
r3(45)、r6(68)、r9(257)
c2(24)、c4(38)、c7(59)
b1(16)、b5(29)、b7(36)、b9(3)
结构一共涉及了10个区域(r369c247b1579),而恰好使用了20个单元格,且一共包含20个不同的数字分配情况(称为链接点)。所以我们可以知道,20个单元格恰只能填入这20个不同的数字,不存在多余的数。所以可以删除共同对应的区域下的对应候选数。比如,我们因为可以确定c2的2和4一定填入到结构之中(r12678c2),所以c2的其余单元格一定不可填入2和4。所以删除它们。
图中所有不在结构之中的深色候选数(红、青、紫)均为删数。为了让读者看图更为清晰和明白,使用了颜色作为区分。
那么,根据鱼的命名规范,标准网其实也属于一种交叉网,因为交叉(Mutant)一词被定义为定义域区域或删除域区域同时涉及行和列的结构。而很明显,链接点按之前的说明,可以被视作为删除域区域。所以它肯定是一种交叉的结构。这里为了规避理解,网的宫内和交叉被定义为:
链接点只涉及行和列的,称为标准网(Basic MSLS);
链接点涉及宫,但不同时涉及行和列的,称为宫内网(Franken MSLS);
链接点同时涉及行、列、宫的,称为交叉网(Mutant MSLS)。
那,这里给出的是交叉网,因为行、列、宫全部都涉及到了。那么,宫内网结构有哪些呢?最基础的SDC就可以使用宫内网的理解思路来思考。

这个是之前的例子。你可以使用网的视角:
涉及4个单元格,且恰好有4个链接点。3和8是宫链接点,4和7是列链接点,恰好实现了全覆盖。所以可以删除对应区域的对应候选数。
不过说起来,最上面的图甚至可以看成是一个多段SDC(多米诺环),这就好像是部分交叉鱼可以看作是环一样。
Part 2 非矩形网
由于网结构类比于鱼结构来说,定义域区域变为了单元格(定义格),所以形态就不一定非要呈现鱼那样的矩形状态了。

如图所示,结构涉及21个单元格,其中的E5就是结构“多出来”的部分。之所以“多出来”三个字打了引号,是因为结构需要它们,它们并不是多余的,但对于矩形形状来说,就多了一块。
你可以尝试自行寻找结构的链接点。只要链接点实现了全覆盖,并且所有恰有21个链接点,就是可以的。答案并不一定是唯一的。
Part 3 其它饱和网
饱和一词本出现在鱼结构里,不过我们套用到这里来了。不过这并不重要,我们下一节才会讲到较难的部分,所以这里仅表示一个意义:定义格数和链接点数是一样的。

如图所示,这个网的删数实际上很简单,因为我们细数结构里的数字的分布情况,就可以发现,定义格一共8个,链接点也有8个,所以全部链接点对应的区域都可以删数,即图中所有标注在结构外部的涂色候选数。
Part 4 不饱和网
在鱼结构里,我们知道了,秩可以轻松判定一个鱼结构是否是饱和的。如果鱼结构不饱和,我们计算的秩就永远得不到0的结果;即使我们发现,有一部分情况满足等于0但删数依旧不是完整的时候,它们还具有自己特殊的使用逻辑和套路,我们如果把这个内容脱光到网里,到底会如何呢?
之前讲过一点关于鱼结构的术语——秩的内容。我们简单复习一下:
鱼的秩等于删除域区域数减去定义域区域数。一般来说,一个符合要求的鱼结构,秩必然大于等于0(小于0是不够填数的,直接矛盾)。那么网结构呢?其实,网也是有秩这一个说法的。实际上,所有数独技巧只要被包装为强弱区域的形式时,就均有秩一说,不过我们不过多说明这一点,这一点内容可以类比于鱼和网来自行理解和操作。
网也是一样,不过公式改为了这样:如果我们用字母D表示定义格数,L表示链接点数时,网的秩有如下公式:
所以我们可以知道,上面的所有题目之中,结构的秩均为0(定义格数和链接点数一样)。那么,是否存在类比于鱼结构的情况——链接点数多于定义格数呢?当然存在了。我们来看一则运用很灵活的例子。

如图所示,结构的链接点情况表示如下:
r2(345)、r4(345)、r9(36);
c1(27)、c2(1)、c4(2)、c6(17)、c9(127)。
一共是16个定义格和17个链接点。秩为17 - 16 = 1。由于秩不为0,所以不可以像之前那样直接得到删数。那么原本可能存在的删数(图上不属于定义格外的候选数,红色和紫色)都是可能删掉的数字。橙色数字则是删掉了这些可能删的数后,产生的b9的127三数组的删数。
先不管那么多。我们先来思考一个问题。红色和紫色的删数之中,但凡有一个是对的,会如何?如果但凡有一个删数是对的,都会排除掉当前所在区域下的一个链接点,这样就变成了秩为0的网,所以其他的候选数(红色和紫色)都可以删掉了。
注意,这一步只是我们的猜想和假设,不代表这些数就一定在这一步就可以删掉了哈。这里特别强调一下。看能不能删数是需要找到与之矛盾的情况出现,才可以确定原假设错误,这样才可以直接删数。

接着我们发现,如果我们删掉了红色和紫色的候选后,橙色的肯定可以删除了(127数组),于是,观察r89,我们可以发现,数字1、2、7恰好只剩下六格可填:r89c359。于是这六格一定形成了一个拓展矩形结构的致命形式。这样一来就矛盾了。所以原假设错误了,故可以删除掉这些候选数。
另外,我们可以将上述结构表述为16\17网或+1网(+1表示结构的秩为1,17 - 16 = 1)。前者表示定义格数,后者表示链接点数,中间用反斜杠表示。

如图所示,我们可以得到一个强关系:
如果这样两个节点同假时,结构就会同时少两个链接点,原本是8\9的结构,就会变为8\7,于是秩变为7 - 8 = -1 < 0,所以矛盾。所以r8c35(7)和r79c7(7)至少有一个成立,删除r8c78(7)。
关于秩一词,就提到这里。
Part 5 自噬网
只要结构能和鱼差不多,那么可以肯定的是,自噬这个定义是跑不掉的。

如图所示,图中所有橙色和红色的数字都可以删除,而红色的数字是结构的一部分。换句话说,红色是自噬删数(本来结构需要它,但结构又论证它可以被删掉)。
首先我们可以数一下结构涉及的链接点数和单元格数。链接点分别是:
r1(159)、r9(159)
c1(456)、c9(456)
b1(578)、b3(235)、b7(235)、b9(578)
一共是24个链接点,而单元格只有20个。显然是不能使用这个要求来删数的。因为结构的秩24 - 20 = 4 <> 0。但是这个结构神奇就神奇在,它不需要秩为0才可删数,但是思路需要借助之前用过的“强弱区域视角”和“跨区数组”的思路。
我们可以发现,结构内的这样24个链接点,之前说过,应将链接点看作弱区域,所以这样24个链接点,每一种数最多只能填入结构涉及的区域之中出现一次。那么24种数最多有24个数填进去,不过结构保证恰只填20个数。所以必然有4种数(四个链接点)是一定不在结构之中的。那什么数多了呢?5啊!仔细观察关于5的所有链接点,你会发现,即使相同位置的数字5也同时属于两个链接点区域之中。比如r9c2(5)就既属于链接点r9(5),也属于链接点b7(5)。
继续分析,我们可以知道,其他数恰出现一次,但5一共涉及8个链接点区域,但最终只有其中4个链接点区域的5才是真正有效的,所以数字5是必然有4个填数填在结构之中,而其他的链接点还剩下24 - 8 = 16个(链接点),且此时结构其中四个单元格已经被5占了,剩下依然是20 - 4 = 16个(单元格)。于是这样分析一下,秩就恰好为16 - 16 = 0了。也因此,我们的担心——结构无法删数,其实是多余的。这也是稍显特殊的一点;而上述这种类似于多米诺环,删数却含有自噬的情况的结构,我们称为BB环(Bigger's Loop),由中国的数独玩家Bigger(网名)发现。
Part 6 SK环的拓展
显然,在前文的描述里,我们找到了一种这样的结构,而现在我们来看一个长相是多米诺环,但实际上删数不只是多米诺环基本删数的构型。

如图所示。这个结构是一个多米诺环,不过请仔细观察删数,你可以发现,b1379里都多出了候选数8的删数,而8并未在b1379里存在链接点。
我们这么去思考这个问题。数字8在整体结构内是必然会出现4个的,且分属于b1379里,换而言之,为了保证数独规则不违背,b1379里就得各有一个8的出现,位于这个多米诺环涉及的16个单元格里。那么这么去分析的话,8的删数就很好理解了:因为b1379的每一个宫都会存在8,所以b1379里显然是无法放入其它的8的,所以删掉它们。