EH的数独杂谈#11-1 构造初步

更新时间2023/10/15758 浏览攻略
前置知识:本系列1-6章(尤其是第1章)以及第10章
(或者其他系列教程中对应的部分)
请注意:本系列的11-13章是深水区,请确保在完全理解前置基础知识的前提下观看!
--------目录--------
一、什么是构造?
二、第一类构造——AIC+
1. XY-Wing+
2. W-Wing+
3. XYZ-Wing+
三、第二类构造——规避非法结构
1. 规避唯一矩形(UR)
2. 规避BUG
3. 规避守护者
四、广义Wing
----------------
大家好!在第10章中,我们总结了一些常见不难的数独技巧,它们是数独万千技巧的基础。但对于你游五星题来说,仅仅使用这些技巧并不足以解题;即使学习了链,在实际进行寻找的过程中还是会遇到卡死的情况。
因此本系列的第11-13章将会从构造、毛刺、秩理论三个角度入手,帮助大家拓展视野,从已有的技巧中发掘出更多的方法,并试图以此展现标准数独的逻辑之美。
一、什么是构造?
所谓“构造”,就是指利用现有条件,提取出强关系或弱关系,并通过延伸从而产生删数的过程。注意,这个定义只是对一系列实例的抽象概括,而且构造本身是一种很灵活的思想方法,因此在学的时候尽量不要在概念上钻牛角尖。
实际上,通过构造产生的关系可以像普通的强/弱链一样去使用。作为11章的开始,本篇只介绍一些简单的构造强链的实例。
二、第一类构造——已有逻辑关系的延伸
在“链的延伸”一章中,笔者已经无意间带出了这种构造的本质:对已经找到的强链(或者弱链,但通常是强链)进行延伸,直到产生删数为止。
我们在第10章了解过,XY-Wing和W-Wing就是两种特殊的链,所以找到它们之后就可以直接得到一条强链;对于XYZ-Wing,我们也有办法构造出它的一条强链。如果它们本身的强链无法产生删数,那就试着去延伸吧!
1. XY-Wing+
先来看一个XY-Wing延伸的实例,如图11-1.1.1。我们从中找到了一个XY-Wing,并且得到强链
r9c4(3)=r8c8(3)
TapTap
图11-1.1.1 一个没有直接删数的XY-Wing
很可惜,只知道这条强链似乎并无助于解题。不过把这条强链的头尾都延伸一下,就变成了图11-1.1.2的形式,也就是
r9c5(8=3)-r9c4(3)=r8c8(3)-r4c8(3=8)
从而产生删数r4c5≠8。
TapTap
图11-1.1.2 XY-Wing+
看到了吗?我们通过XY-Wing构造了一条强链,然后通过延伸使它能够产生删数。本题在删了这个8之后,剩余步骤只需要排除和唯余就能做了。
还有一个更巧的事情:r9c4(3)和r8c8(3)分别能看到一个只含38的单元格,所以图11.1.1.2得到的链,不就是一个标准的W-Wing吗?
2. W-Wing+
再来看一个W-Wing的实例,这次我们直接用你游五星第二关举例,如图11-1.2:
TapTap
图11-1.2 W-Wing+
乍一看这张图会比较乱。我们先只关心绿色区域,注意到两个绿框只包含14,而第一行又有一个1的强链,它们分别看到了这两个14单元格。所以得到W-Wing的强关系
r3c4(4)=r2c1(4)
当然这个强关系也没有直接的删数,我们像图上画的一样去延伸它:
r3c4(4)=r2c1(4)-r1c2(4)=r9c2(4)
这样就产生删数r9c4≠4。到了这一步为止,即使没破题也八九不离十了吧。
3. XYZ-Wing+
还是五星第二关,在图11-1.2之前,还有一个XYZ-Wing构造的例子,如图11-1.3.1。
TapTap
图11-1.3.1 XYZ-Wing+
还是只关注绿框,我们得到一个XYZ-Wing的结构,并提取强链
r2c1(4)=r1c2,r2c6(4)
当然这条强链没有直接删数。但是注意到无论是r1c2(4)还是r2c6(4),都可以推出r1c6(4)为假,因此进行一步延伸,就像图上画的一样:
r2c1(4)=r1c2,r2c6(4)-r1c6(4=7)
提取强关系
r2c1(4)=r1c6(7)
但是这条强链还是没有直接的删数。这没关系,构造也不是一定能产生删数的,构造一次不行的时候,可以考虑再构造一次。例如,基于刚才那条强链,我们延伸出一个如图11-1.3.2的连续环,然后产生删数r45c1≠6。
TapTap
图11-1.3.2 二重构造
刚才的三个例子都是构造已有强链,然后进行延伸得到删数。从XY-Wing等已知结构入手是一种相当有效的切入点,通过这种构造与延伸的过程,我们的解题思路变得更加灵活多样。
三、第二类构造——非法结构规避
这类构造相比第一类就更加灵活了。
首先我们来想想什么是“非法结构”:顾名思义,就是不应该在数独盘面上出现的结构。例如我们之前学过的UR,它的出现会导致“局部多解”也就是“全盘无解”,是不应出现的;在第10章里我们介绍过BUG的概念,它也是不应出现的结构;还有守护者(如果你没接触过,可以出门左转看一下它最基础的知识),它也是为了避免奇数个共轭对成环的结构出现。
那么在实际的盘面中,我们通常寻找这些结构“差点出现”的情形,确定一些避免它出现的候选数。那么这些候选数就成强关系。
还是不要强行理解这段话,看完我下面的实例,你就都明白了。
1. 规避UR
先来看图11-1.4,它是我从五星第一关找出的例子:
TapTap
图11-1.4 基于UR的构造
注意到绿框的四个89,它们有构成UR的可能。进一步观察发现,如果r1c3(2)和r9c1(7)都为假(都消失),那么就形成了UR,这是不应存在的。这样我们就得到了r1c3(2)和r9c1(7)至少一个为真,也就是
r1c3(2)=r9c1(7)
现在知道UR构造的用法了吗?接下来,我们延伸一下这条链,变成
r9c1(7)=r1c3(2-9)=r1c1(9)
从而产生删数r9c1≠9。
2. 规避BUG
在第10章里,我们讲述了BUG的概念,以及BUG+1的概念。但实际上可能会是BUG+2或者更复杂的情况,此时我们就可以考虑构造了。
BUG+1没有必要去构造,因为直接就能出数。我们来看一个BUG+2的实例,如图11-1.5所示。
TapTap
图11-1.5 BUG+2构造
在本例中,如果r7c5(3)和r8c6(6)同假,那么剩余的盘面就构成了标准的BUG(请回顾BUG成立的两个条件,如果忘了可以出门左转#10)。于是r7c5(3)和r8c6(6)都是真数,它们至少有一个为真,即
r7c5(3)=r8c6(6)
进而延伸得到
r8c6(6)=r7c5(3)-r8c5(3=4)
从而产生删数r8c6≠4,余盘瓦解。
3. 规避守护者
守护者是一种不算罕见但也不那么常见的结构,但是仍然有可构造的空间。还是五星第二关的例子,如图11-1.6.1:
TapTap
图11-1.6.1 守护者
这个例子会稍微难理解一点。
观察图中的5个绿圈和5条绿线,其中实线表示两个3形成共轭对,虚线表示没有形成共轭对。再看黄圈,如果黄圈的三个3都为假,那么这五条线都是3的共轭对,也就是奇数个共轭对成环,这种结构是不可能存在的(详见连续环一章中的证明过程)。所以黄圈两个3至少有一个为真,也就构造了强关系
r1c9,r2c7(3)=r8c1(3)
接下来对其进行如图11-1.6.2那样的延伸,也就是
r1c9,r2c7(3)=r8c1(3)-r2c1(3)=r1c3(3)
从而得到删数r1c7≠3。
TapTap
图11-1.6.2 基于守护者的构造
四、广义Wing
我们在#10中讲解了XY-Wing,W-Wing和XYZ-Wing的一般形式。比如XY-Wing,我们当时规定它必须是三个双值格,但其实它只是三条强链的特殊排列而已。只要不影响三条强链的关系,我们就完全可以称之为广义的XY-Wing。实际上,XY-Wing,W-Wing和XYZ-Wing都有其广义形式。
先回过头来看看标准的XY-Wing长什么样吧,如图11-1.7.1所示:
TapTap
图11-1.7.1 标准的XY-Wing
我们首先是找到了一个包含17的单元格;这个单元格可以分别看到19单元格和79单元格。那么就有链
r7c8(9=1)-r7c3(1=7)-r8c2(7=9)
这里以17为XY,那么9就是Z。我们想要XY,XZ和YZ的单元格,本质上是想要这三格里XY/XZ/YZ的强关系;之所以规定XY单元格能同时“看到”一个XZ和一个YZ,本质上是要X与X,以及Y与Y的弱关系得以成立,从而将刚才那三个分别的强关系联系在一起
所以,我说下面的图11-1.7.2也是XY-Wing,你相信吗?
TapTap
11-1.7.2 广义的XY-Wing
比如以r4c4为核心(XY表示24),找到了同行的r4c2(Z表示3,两格由2连接。这里设X为2,那么Y就为4),你会下意识地在r4c4的区域内找一个34的单元格吧?但是并没有,不过我们找到了第一行的一个强关系,那是由ALS产生的,关于3和4的强关系:
r1c4(4)=r1c1(3)
碰巧r1c4(4)可以和r4c4(4)用弱链连接,那么这整条链不就又变成了XY-Wing的形式吗?所以结论是不变的,两个Z成了强关系,也就是
r4c2(3)=r1c1(3)
所以我们在寻找XY-Wing的时候,本质上是找三个强关系;寻找双值格只是其中一种最简便的方式而已。
了解了这些的话,请尝试在笔者不进行口头解释的情况下,自行领会图11-1.8的广义W-Wing和图11-1.9的广义XYZ-Wing。
TapTap
图11-1.8 广义W-Wing
TapTap
图11-1.9 广义XYZ-Wing
小结:
(1)构造与其说是一种“技巧”,更像是一种“思想方法”,可以用于对已掌握技巧的拓展应用。合理的构造能起到事半功倍的效果。
(2)最基础的两类构造:第一类是对已经得到的逻辑关系的延伸,比如从XY-Wing,W-Wing,XYZ-Wing中产生的强链进行延伸;第二类则是规避非法结构而产生的逻辑关系,例如为了避免UR,BUG或者奇数个共轭对成环,而得到的强链。
(3)XY-Wing,W-Wing,XYZ-Wing均存在广义形式,但其根本仍然在于链的关系。把握好这一点,这三种Wing的应用场景都会得到一定的拓展。
6
9
3