标准数独进阶篇③

修改于10/2442 浏览攻略
在xywing时已经分析过了链的写法跟画法,可能大家还不清楚或不习惯,所以这个篇章的侧重点是聊聊链。
在说起链之前,先聊聊填数习惯。基础的排除跟唯余中的出数大部分围绕着格子填什么数,唯余找的是1~9中缺少的那一个,而排除也是用来排除区域中不能填a的格子之后找剩下那个能填的格子,往往我们会忽略排除的另一个作用:这个格子不能填什么。所以我们从开始就被定性了‘这里’填什么。而之后的技巧大部分是围绕着‘这里’不能填什么而来推数的。
我个人也站在技巧是为了删数服务的,出数只是删数的额外作用。
---------------------------
扯远了,回到正题。①的时候已经提到过链的概念了,链的核心是节点/节点之间的强弱关系/链头链尾的互相作用,推导链的过程中是以链头为假开始,下个节点必然为真,再下个节点必然为假,一直到最后的节点为真结束整条链。
图1是一道标准数独原始盘面,撇开原始盘面的情况不讨论(此时因为r1c3以及r5c7的5对c8摒除,9宫中有个5区块,所以实际用不着这条链),观察r2,发现5能填的位置只剩下r2c19两个格子,再观察c2,发现5能填的位置也只剩下r39c2两个格子。那么按照链开始,我们假设r2c9的5是假的,那么r2中他就只能填在r2c1,r2c1的5既然是真的,那么r3c2的5就必然是假的,那么在c2中,5就只能填在r9c2了,那r9c9自然就不能填5了(当r2c9的5假时,r9c2的5为真,此时r9中其他格子不能为5,否则r9会有两个5,当链头为真时,c9其他格子不能为5,否则c9也会有两个5)。
上面就是链的推导过程,链以起始的节点为假开始一直到最后的节点为真结束,删除链头跟链尾两个节点的共同作用格,在上面的例子中可以看到推导的时候节点是以假-真-假-真往前推导的,所以画图的时候也是以强弱关系互相交替递进的,而且可以看出来,把链头链尾交换,方向交换推导也会得到一致的结论。
强弱关系在链的学习中是很重要的,只有精确掌握强弱关系才能熟悉链的使用,在①中我们聊到提到过强关系/弱关系的概念,两个数之间有四种可能:
1.a真b假,2.a假b真,3.a真b真,4.a假b假。
那么123都是强关系的定义(不能同时为假),124都是弱关系的定义(不能同时为真)。这么复杂的概念只有更后面技巧才会使用到,最初使用链的过程中只会应用到此假彼真,此真彼假。
到此链的推数过程已经介绍完了,希望在后面的过程中大家能看得懂逻辑,链的成员十分多,有短链/同数链/异数链/环/动态链/强制链等等,这里只会分析几个简单的,其他的感兴趣的再自行学习。
TapTap
TapTap
2