数独策略:矩形消去法(Rectangle Elimination)

360影视 2025-01-29 07:24 2

摘要:矩形消去法(Rectangle Elimination)是一种数独解题技巧或策略,通过分析候选数之间的强链和弱链关系,利用三个格子和一个宫构成的矩形,消除一个格子中的候选数。

矩形消去法(Rectangle Elimination)是一种数独解题技巧或策略,通过分析候选数之间的强链和弱链关系,利用三个格子和一个宫构成的矩形,消除一个格子中的候选数。

我把数独策略分为三种类型:

瞪眼可得的。比如最后一数法,宫排除法。纸笔可得的。比如唯一矩形法(Unique Rectangle),如果用笔标出候选数,比较容易发现,但如果不用笔标出候选数,很可能只能干瞪眼。电脑可得的。比如十多个节点的链或环,即使标出候选数,也是很难发现的,如果再加上链的节点可能是组或ALS(差一数组),那非计算机不能完成也。

当然,因为人与人的逻辑推理能力是有差异的,这三种分类之间可能也存在重叠。比如,唯余法,有的人要用笔标出候选数才找得到,但另一些人高智商的,不标候选数也一眼就看得出来。

对于我这样的笨人,矩形消去法,应该属于纸笔可得的一类。标出候选数后,是比较容易找到矩形消去法的。在我的使用中,这个策略出现的概率非常高,很多需要使用环或链的策略,都可以用矩形消去法替代。在今日头条中,我也多次向朋友们推荐这个策略。因此,今天特意写篇文章来介绍这个策略。

这个策略当然不是我发明的,但本文的例子,是用我自己写的程序找的,本文的文字,也都是我写的。这篇文章,在一定程度上,应该算是我的原创吧。

我们先来看一个例子。

在这个题目中,R9C2和R9C6的候选数1,是一个强链关系。我们这里讨论的强链关系,就是一个行、列或者宫中,一个候选数只在两个格子中出现。这样,如果一个格子不取值1,另一个格子就必须取1。

而R9C2和R1C2的候选数1,是一个弱链关系。我们这里讨论的弱链关系,就是一个行、列或者宫中,几个格子有相同的候选数。这样,如果一个格子取值为1,那么其他格子取值就不能为1。

现在我们开始以下步骤来推理。

首先,我们假设R1C2取值为1。因为弱链关系,R9C2的值不能是1。因为R9C2和R9C6的强链关系,R9C6的取值必须是1。我们再来观察第二宫。因为R1C2和R9C6的值取1,所以第二宫中的R1C4、R1C6和R3C6三个格子的值都不能取1。偏偏第二宫中只有这三个格子的值取1, 这样一来,第二宫的所以格子都不能取1了。但是,数独有一个天条:每宫必须有一个格子取值为1。现在第二宫违反了这一天条,因此我们推出了一个错误的结论。如果推理过程没有错误,那么错误应该是我们的假设造成的。即我们假设R1C2取值为1是不正确的,换句话说,R1C2取值不能为1。因此,我们可以消去R1C2的候选数1。

我们可以看到,R9C6、R9C2和R1C2三个格子,与第二宫构成了一个矩形。因此,这个方法称为矩形消去法。

一般来说,我们可以采用以下步骤来使用矩形消去法::

找到两个格子A和B,要求它们之间对于某个候选数x存在强链关系。这两个格子A和B构成矩形的底边。找到另一个格子C,它与格子B在同一条垂直线上,并且也有候选数x。此时,B和C之间对于候选数x形成弱链关系。这样,A、B、C构成了矩形的三个顶点。通过A点做AB的垂线,通过C点做BC的垂线,交点就是矩形的第四个顶点D。确认:如果A和C取值x,那么D所在的宫中,没有格子可以取x。这时,我们就可以删除C的候选数x。

这是一个强链的两个格子是在同一列中的例子。

在第七列,R3C7和R6C7的候选数8,是一个强链关系。在第六行,R6C6和R6C7的候选数8,是一个弱链关系。如果R6C6和R3C7取值为8,那么,第二宫中的仅有的R2C6、R3C5和R3C6的候选数8,都是不可能的。

据此,我们可以消去R6C6中的候选数8。

从这个例子我们还可以看到,矩形消去法中的矩形,似乎并不那么四四方方。实际上,大多数矩形消去法的矩形,在宫的一角,形状都是有些不规整的。

我们用矩形消去法的眼光和链的眼光分别来看同一个例子。

以矩形消去法的观点来看,这个例子中,R2C2和R2C9的候选数2,是一个强链关系。
R2C2和R9C2的候选数2,是一个弱链关系。而且第九宫的候选数2都被消除。
因此,我们可以消去R9C2的候选数2。

以短链的观点来看,对于候选数2,

R2C2到R2C9是强链关系;R2C9到R7C9是弱链关系。R7C9到R9C8又是强链关系。

即存在一条短链:

R2C2[2]=R2C9[2]-R7C9[2]=R9C7[2]

我们在把这条链再画一遍。

很明显,这完全符合我们的一个短链策略多宝鱼(Turbot Fish)的模式。因为R2C2和R9C8中,至少有一个候选数必须是2,而R2C2和R9C8又都能看到R9C2,因此,我们可以消去R9C2的候选数2。这就是多宝鱼策略。

但是,有些例子,用链的观点分析,会比较复杂。我们再看一个例子。

用矩形消去法的视角,还是一样的方法。R5C4和R7C4的候选数3,是一个强链关系。
R5C4和R5C8的候选数3,是一个弱链关系。而且第九宫的所有四个候选数3都被消除。
因此,我们可以消去R5C8的候选数3。

但如果用链的观点来看,我们就需要用到一个很高级的策略,带组的交替推理链(
Alternating Inference Chains with Groups, AIC with Groups)。链的关系为:

R5C4[3]=R7C4[3]-R7C7[3]=R789C8[3]

对于候选数3,R5C4到R7C4是强链关系。R7C4到R7C7是弱链关系。R7C7到R789C8又是强链关系。R7C7取3,则R789C8三格都不能取3;R789C8三格中有一个取3,则R7C7不能取3。R7C4和R789C8至少有一个格子取3,而它们又都能影响R5C8,因此可以删除R5C8的候选数3。

通过这个例子,我们可以看到,采用矩形消去法,可以避免使用一些非常复杂的数独策略。

使用纸和笔,标出候选数解题时,它是一个简单的方法。通过一强一弱两个关系,三个点,一个宫,就可以寻找消去一个候选数的策略。避免使用一些复杂的数独策略。使用的频率非常高。如果朋友们试一试,就会发现,几乎所有号称难的或专家级的数独,都可以用到这个方法。

我强烈推荐朋友们使用矩形消去法。

来源:天哥教育

相关推荐