小灰的数独迷你课堂第十七讲——复杂链(ALS)

更新时间2021/5/91214 浏览攻略
前言:ALS翻译过来并不是复杂链,我也没找到译名。Almost Locked Set,你可以理解为准数组,比数组差一点。这一讲的技巧用好了其实可以快速删除大量候选数,不过新手容易用错,我也了解没有特别深,可能有误,欢迎指正。
(有叫欠一数对的,这里就是欠一数组)
Almost Locked Set (ALS)
Locked Set:我们讲过的数组就是一个Locked Set,当N个格子有n个候选数的时候,这n 个候选数被锁定在这N个格子中。
ALS:当N个格子有n+1个候选数的时候,这个结构就是一个ALS结构。Almost差一点点么。。。
TapTap
图中的 ALS 结构:R2的{345} ,B4的{567}
单独的双值格也是一个特殊的ALS结构。
ALS 结构有什么用?
我们就看R2的{345},这两个格子只有3个候选数,那么这3个候选数一定有2个数字要填在这2个格子中对吧。
把这两个格子当做一个 Group,那么R2C25{3}==R2C25{4}==R2C25{5}有这样的一个强关系。
解释一下,看一下上面那段话,2个格子3个候选数,那么一定要填入2个候选数,最多只有一个候选数是假,强链的定义是候选数不能同时为假,那么把这2个格子当做一个 Group后,这3个候选数之间一定互为强链,因为这里面有两个候选数是真的。
很简单,R2C25是不是必须填345中的两个值?如果3不出现,是不是R2C25必须填45?那么是不是3如果不成立,45就必须成立?R2C25{3}==R2C25{4} 和R2C25{3} ==R2C25{5}成立对吧?同理任意一个数不出现,另外两个一定成立,所以R2C25{3}==R2C25{4}==R2C25{5}
如果觉得理解起来有困难,我们退到R5C4的56,R5C4{5}==R5C4{6},1个格子2个候选数,再来看R2的2个格子3个候选数,是不是能够理解。
ALS结构让我们多了很多Group结构的强链可以用,你填完候选数后,每一个行列宫都是一个Locked Set,你去掉一个单元格就有可能变成一个ALS结构(不是说随便去掉一个,需要保持N个格子 n+1个候选数)
使用ALS需要和一个叫做RCC(Restricted Common Candidate)的东西关联起来。(我个人认为你可以理解为可以构成链的关系的相同候选数,即所处同行列宫,但是这里需要强调,这里说的同行列宫指的是全部该候选数)
可能你还是不明白什么是RCC,看下面例子,会使用就好。
1.ALS-XZ
1.1Singly Linked ALS-XZ
就是单个RCC连接的两套ALS。
TapTap
ALS-A:R1C67{679}
ALS-B:R3C289{6789}
R1C67{7}==R1C67{6}--R3C289{6}==R3C289{7}
ALS-A中的7和ALS-B的7是强关系(图中蓝色的7),所以共同作用格红色7可以删除
ALS-A中的9和ALS-B的9也是强关系,但他们并没有共同作用格
我解释一下?两个7,ALS-A的7作用区域是R1和B2,ALS-B的7作用区域是R3和B3,所以作用区域交集只有R3C56。只能删这两个格的候选数7.
而ALS-A中的9作用区域是R1(有两个9,看为一个整体),ALS-B中的9作用区域是R3,所以没交集。(要注意,这里必须考虑到所有候选数,不能只看ALS-A的一个9也在B2就各种删,是两个9才有的强关系)
注意看这两个ALS 结构里面的 6,这两个ALS结构只能用6链接,因为2个ALS结构的6 都只在B3里面出现。(6就是这里的RCC,能成为RCC必须两个ALS的所有该候选数都在同行列宫)
既然是叫做ALS-XZ,还是要解释一下X和Z是什么,通过 X=6 弱链链接,删除 Z=7 的共同作用格,当然Z也能是 9,但上面说过9没有共同作用格。
TapTap
ALS-A B7{378}
ALS-B B4{34568}
通过X=3链接,删除Z=8的共同作用格
总结一下
两个ALS结构必须有一个X可以链接起来,而且需要有一个Z可以来删除共同作用格
当两个 ALS 结构有两个可以链接的点会怎么样呢,我们继续来看两个例子
1.2 Doubly Linked ALS-XZ
就是双RCC连接的两套ALS。
TapTap
ALS-A R2{2479}
ALS-B B4{124}
这两个ALS之间,2和4都可以当做链接点。
那么他们之间就有了一个环,所有的候选数都能成环
最简单的ALS-A{2}--ALS-B{2}==ALS-B{4}--ALS-A{4}==ALS-A{2}
还记得上一讲我提过的环吗?断开任意一条弱链都是强链
所以有 ALS-A{2}==ALS-B{2},ALS-A{4}==ALS-B{4},可以删除C2的2和C3的4
再看其他的环
ALS-B{1}==ALS-B{2}--ALS-A{2}==ALS-A{4}--ALS-B{4}==ALS-B{1}
ALS-A{7}==ALS-A{2}--ALS-B{2}==ALS-B{4}--ALS-A{4}==ALS-A{7}
ALS-A{9}==ALS-A{2}--ALS-B{2}==ALS-B{4}--ALS-A{4}==ALS-A{9}
这三个都是不连续环,ALS-B{1},ALS-A{7},ALS-A{9} 都是强链进强链出,所以他们能够影响的179都可以删除了。
看着乱,但是一点一点拆开理解就好了。上面是推导过程,你可以直接记住两套ALS候选数作用区域全可以删。
2. ALS-XY-Wing
TapTap
ALS-XY-Wing就是3套ALS,z- A -x-B -y- C –z是他的模型。
就是ALS(A)通过RCC(X)连接ALS(B),ALS(B)通过RCC(Y)连接ALS(C),ALS(A)ALS(C)用相同候选数Z,Z有共同作用的区域。其实就是XY-Wing,只不过连接对象变成了ALS。(注意XY必须是不同候选数
ALS-A C8{2389}
ALS-B R9{179}
ALS-C R7{3678}
ALS-A{3}==ALS-C{3},可以删掉R7C7的3。
我不详细展开了,如果前面的知识掌握了按理说是可以自行理解的。
3. ALS Chain
ALS Chain就是ALS XY-Wing的扩展,相当于XY-Chain对于XY-Wing的扩展。
TapTap
我把几个ALS写出来,具体的链接过程你们自己看一下
ALS-A R1{24569}
ALS-B C4{456}
ALS-C C3{256}
ALS-D B1{23459}
最终得到 ALS-A{6}==ALS-D{6},ALS-A{9}==ALS-D{9}
上面所有的这些 ALS的知识都是ALS结构和ALS结构之间的一些运用,但实际解题过程中,可能不需要一定ALS结构去找另外一个ALS结构,还记得我们给的一个ALS的作用的重点么
ALS 结构让我们多了很多 Group 结构的强链可以用
然后再结合我们上一篇文章说的知识,用ALS和环结合起来,才是我们灵活运用链的方式。。。(你们试着看吧)
4.ALS Nice Loop/AIC
TapTap
这个是一个不连续环
ALS 结构是 R8C34{256}
R8C2{5}--R7C12{5}==R7C5{5}--R7C5{2}==R8C5{2}--R8C34{2}==R8C34{5}--R8C2{5}
弱链进弱链出,删除R8C2的5。(尽管前面我没提到这些概念,但是我用链解释各种技巧时,其实部分就使用了这些概念)
TapTap
ALS 结构是 R6C56{238}
这个ALS可以当做连续环使用,也可以当做不连续环使用
当用 R6C56{3}==R6C56{2}的时候是连续环,断开中间的弱链开始删除数字
当用 R6C56{3}==R6C56{8}==R6C56{2} 的时候试不连续环,删除C6和B5的8
用链的方式来做数独的题目,我们的目标是要找强弱交替的链,然后把候选数链接一起,最终形成 AIC Type 1 或者Type 2,或者Nice Loop,ALS只是让你多了一个Group的强链方式。
另外强调一点,虽然上面的例子都是不同的ALS使用不同的单元格,但是不同的ALS是可以使用相同的单元格的,但是前提是共享的单元格内不能含有RCC。(如果你是新手,建议暂时先不要使用不同的ALS共享相同的单元格,你可能会出错)
5. Death Blossom(死亡之花)
我先说明,我从未用过该技巧,我查了很多教程也没有提到,原因很简单,一部分是因为他们也解释不明白。。。一部分是使用的地方极少。比较麻烦,我没有可以参考的中文攻略,英文网站的解释我个人是不赞同的,所以我也不能用它的解释。它的例子有两个(我自己很难编一个例子),一个完全可以用ALS-XY-Wing解释,另一个我认为它标错了,所以我只能选第二个例子,自己解释。(因为第一个就不是Death Blossom的例子)
(自己写攻略的好处就是我通过写这部分,写完以后,我赞成英文网站的观点了,它的符号标记我理解有误,不过我也写完了)
Death Blossom由a stem cell和petals构成(没有译名就直接用了),每一个petal就是ALS,不过它需要有一个RCC可以和stem cell链接。(就是ALS中的RCC和stem cell中的候选数有一个一样),如果满足以下条件:
(1)所有的petal(ALS)都有一个RCC可以和stem cell链接。
(2)所有的petal(ALS)都有一个相同的候选数。
那么该相同候选数的共同作用区域的格的相同候选数可以删掉。
附上原文(毕竟翻译过来其实不如直接看原文):
A Death Blossom consists of a stem cell and petals. Every petal is an ALS that has an RCC with the stem cell. If a petal can be found for every candidate in the stem cell, and if all petal ALS have a common digit, that digit can be eliminated from all cells that see all instances of the common digit in all petals.
不懂正常,看例子(我全网就找到一个)
TapTap
我们看到条件都满足。
stem cell:R7C6{369}
petal1:R8C3456 {23569},RCC为3
petal2:R8C4 {56},RCC为6
petal3:R8C345 {2569},RCC为9
共用的候选数5(6也是,但是RCC在该技巧下不能作为删数使用)
我解释一下,这里如果用链解释很麻烦,而且我前面说过:不同的ALS是可以使用相同的单元格的,但是前提是共享的单元格内不能含有RCC。这里不满足,所以用链解释。。。
下面我自己解释,每一个petal即ALS是N+1个候选数,N个格。现在多了一个stem cell,你把所有ALS看作是一个ALS(这里就是R8C3456 {23569})再加一个格,而且这个格候选数均在ALS中出现,那不就是N个候选数,N个格了吗?这是一个非严格意义上的数组。我们知道这里一共5格,一共5个候选数。所以锁定了,这五个数一定填在这五个格。如果他们的候选数有一个是在同行列宫,是不是就是可以等于数组进行删数?我们看这个例子中5都在R8,前面说了,5一定出现在这个“数组”中,所以R8C2的候选数5可以删掉。(6在R7也出现了,所以不行)
这么理解好点?
习题就算了,新手不好找,看例子吧。而且我发现4星难度50关左右后面就需要这些知识了。。。量力而行吧。
附上总集篇链接。
评论3
只看作者
最热
TapTap
写下你的想法...
尾猫
emm,死亡绽放,属于理论解释的东西,实战基本不会这么使用Orz
大概有两种,一种就是灰酱提到的这种。对某个单元格死亡绽放,任意为真得到共同结论,只有电脑会这么玩。。。
第二种就是绽放环。从某个弱(强)区域出发,强弱链交替最终回到某个强(弱)区域,21年贴吧整出来的一个超好用的技巧。虽然现在已经沦为一种解释性工具,而不是切入视角,括弧笑。当然这种视角也很流氓,因为做题的时候不可能遇到多值格就无脑绽放。。。
[嗒啦啦2_经验+3]
早上好啊
仔细研读发现一处不知道是不是的错误
TapTap
巨大萌新
ALS的中文名是 待定数组
已经到底了
3
8
3