当前位置:7723手游网游戏攻略数独清SodoCool攻略数独清SodoCool小灰的数独迷你课堂第九讲——fish基础篇

数独清SodoCool小灰的数独迷你课堂第九讲——fish基础篇

2021-05-06 20:32:53 来源:互联网 作者:咫尺无涯

数独清SodoCool小灰的数独迷你课堂第九讲——fish基础篇如下:

前言:fish是一系列原理相同的技巧合集名称,它的种类非常多。。。还有各种变形。比较复杂的情况其实对于一般玩家是用不上的,因为这种例子很少见,而且不好找!!!老实说我甚至考虑有没有必要介绍复杂的情况,我也不会用。这种情况的候选数是非常多的。。。所以我为什么一定用这种技巧解题呢。。。(因为用其他策略一般是可以消掉一些候选数的)我个人觉得高阶的fish是计算机使用的。因为我不会,所以后面部分介绍的话也点到为止。

顺便说一下,fish是针对单一候选数使用的。

1. X-Wing

若数字 X 在某两行(列)中只能存在于相同的两列(行),则这两列(行)的其他格都不能有 X。

我们发现5在r25仅出现2次,并且他们都在***两列。因此可以使用X-Wing,删掉r4c5的候选数5.

如果我们用链的角度解释:R2C5{5} == R2C8{5}—R5C8{5}== R5C5{5}

(我前面说过强链可以作为弱链使用,为了满足强弱交替的原则,R2C8{5}==R5C8{5}这里降级为R2C8{5}—R5C8{5})

此时R2C5{5} == R5C5{5},换句话说R2C5 R5C5其中一个必须填5,而他们都在c5,所以r4c5一定不是5.

如果假设来解释:

1.如果R2C5=5,那么R4C5 不能是5

2.如果R5C5=5,那么R4C5 不能是5

3.如果R5C8=5,那么R2C8 不能是5,R2C5=5,回到步骤1

4.如果R2C8=5,那么R5C8 不能是5,R5C5=5,回到步骤2

综上所述,R4C5不能是5。

一样的情况,我就不解释了。就是一个是行一个是列。

怎么观察X-Wing呢。总的来说他就是一个矩形。(找矩形在技巧中很常见)注意那些单一候选数形成的矩形,并且有两条边框很干净。(就是强链)为什么叫X-Wing,也是因为两个对角相连就是X。

鱼和数组一样,也是有规格(阶)的,这个鱼的规格是涉及两行两列,因此被称为二阶,一般我们称这种结构叫做二阶鱼(不过一般叫X-Wing)。这个鱼的阶(Order/Size)跟数组的阶差不多,鱼的阶指的是涉及的定义域区域总数。比如这里涉及的定义域区域是两个:c1和c5,所以是2阶的。

定义域(Defining Set/Base Set):结构被定义下来的位置,比如这个例子里,定义域为c15(因为我们发现c15里填入1的位置只有四格,所以称这种东西叫做定义域)。

删除域(或者叫删数域,Secondary Set/Cover Set):能删除候选数情况的区域,比如这里的r25就是这个鱼的删除域。

2. 三链列/剑鱼(Swordfish)

跟数组一样,也可以一直有高阶。

若数字 X 在某三行(列)中均只能存在于相同的三列(行),则这三列(行)的其他格都不能有 X。

原理是和前面一样的,我就不详细解释了,可以自行仿照前面的解释来试试看。

这里需要说明的就是,上面的例子看起来似乎少了点东西?原先是4个数的矩形,现在按理说应该是3*3的形式?这种情况被称为鱼的残缺(Incompleted)。实际上逻辑上是没有问题的,简化版本有很多种变形,但必须要满足那一行(列) X 的个数是2-3,因为只有1个直接就填了。。。而大于3个就不符合我们开始的定义了,所以X的结构可以是333 - 222里面的排列组合。

一样一样的。

3. 四阶鱼(Jellyfish)

若数字 X 在某四行(列)中均只能存在于相同的四列(行),则这四列(行)的其他格都不能有 X。

不过和数组类似。。。高阶的fish不好发现。而且和数组一样,fish也是有互补性的。就是说有5阶的fish那么一定可以找到对应的4阶的fish。上面的例子你仔细看看含有7的白色的格,就是5阶的fish。虽然有专门的名称。。。但是没有用。

五阶鱼:Squirmbag/Starfish(海星)

六阶鱼:Whale(鲸鱼)

七阶鱼:Leviathan(海怪,传说里的海中之妖怪)

八阶鱼???你想想一共9行列,八阶鱼不就是排除法了吗。。。

下面介绍一种思想。

降维(Dimension Reduction):专用于鱼的技巧里,表示一种思维方式,将里面的行/列转换为单元格,所有这个行/列下的九个单元格转换为候选数1到9,然后把每个填数位置比作是一个候选数序列。当这样的候选数构成数组时,也可以表示为原本的鱼是成立的。

我们试想一下,如果我们把一个盘面看作是一整个区域X(即一行或一列),然后把盘面的一行或一列看作是这个区域X的一个单元格,然后把一行或一列的一个单元格看成X里一个单元格的一个候选数。看下面例子。

我们已经知道定义域是r239.现在我们把行看出是一个格,在r2有2出现的格是r2b15,那么我们把它看做是第二格中候选数有15.同理第三格候选数是58,第九格是候选数18.现在该情况转变为158数组。根据数组的逻辑,我们可以删掉其他格的候选数158,意思就是删除c158中是候选数2.

降维的思想比你想的有用,你把9*9的格变成了9个格,其实熟练的话用fish就和用数组一样了。(只考虑这种标准的fish。。。)

习题1;

(这种习题我都是用软件随机生成的,如果与哪个题一样,真是巧合,虽然概率应该很低。后面不特殊说明了)

找出可以使用X-Wing的地方。

习题2:

找出可以使用Swordfish的地方。(我随机生成了半天。。。因为大部分都是变异的)

就这样吧,后面我看看要不要介绍变异的fish。。。

答案见回复,附上总集篇链接。

以上就是数独清SodoCool小灰的数独迷你课堂第九讲——fish基础篇相关内容。

免责声明:文中图文均来自网络,如有侵权请联系删除,7723手游网发布此文仅为传递信息,不代表7723认同其观点或证实其描述。

数独清SodoCool相关游戏推荐

数独清SodoCool相关攻略

更多
下载7723游戏盒下载7723游戏盒
下载