链的秩理论
数毒吧
全部回复
仅看楼主
吧务
level 7
Sunnie😂 楼主
这里要讲一个新的知识点,而这是您从来没有听说过的东西:秩(Rank)。
秩这个东西,我们只在数学上听过它,它用于描述的是数学矩阵在化为最简阶梯矩阵的时候,非全零行的个数。而在数独的链之中,也有这样的定义,不过链没有零的说法,那它代表什么呢?
1.1 强弱区域的定义
我们在讲强弱关系的时候,先看一下强弱关系的第二定义。
当两个数字(节点)不能同时错误的时候,此时我们称它们为强关系;当两个数字(节点)不能同时
正确的
时候,此时我们称它们为弱关系。
在“数字”一词之后,又加上了“节点”一词,是因为到超链的内容的时候,强关系已经不限制于数字和数字之间了,而是数字集合和数字集合之间,于是在那时,我们将节点的定义重新完善了一次,因此这里说是节点,是相对严谨一些的。
那么,我们类比于这样的定义,我们就可以得到两个新的术语,它们叫做强区域(Truth)和弱区域(Link)。
强弱区域(第二定义):
在位于同一行、列、宫、格内的时候:当至少2个数字(节点)不能同时错误的时候,此时我们称它们位于同一个强区域之内;当至少2个数字(节点)不能同时正确的时候,此时我们称它们位于同一个弱区域之内。
这里先暂时不讨论它们的第一定义的类比情况。我们先来看看一个引例。因为结构比较复杂,您暂时可以不必纠结链的传递过程。
如盘面所示。这是一个相对于复杂一点的动态链。链的写法如下所示:
HI1(9):
=F1(9)-F4(9):
=D4(9-6)=C4(6-2)=C3(2)-B3(2)=B7(2(②))
=A4(9)-B5(9(①))
=B1(9)-B5(9=3(①))
-B7(3(②))=A7(3)-A2(3)=H2(3)
结构比较麻烦。上方标注的标号用于表示链的传递的过程。比如“=B7(2(②))”和“-B7(3(②))”处,表示“=B7(2)-B7(3)”,而传递的时候,若链的结束处没有任何标记跳跃,则直接向下一排标注的链传递。链从上往下传递,而不能反着向上。
我们观察到,在出现分支现象的时候,即列1和列4,都有多个相同数字,且它们均出现了分支的情况。例如,观察列1,我们将BFHI1(9)拆成三个部分来看:B1(9)、F1(9)、HI1(9)。这个时候,它们有一个有趣的现象:它们均不可同时删除。这是很明显的,因为在链之中,这几个9同时删除后,这一列就不含有9,这样就会出错。那么,我们可以说,BFHI1(9)处于同一个强区域之中。同理,列4的所有候选数9依然如此。
那么,回到强区域的定义,我们可以发现,强关系的定义其实是包含于强区域的定义之内的。也就是说,强区域的定义可以用来表示强关系,即两个数之间的关系。那么弱区域也是一样。那我们试着数一下这里的强弱区域分别的个数。
通过观察,我们发现,这个链的强区域数是8(行23(2)、列27(3)、列4(6)、列14(9)、B5),而弱区域数是11(行12(3)、行26(9)、H2、CD4、B7、宫1(2)、宫27(9))。
数清楚了之后,链的秩就好计算了。
2017年04月05日 05点04分 1
吧务
level 7
Sunnie😂 楼主
1.2 链的秩的定义、计算与理论
了解了强弱区域之后,我们来看看链的秩的计算方式和它的一些常用理论。
链的秩的定义式是,设强区域数量为T,弱区域数量为L,链的秩用R表示,则:
R = L - T
那么,上述链的秩R = 11 – 8 = 3。
可是这么说来,秩有什么用呢?
秩的理论有如下比较常用的部分:
1、秩是一个整数数值,其值等于弱区域数减去强区域数;
2、任意一条链,如果逻辑成立,那么它的秩一定大于0,若某个链(环)的秩小于0,则这条链必然不成立;
3、链的删数取决于秩,如果链的秩为0,那么这条链必然是环;如果链的秩为1,那么这个链必然是一种类似AIC的普通链;如果链的秩是2或者以上的话,则需要三角区(Triplet)来判断删数。
我们来看看上述理论有什么用。
第1点,我们已经求出了R = 3。那么,看第2点。第2点说,如果R > 0,才能说明链有效。那么3 > 0,故链是有效的。那么,什么样的链是无效的呢?我们来看这一种例子。
如盘面所示,我们约定,图上同一条实线穿过的数字是位于同一强区域内的;而同一条虚线穿过的数字是位于同一弱区域内的。
我们将数字填入到这样的6个位置里面。不管怎么填都会出现同行相同的情况。这样是不行的。
而这个结构,R = 2 - 3 = -1。因为-1 < 0,所以这个链(环)是不合法的。
那么了解了第2点之后,我们来看第3点。例如一个环结构,如二链列,它的定义域是2行或者是2列,删除域则是2列或者是2行。那么,这里的定义域就等同于这里所说的强区域,而删除域就等同于这里的弱区域了。所以,R = 2 – 2 = 0,刚好为0。而反过来说,秩为0的结构一定是环,其实也是正确的;而同理,秩为1的结构一定是链。
但是,秩为2或2以上的结构,到底是什么东西呢?
2017年04月05日 05点04分 2
吧务
level 7
Sunnie😂 楼主
1.3 三角区的定义和逻辑
三角区是一种相当神奇的东西,它能在填数的时候,改变链的秩。
三角区一共分两种,它们的定义是:
当一个结构内,同时有两个强区域和一个弱区域汇合到某一个候选数的时候,这样的部分称为强三角区(Base Triplet);
当一个结构内,同时有两个弱区域和一个强区域汇合到某一个候选数的时候,这样的部分称为弱三角区(Link Triplet)。
具体的逻辑是怎么样的呢?我们来看一个图片来理解。
如图所示,这是两个局部盘面,是利用Xsudo软件所截取的图片。其中,实线都为强区域,而空心的线则表示弱区域,紫色的实线是行上的强区域,绿色线条是列上的强区域,而咖啡色的实线则是宫内的强区域。
那么观察这个图,左侧的圆圈内的7,是同时含有两个强区域和一个弱区域汇合至此的,因此这样的情况称为强三角区,右图则刚好反过来,形成弱三角区。那么,这样的逻辑有着什么样的用途呢?
如图所示,我们观察到这样的一个环结构,而刚好,它的秩R = 3 – 3 = 0。
我们发现,结构之中包含了一个三角区。我们按照汇合的位置处进行真假的两种情况进行推理。
后面就不再阐述了,我的理论学习也才刚刚起步,如果您有任何觉得我说错或者是理解错了的,请参看网站的内容:http://sudokuone.com/sweb/general.htm
2017年04月05日 05点04分 3
level 9
坐楼不明觉厉[汗][汗]
2017年04月05日 14点04分 4
level 1
@borescoper :研究一下原文, 这是解最牛的手段, msls 网或者JE只是其中的自集.
2017年04月22日 08点04分 5
是的,然而方法越万能其可观察性就越来越弱
2017年04月22日 09点04分
level 1
truth(强关系)的定义: 是一组候选数, 其中之一有一个是真, 这一组候选数称truth.
每行,列,宫的所有相同的数字是天生的truth, 因为必有一真
一个未知格里所有的候选数为一个truth. 因为必有一真
2017年04月22日 08点04分 6
level 1
链接怎么失效了?
2025年05月05日 06点05分 8
1