上一节讲到了外鳍鱼,它还能不能再简化呢?当然是可以的。不过,这种鱼就更加奇怪了,而且长相变化多端。先来看一下“退化版”。
如盘面32所示,这里有一个类似于外鳍鱼的形状:定义域为列2和列8,鳍位于D8。但是又有点不一样的地方,在离鳍最近的二链列的那只“腿”却不见了,不过没关系。
盘面32
根据外鳍鱼的推理方法,要么二链列成立,要么鳍成立。但是这个二链列缺了一只腿,此时我们回忆二链列的逻辑推理方法:这个二链列在没有缺腿的情况下,我们是按照定义域来分别假设出两种不同的情况,最后得到填数情况,在这个二链列中,要么是左上(F2)和右下(H8)的两格填,要么是右上(F8)和左下(H2)两格填。现在右上角缺了一只腿,后者就不成立了。那么,综合外鳍鱼的推理方法,要么鳍成立,要么二链列的其中一种情况成立,也就是左上F2和右下H8成立。现在我们就要考虑一下到底应该怎么推理了。
首先,思考一下位于二链列左下的单元格H2填入7,刚才说到要么是左上(F2)和右下(H8)的两格填,要么是鳍(D8)填。但是这都和H2没有关系。那么它能不能也删除掉呢?这显然是不可以的,因为它有可能单独成立,我们没有任何理由说明它一定是错误的。
二链列只能删除掉删除域,也就是行F和行H的其余单元格的7;而鳍能够删除掉行D、列8和宫6内的7。但是不管是哪种情况,二链列始终都是成立的。因此删除域就是F7和F9。F9已经有数字了,所以F7<>7。
这种技巧叫作外鳍退化鱼的解法,英文名叫作Sashimi Fish,其中的Sashimi其实是从一个日语词汇的罗马音得到的,它的原意是“生鱼片”。起名的具体原因尚不清楚。不过,退化结构一直存在争议。因为结构本身的退化性质,如果不含有鳍的话,结构本身是无意义的。这一点也可以在盘面之中看到。
这种鱼由两部分构成,一部分是外鳍,而另一部分则是退化后的鱼。退化鱼不能单独使用,因为无法正常地完成推理,缺少了一只腿使得原来的缺腿和其对角位置上的另外一个单元格不能组成一对,因为其中的一个单元格已经不存在了,这就需要和鳍一起进行推理才能得到结论了。
现在我们来总结一下这种鱼的推理思路:假设鳍成立和不成立,就分成了两种情况,这两种情况会同时导致鳍所在的宫和鱼的删除域共同对应的位置不能填,因此删掉它们。而之前提到的“残缺鱼”是依然可以推理的,请注意“残缺”和“退化”这两个词语含义的区分。
这种外鳍退化鱼是最为标准的形式,当然,它也有其他的变异情况。
如盘面33所示,这是盘面32中的另外一个外鳍退化鱼,是由两个鱼鳍构成的外鳍退化鱼。这种情况同样只能删除A4和A5中的候选数字9。按照外鳍退化鱼的思路,要么鳍和左下角(I2)成立,要么A2、I6=9成立。二链列中,就只剩下“仅I2成立”和“A2和I6成立”这两种情况了。这样的二链列也是成立的,所以删除的是二链列原来的删除域,即行A和行I。但是那两个鳍使得最终的删除域变成了A4和A5,因此,A4、A5<>9。
盘面33
盘面34又是一种鱼变型,与刚才的推理方式相同,不过鳍并不是连在一起的。大家可以自行推理,同样是可以得到结论的。
盘面34
了解了上述思路后,接下来是外鳍退化三链列。
如盘面35所示。原本是一个最简化的三链列,定义域为列2、列5和列8,然而不巧的是,构成三链列的必要单元格之一A2缺失了。像这样,三链列就退化了。假设鳍成立,则行B、列2和宫1内的其他单元格内必然不能再填入数字5;如果鳍不成立,对于这个退化三链列来说,I2一定为5,E5一定为5,A8一定为5。于是,就有这两种情况,要么B2=5,要么I2、E5、A8=5。无论如何,都会导致宫1和行A的公共部分都不能填入5。因此,A1、A3<>5。
盘面35
但是,这个题目还可以删除掉B7=5(盘面上未给出标注)。那么,这个又是怎么回事呢?
我们不妨切换一下思维,将A8=5看作鳍,而B2=5看作退化三链列的一部分。推理过程同刚才的盘面35。不过由于鳍的位置切换到了宫3,所以三链列变成了宫3和行B的公共部分,所以B7和B9不能填5。由于B9本来就没有候选数5,所以只有B7<>5。
当然,也存在四阶的情况,此处将给出一个例子,如盘面36所示,但推理过程不再进行叙述,请自行推理。
盘面36