宫内鱼的形成理论理解
数毒吧
全部回复
仅看楼主
吧务
level 7
Sunnie😂 楼主
“/”表示不能填某一个候选数(图中用字母x表示),这样一来,就是一个标准的三链列,定义域用橙色表示,而删除域则用蓝色表示。
我们尝试移动其中的一列。
现在三链列仍旧成立,只是由于x位置的移动,删除域发生的一点小变动,但并不影响。我们发现,当“合并”到一起的时候,就存在右边的两格在同一宫内了,此时我们思考,能否将定义域的其中一部分变化到宫内。
例如行B,我们去掉在行B的定义域,然后转化到宫3内。这个时候我们发现,x的位置可以在宫3的删除域内的任意位置都可以,而A9、B9、C9这3格是一定不可能存在x的,这是因为,如果这3格里面存在x了的话,这将导致这个鱼的形状会错开,以致不能删数。于是,就变成了这样。
但是删除域是否依然没有变化呢?尚不知道。所以我们采用枚举的情况来假设一下。
由于宫3内有6个可能位置都能填x,那么我们一个一个假设,但是由于A7、B7、C7这3格的假设结果一定是等效的,A8、B8、C8这3格的假设结果一定也是等效的,所以最终就只有2种情况,加上宫3不填的可能,一共是3种情况,其推导过程如下所示:
当A7、B7、C7的其中之一填x的时候,此时我们发现,列7都不能填x了,因此,观察下方行E和行H,由于列7不填的关系,现在列E和列H就只有E2、E8、H2、H8这4格可以填x了,这个时候,刚好构成了一个二链列的结构,因此此时的删除域是列2和列8,但是由于A7、B7、C7存在一格填x的缘故,所以列7的其他位置也不能填x;
当A8、B8、C8的其中之一填x的时候,此时我们发现,列8都不能填x了,因此,观察下方行E和行H,由于列7不填的关系,现在列E和列H就只有E2、E7、H2、H7这4格可以填x了,这个时候,刚好构成了一个二链列的结构,因此此时的删除域是列2和列7,但是由于A8、B8、C8存在一格填x的缘故,所以列8的其他位置也不能填x;
但是,当宫3内的那6格一个x都不填的时候,此时我们发现,宫3将没有一个位置能填x了,因此这个情况是错误的。
此时我们发现,这3种情况除最后一种情况是错误的,被排除了之外,剩下2种情况都能导致列2、列7和列8不能填入x,所以说,原本的删除域其实是没有发生变化的。
上图的结构就被称为宫内鱼(Franken Fish)。宫内鱼的定义是:当某个鱼的定义域或删除域都是属于“a个行 + b个列 + c个宫”,且a和b不同时大于0且c > 0的,则就是宫内鱼。
我们很容易看出来,这样就直接不允许行和列不同时存在了,也就是行宫、列宫的组合。
那么它是否存在残缺的情况呢?是的。我们尝试从宫3开始下手。由于是分两种情况假设,因此至少列7和列8内都得有1个x,因此至少得有2个。但是能不能同行呢?可以,但是就恢复了原来的三链列了,因此此处取不同行的2格填x,因此变成下方的残缺结构:
这样就是一个残缺宫内三链列了。但仅仅只是缺少宫内的情况,其实行E和行H内也可以缺少部分位置的x。
我们说,链列残缺的充要条件是定义域和删除域的所有部分中都至少含有2个x,也就是说,图上的定义域(行E、行H、宫3)和删除域(列2、列8和列9)内的每个部分都需要出现至少2个x。那么现在请自行推理并寻找一下能够缺少的位置。
我们尝试思考一个问题,存在宫内二链列吗?答案是肯定的,但是由于它完全等效于一个技巧,所以我们用另外一个技巧找起来非常方便而忽视掉了它,我们来看看。
如图就是二链列转变到宫内二链列的图。而下面的这个图就是宫内二链列的残缺情况。
这就是一个宫内二链列的简图,不过我们发现,这个图里面,特别是行H的部分,会构成一个区块摒除法,直接可以删除一部分的数字,而且这种结构很容易被找到。所以我们说,宫内二链列完全等价于(级联)区块摒除法,此处可以看成全部都是只能删数的普通区块摒除法而构成的级联区块摒除法。
另外,宫内四链列的简图如下,由于结构复杂,所以不给出推导步骤。
这样就构成了宫内四链列。但是要注意的是,四链列不止可以变成这样,其实左边还可以变形到宫内。例如下面就是其中的一个情况。
由于宫内二链列会被代替,因而此处不介绍此技巧的使用,只介绍宫内三链列以及宫内四链列及它们的变形。
2017年03月21日 07点03分 1
吧务
level 7
Sunnie😂 楼主
我们在最早说外鳍鱼的时候,就说过一个东西,外鳍被简称为鳍,因为外鳍不是全部的情况,这里就有一个新的概念,它被称为内鳍(Endo Fin)。它是如何形成的呢?我们来看一下。
如图所示,这个三链列的定义域是行F、行G和行I。按道理说,我们是利用行F变换到宫4里面去,而现在我们现在不去管行F。而看行G。行G如果变到宫里面去,则应该为宫7。因此,就变成了下面这样。
我们尝试观察一下,这个更加奇怪的鱼的定义域现在应该是行F、行I和宫7。而此时我们观察到,行I和宫7有两个位置是重叠在一起了的,它们是I2和I3。重叠在一起了就得算两次,不然结构就会少2个填数情况,我们类比之前的不重叠的宫内三链列。以前的宫内三链列一共有12种填数情况,而现在由于重叠了之后,少了2种情况,而它们只被计算了1次,所以现在就只有10种情况了。
我们标注用“@”符号来代替重叠的部分,于是就变成了下面这样。
如图所示,这两个被标注了“@”符号而不是“x”符号的被称为内鳍。内鳍我们要算两次,一次作为鱼身,也就是x,一次是鱼鳍,不过这鱼鳍奇怪的是它长在鱼的内部了,因此也就叫内鳍了。
我们说,内鳍也是一种鳍,虽然它是重叠起来了的,是鱼身的一部分,但是由于这种结构的特殊性,内鳍是算成两次的,所以,删数的话还是得看内鳍和删除域的共同对应的部分。
但是我们来看上图,由于有2个内鳍,还要删这2个内鳍和删除域共同对应的部分,其实是完全没有共同对应的部分的,因此,这种结构只能说是理论上的存在,而并不能起到删数的效果。所以只能残缺。
那么,残缺情况是怎么样的呢?如下面给出的情况所示。
这样的结构就是可行的。
2017年03月21日 07点03分 2
level 13
[滑稽]
2017年03月21日 08点03分 3
level 10
还是前排
2017年03月21日 14点03分 4
level 9
草鱼,鲤鱼,黄花鱼,鲅鱼,黑鱼,桂鱼,[滑稽][滑稽][滑稽][滑稽][滑稽]
2017年03月22日 11点03分 5
吧务
level 7
Sunnie😂 楼主
在形状变异的鱼中,有一个现象很奇特,鱼身的某个位置会被自己的这种结构删掉。我们来看看它是怎么形成的。
如图所示,这是一个宫内鱼,定义域都是行,而删除域中有列也有宫。此时我们发现,删除域发生了重叠,即列1和宫4。原来的例子中,定义域和删除域都是没有重叠现象的,而且我们前面只见过定义域重叠。那么删除域重叠会出现什么样子的效果呢?
当删除域重叠的时候,重叠部分如果含有鱼身的一部分,那么也应该被删除,也就是说,如上图所示,删除域重叠部分有D1、E1、F1这3格(图中用 *x 标注),而这3格内,E1和F1则是鱼身的一部分,因此,它们其实也可以被删除。此处不予证明,您可以利用环的性质进行证明。
我们称,鱼身自我删除的情况也是一种鳍,它被称为自噬鳍(Cannibalistic Fin),则这种现象,我们称为自噬现象,简称自噬。
2017年03月22日 12点03分 6
吧务
level 13
2018年08月12日 21点08分 7
1