第 49 講:復(fù)雜致命結(jié)構(gòu)初步
本篇章將為大家介紹的是數(shù)獨技巧里最難的四大技巧板塊:致命結(jié)構(gòu)、魚(鏈列)、飛魚導(dǎo)彈和網(wǎng)。這四個板塊的難度可能超乎想象,可能剛開始學(xué)習(xí),學(xué)會了,第二天就忘掉邏輯和證明了。所以這些技巧都值得反復(fù)去推敲,而且作用很大。
Part 1?致命結(jié)構(gòu)的確切定義
在之前的內(nèi)容里,我們簡單描述了有關(guān)致命結(jié)構(gòu)技巧的基本原理和運用,而在之前,它具有兩種不同的證明致命形式的方式,一種是類似于數(shù)組置換產(chǎn)生兩種填法的方法,例如唯一矩形和唯一環(huán);另外一種則是類似于某一個行或列的涉及的單元格左右或上下對應(yīng)交換形成致命形式的,例如拓展矩形。
那么,致命結(jié)構(gòu)的確切定義呢?我們從這兩種類型里提取出相同的方式:當(dāng)所涉及的結(jié)構(gòu)內(nèi)部的填法相對于盤面而言不是唯一的填法的(即包括多種填法和無解填法,多種填法以UR為代表,無解填法以BUG為代表,即怎么填最終都會矛盾),而結(jié)構(gòu)對盤面其余任何位置都是孤立的,即不會導(dǎo)致任何外界其它單元格的填數(shù)影響的,稱為致命結(jié)構(gòu)。
那么,以此我們將產(chǎn)生出非常多的變體形式的致命結(jié)構(gòu)。接下來我們就來看看到底都有什么類型。
Part 2?致命結(jié)構(gòu)的致命類型探討
2-1 數(shù)組置換類型
思考一下UR形成致命形式的原理:內(nèi)部可以發(fā)生交換,進而產(chǎn)生兩種不同的、不造成外部影響的填數(shù)模式。那么我們試著把UR和UL這兩種都是一樣的變換形式的技巧結(jié)合在一起,看它能形成什么樣的形狀。


如左圖所示,觀察c1,我們發(fā)現(xiàn)6存在共軛對,這意味著,r78c1有且僅有一格是6,那么,另外一格都不應(yīng)為9。那么我們接下來就要說明的就是,為什么另外一個單元格不應(yīng)該是9。
如果r78c1有一個是6,而且此時另一格為9的話,算上r6c79、r7c67、r8c69這六個單元格的話,結(jié)構(gòu)一定是致命的。我們此時把r78c1看成6、9數(shù)對。我們看成6、9數(shù)對后,觀察結(jié)構(gòu)所在的所有區(qū)域(r678c1679b6789)。因為結(jié)構(gòu)不是UR那樣規(guī)則的結(jié)構(gòu),所以我們只能嘗試去利用假設(shè)的方式來看。r6、c79、b69內(nèi)都有4、9數(shù)對、c6、b8內(nèi)都有4、6數(shù)對、c1、b7內(nèi)6、9數(shù)對、r78有4、6、9三數(shù)組,即如右圖所示。
顯然,結(jié)構(gòu)里必定會產(chǎn)生兩種相反的填數(shù)模式。但是顯然,管它怎么填,這個結(jié)構(gòu)涉及的各個區(qū)域上都已經(jīng)產(chǎn)生了固定的數(shù)對或更高階的數(shù)組。所以不管怎么交換實際上都是沒有實質(zhì)性效果的,完全影響不到其它位置。但是,就內(nèi)部有不同的填數(shù)模式而言,就相當(dāng)于已經(jīng)產(chǎn)生了兩種形式的填數(shù)模式了。而縱觀整個盤面,我們把剛才結(jié)構(gòu)存在的區(qū)域下的所有數(shù)組刪數(shù)都清除掉,并把兩種填數(shù)情況分裂為兩個盤面對比來看的話,那么它們的剩余盤面則是完全一致的。換句話說,這兩種不同的填法都直接可以得到同一個“剩余盤面”。數(shù)獨唯一解,要求每一個單元格都只可以有一種填法(也就是整體的題目的每一個單元格來說,答案上只可能是唯一的一個數(shù),別無其他可能),這樣一來,結(jié)構(gòu)就形成致命形式了(雖然不知道它這種致命形式到底叫什么名字)。
這種結(jié)構(gòu)實際上叫做雙值格致命結(jié)構(gòu)(Bi-value Deadly Pattern),因為它對應(yīng)的致命形式,每一個單元格都是雙值格。那么有沒有多值格致命結(jié)構(gòu)(Multi-value Deadly Pattern)呢?是有的,不過我們這一節(jié)不介紹。
同時,我們得到了一個結(jié)論:如果一個盤面存在像上圖這樣的全雙值格結(jié)構(gòu),并且形成不影響外界,但內(nèi)部可發(fā)生交換的形式,那么題目一定不是唯一解的。
2-2?行列交換類型

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
如圖所示,如果r6c7(5)假的話,那么觀察r46c234678這十二個單元格,橫著看都是134789六數(shù)組,完全一樣的。既然都是一模一樣的六數(shù)組,很明顯,r4的填數(shù)和r6的填數(shù)就可以完全交換一下,也就是說,r4c2和r6c2交換、r4c3和r6c3交換、r4c7和r6c7交換,諸如這樣的方式。
這樣把所有的六格的填數(shù)交換一下,上面的填數(shù)放到下面去,下面的填數(shù)放到上面去,這也完全對全盤沒有絲毫的影響。所以,我們可以認(rèn)定它是一種致命結(jié)構(gòu)。
實際上,這一類型的致命結(jié)構(gòu)是有互補視角的。我們回顧一下之前提到的一個問題:為什么結(jié)構(gòu)上下對應(yīng)的候選數(shù)會如此相似。比如上一題里,結(jié)構(gòu)r4c2和r6c2的候選數(shù)情況完全一樣,r4c3和r6c3也一樣,其它也都是(除了刪數(shù)的單元格r6c7這一組不一樣以外)。
我們在之前的解答里,是這么說的:由于結(jié)構(gòu)只是涉及行列的上下或左右對應(yīng)位置的交換,所以它跟宮沒有任何影響。而且實際上,在這些單元格的所處行列上,確實具有完全相同的數(shù)字作出了排除,所以候選數(shù)是一樣的。
那么,我們參照這一點,換做互補的視角來看看。如圖所示。

我們把r46提取出來,把之前涉及的12個單元格拋開不看,只看剩余的位置,即確定值。此時我們可以發(fā)現(xiàn),當(dāng)r6c9 = 5的時候,r46的所有確定值信息完全一樣:都是2、5、6。顯然,既然出現(xiàn)了一樣的填數(shù)信息了,那么r46剩下的單元格就一定是完全一樣的數(shù)字,那么上下就必然能產(chǎn)生對應(yīng)位置互換的方法了,這樣就產(chǎn)生了兩種填數(shù)方法,故形成了致命形式,所以r6c9 <> 5。
所以,可以看到這個例子里,刪數(shù)是互補視角上的r6c9(5),而原視角里刪數(shù)則是r6c7(1348),即其它都刪了,除了5沒刪。這就形成了鮮明的互補視角。所以,如果我們發(fā)現(xiàn)一個結(jié)構(gòu)比較大的話,或者說一個疑似致命結(jié)構(gòu)比較大的話,可以嘗試使用互補視角來解決觀察的問題。
那么,我們從這個視角里產(chǎn)生一個特殊的結(jié)論:如果同一個并排三宮里的兩行或者兩列沒有任何的確定值信息,題目一定是多解的。所以,如果你看到這樣的結(jié)構(gòu),那么題目一定是多解題(當(dāng)然,其余位置如果產(chǎn)生顯然的矛盾,這一種情況另說)。
接著,我們再來看一種更神奇的邏輯。
2-3?數(shù)字交換類型
2-3-1?反轉(zhuǎn)唯一環(huán)

如圖所示。此時我們換個思維。全盤只有這樣涂色的五個單元格有確定值8和9。如果說r6c9(8)此時為真的話,r2c46、r5c69、r6c49就會構(gòu)成關(guān)于8和9的確定值版本的唯一環(huán)結(jié)構(gòu)。
那么我們現(xiàn)在要說明,確定值版本的唯一環(huán)結(jié)構(gòu)在此時是致命的。由于是確定值,而確定值就可能包含提示數(shù)信息,所以顯然不能直接交換。而如果我們可以嘗試對于所有沒有填數(shù)的單元格,又都含有候選數(shù)8和9的地方全部隨便填入一種方式,只要不違背數(shù)獨規(guī)則即可,然后對這些位置全部都互換一下。
我們假設(shè)此時盤面的解唯一的話,那另外一個盤也應(yīng)當(dāng)有唯一的解,而且是完全一樣的解(除了這里8和9互換的地方不同外)。試想一下,一道唯一解的題會不會存在這樣,有局部的數(shù)值進行互換之后,剩下卻完全一致的盤面對應(yīng)同一個解的情況?當(dāng)然不存在。所以這便形成了致命形式。
我們將這種利用確定值形成唯一環(huán)(或唯一矩形)形式來反向證明出致命形式的模式,叫做反轉(zhuǎn)致命形式(Reverse Deadly Pattern),它實際上包含兩種情況,一種是前一個示例給出的拓展矩形的互補視角,稱為反轉(zhuǎn)拓展矩形(Reverse Extened Rectangle);而另一種就是這一節(jié)講到的反轉(zhuǎn)唯一矩形(Reverse Unique Rectangle)或反轉(zhuǎn)唯一環(huán)(Reverse Unique Loop)。
請注意,在觀察確定值的時候,一定要找到全盤所有的這些數(shù)字,不要單純認(rèn)為其中只要一部分形成了唯一矩形或唯一環(huán)就算可以了,實際上這是不對的,因為其它沒有被勾選出來的這些確定值可能給剩余的單元格一些確定值,出數(shù)或刪數(shù)的結(jié)論都是可以存在的,所以我們一定要找全盤的所有這兩種確定值。
那么我們接下來來看一些反轉(zhuǎn)唯一矩形的例子。
2-3-2?一個更大的反轉(zhuǎn)唯一環(huán)

如圖所示,如果r7c3(9)為真,則涂色的8個單元格將會構(gòu)成唯一環(huán)形狀的結(jié)構(gòu),而全盤所有的8和9都已經(jīng)被涂出來,構(gòu)成此形式。
顯然,這樣就會導(dǎo)致剩余盤面的8和9的填數(shù)位置沒有其它的可確定的提示信息,使得8和9顯然會出現(xiàn)兩種不同的填入方式,使得出現(xiàn)多種填法,違背唯一解的要求。所以r7c3 <> 9。
2-3-3?反轉(zhuǎn)唯一矩形

全盤只有三個位置有確定值1和2。如果r1c3(1)為真,就會構(gòu)成確定值版本的唯一矩形,全盤別無其他關(guān)于1和2的提示信息,故1和2的填數(shù)無法繼續(xù)判斷和確定。所以這樣的結(jié)構(gòu)必然是致命的。
2-3-4?直推反轉(zhuǎn)唯一矩形

如圖所示,如果r1c12(4)都為假后,我們將立即產(chǎn)生一個直推反轉(zhuǎn)唯一矩形(Direct Inference Reverse Unique Rectangle),從r1c2(8)開始,使得b7里只有r7c1可以填入8,且r1c1只能是1,此時全盤所有填入確定值1和8就確定下來,而且構(gòu)成了唯一矩形的形狀。
而之前說過,這種結(jié)構(gòu)是必然會使得剩余盤面的1和8的填數(shù)可以產(chǎn)生置換,所以產(chǎn)生多種填法,進而違背數(shù)獨的唯一解的要求。所以,我原假設(shè)r1c12(4)形成區(qū)塊,即至少有一個是成立的,當(dāng)作區(qū)塊,刪除b1和r1的其余位置的候選數(shù)4。
2-3-5?位于大列里的反轉(zhuǎn)唯一環(huán)

如圖所示,首先發(fā)現(xiàn)全盤的6和7只有b369里存在。當(dāng)r2c7 = 7時,6和7的所有提示信息將構(gòu)成反轉(zhuǎn)唯一環(huán)的結(jié)構(gòu),使得其余任何一個地方都沒有6和7的提示信息,即使題目能夠繼續(xù)完成下去,但到最終,6和7都無法繼續(xù)往下,因為此時的6和7已經(jīng)沒有任何提示信息可以讓它們往下完成了,這個時候,所有空位上可以放入6的地方也可以放入7,使得產(chǎn)生多種不同的填數(shù)結(jié)果。而題目是唯一解的,肯定不會允許這樣的情況出現(xiàn),所以這種結(jié)構(gòu)應(yīng)當(dāng)是予以避免的,故原本的假設(shè)錯誤,故r2c7 <> 7。
2-3-6?另外一種位于大列里的反轉(zhuǎn)唯一環(huán)
有些時候,反轉(zhuǎn)唯一環(huán)的使用不像是上面的一些示例一樣,它可能僅僅在并排的三個宮里。

如圖所示,這個結(jié)構(gòu)便是這樣。請仔細(xì)觀察左側(cè)b124578里的8和9,可以發(fā)現(xiàn)到的是,8出現(xiàn)了很多,但9一個都沒有。我們這么去思考:由于b124578并不存在任何8和9的提示信息,而其中的所有8都只是我們填入的數(shù)字,這并不足以說明它一定是題目的一部分。如果r2c7(1)和r5c9(1)同假,則兩個單元格都只能填入9,使得b369里8和9的確定值構(gòu)成了唯一環(huán)的類似形狀。
和上一題類似,如果r2c7(1)和r5c9(1)同時去掉后,b369有關(guān)8和9的確定值已經(jīng)填好,但b124578里的8和9卻依然不可確定。雖然在這六個宮里,數(shù)字8都已經(jīng)填好,但這些數(shù)字僅僅是作為自己填入的數(shù)字出現(xiàn),所以并不是提示數(shù),即無法固定到盤面上,它們的確定并非是完全成立的。換句話說,它們并不一定是正確的填數(shù),所以和提示數(shù)不同。因此,作為這六個宮里的數(shù)字,8和9依舊可能產(chǎn)生多種不同的填法,因為b369填好的8和9的排布模式已經(jīng)不能再給出有效的8和9的確定值,故其它剩余的8和9將會形成多種填法,即致命形式。
仔細(xì)揣摩這個推理思路就可以發(fā)現(xiàn),它和之前的反轉(zhuǎn)唯一環(huán)不太一樣,但又有相似的推導(dǎo)思路,不過更加靈活了。
2-3-7?利用不同真的反轉(zhuǎn)唯一矩形

如圖所示,我們嘗試假設(shè)r78c2(9)區(qū)塊為假作為開頭,則r6c2(6)為真。顯然,全盤只有這三處有6和9,如果此時r4c2 = 9,則構(gòu)成反轉(zhuǎn)唯一矩形的致命形式。所以r4c2(9)為假。接著,后面的邏輯就不用多作解釋了。
2-3-8?另一則利用弱關(guān)系的示例

如圖所示。鏈的推導(dǎo)就不過多闡述了,我們來看r4c6(6)-r7c1(3)的成立的原因。如果它們同真,必然會導(dǎo)致r4上填入2、3的位置被擠入到r4c12里,而此時r7c1(3)為真,r7c2是2,那么r47c12就只有2和3,構(gòu)成類似于唯一矩形的環(huán)狀結(jié)構(gòu),而全盤所有確定值2和3已經(jīng)被我們確定下來,如果這么填數(shù)的話,2和3將不再存在確定值,導(dǎo)致2和3在余下的部分里可以互換形成兩種填法,進而違背唯一解的要求。
所以規(guī)避這個內(nèi)容,我們認(rèn)定r4c6(6)-r7c1(3)是成立的,所以引出了這一條不連續(xù)環(huán),得到了刪數(shù)。
2-3-9?推導(dǎo)更麻煩的反轉(zhuǎn)唯一矩形

如圖所示,假設(shè)r1c8(1)為假,則ALS區(qū)域{r1c8, r2c7}里必然得到r2c7(4)為真,所以r1c9(4)為假。不過由于剛才假設(shè)r1c7(1)為假,所以r1c8(7)是為真的,因此r1c9此時不會含有數(shù)字7,那么r1c9只能填入3了;接著,當(dāng)r1c9(3)為真時,r1c2(3)為假,而剛才假設(shè)r1c8(7)為真的緣故,所以顯然此時r1c2(8)必須為假。否則全盤所有確定值7和8就固定下來,而構(gòu)成唯一矩形的形狀,導(dǎo)致7和8的剩余盤面將產(chǎn)生可交換的情況,導(dǎo)致非唯一填法,違背唯一解的要求。所以r1c2(8)為假,故r1c2此時只能使得r1c2(1)為真。
所以r1c28里必須有一個1是成立的,所以刪除它們的交集,即r1c1(1)。
實際上可以看出,這是一個環(huán)結(jié)構(gòu),不過麻煩的地方在于,它的內(nèi)部嵌套了眾多的分支,所以這里就不討論其它地方的刪數(shù)了(你可以嘗試找找看,到底還有沒有額外的刪數(shù))。
那么,我們根據(jù)這一個致命形式,可以得到一個結(jié)論:如果全盤沒有出現(xiàn)至少兩種數(shù)字的任何確定值,則題目一定是多解的。
2-3-10?完全分離的兩個反轉(zhuǎn)唯一矩形?
下面我們來看一種比較特殊的情況,不過它稍微需要一點鏈。

如圖所示。我們先嘗試認(rèn)為鏈結(jié)構(gòu)是對的,并認(rèn)為處于r56c26的3和8會構(gòu)成反轉(zhuǎn)唯一矩形的致命形式,稍后我們再作出原因的說明。我們先來看鏈結(jié)構(gòu):假設(shè)r6c2(3)為假,則按照鏈結(jié)構(gòu),順次得到r6c2(5)為真、r6c5(5)為假、r1c5(5)為真、r1c6(5)為假,并最終得到r12c6(28)毛刺顯性數(shù)對為真。
當(dāng)鏈頭r6c2(3)為真時,我們認(rèn)為反轉(zhuǎn)唯一矩形成立,則可以刪除r6c6(8);如果鏈尾r12c6(28)為真時,顯然也可以刪除r6c6(8),所以r6c6 <> 8。
下面我們來思考,這樣的結(jié)構(gòu)為什么依然是成立的。為什么我們之前說,“不允許在結(jié)構(gòu)之外出現(xiàn)這些數(shù)字的任意確定值”,但這個例子里卻出現(xiàn)了,但依舊可行呢?這是因為,外部出現(xiàn)的3和8,依舊完全構(gòu)成了反轉(zhuǎn)唯一矩形的形式,即構(gòu)成了唯一矩形一般分屬于兩個宮的構(gòu)型。這樣的話,即使有這些3和8的確定值,它對外部的其余3和8也是不會產(chǎn)生任何影響的。所以,這兩個反轉(zhuǎn)唯一矩形實際上是毫無關(guān)系,但都對外部不產(chǎn)生其余的影響,故這兩個分離的反轉(zhuǎn)唯一矩形此時都是完全成立的。
那么,既然成立了,那么推導(dǎo)邏輯和刪數(shù)原理也就全部正確了,我們就不再作出說明,下面我們來看一則帶強制思維的、這樣分離的反轉(zhuǎn)唯一矩形的例子。
2-3-11?分離的反轉(zhuǎn)唯一矩形的另一則示例
下面來看最后一個比較難的例子。

如圖所示,如果我們嘗試假設(shè)r4c6 = 4,則根據(jù)圖上給出的鏈的順序,可以分別得到r5c7 = 4、r6c3 = 4、r2c5 = 4。而此時可以發(fā)現(xiàn),當(dāng)這些數(shù)字填入后,全盤所有的4和9分為了兩個反轉(zhuǎn)唯一矩形的構(gòu)型出現(xiàn)在盤面上。剛才我們說到,這樣的兩個完全分離的反轉(zhuǎn)唯一矩形互不影響,而也都不會影響到外部的其余4和9,導(dǎo)致其余4和9的確定值無法繼續(xù)得到,故產(chǎn)生無法填完4和9,即產(chǎn)生多個填數(shù)方法的致命形式。
所以,為了規(guī)避這個形式的出現(xiàn),r4c6 <> 4,這便是這個例子的結(jié)論。
2-4?對稱翻轉(zhuǎn)類型
2-4-1?宇宙法

如圖所示,我們將所有1和2的確定值構(gòu)成一組,3和6一組,4和7一組,5和8一組,9此時沒有合適的構(gòu)成一組。那么你就會發(fā)現(xiàn),這個盤面有一個神奇的現(xiàn)象:拿1和2一組來說,所有1的中心對稱的位置恰好都是2,而反過來也是一樣;3和6也是這樣,所有3的中心對稱的單元格上一定是6,其它的也都是這樣。
那么我們就可以思考一個問題了。既然確定值的信息是完全中心對稱的,那么我們隨意在一處地方找到一種技巧,那么與之中心對稱的位置就一定會找到與之對應(yīng)的同一種技巧。比如我們在r34c34上發(fā)現(xiàn)了一個環(huán),那么r67c67就一定存在一個環(huán)。因為確定值是中心對稱的,所以如果有1的技巧,就在對應(yīng)中心對稱的地方找得到2的技巧,因為1和2是中心對稱的,其它的技巧也都同理。
而r5c5是這個盤面的對稱中心。如果題目是唯一解的,r5c5就不應(yīng)當(dāng)放“可以構(gòu)成一組的兩種數(shù)字的其中一種”。比如說,r5c5如果是1的話,那與之中心對稱的那一個單元格就必然是2??墒莚5c5已經(jīng)是對稱中心了,就意味著它的中心對稱的位置就是它自己。所以顯然要使得r5c5 = 1就必須r5c5 = 2,這樣是根本不可能的,所以1和2都不可能放進去。同理,3和6是一組顯然不能同時填入;4和7一組不能,5和8一組也不能。所以r5c5只能填入唯一的一個沒有配對的數(shù)字9了,所以r5c5 = 9。
這種技巧利用了盤面的高度對稱性來進行解題,所以是一種非常強大的技巧,但這種技巧也依賴于高度對稱的盤面,所以不對稱的盤面顯然就無法使用這個技巧了。這種技巧叫做宇宙法(Gurth's Symmetrical Placement),中文名稱是由中國數(shù)獨/謎題國家隊選手邱言哲命名的,因為宇宙一詞的英文為Universe,它的詞根就是類似于全盤、全局的意思。
我們再來看一種對稱類型:軸對稱。
2-4-2?軸對稱類型的宇宙法

全盤所有確定值下,4和7一組、5和8一組、6和9一組,剩下的1、2、3各自單獨一組。
注意,這里敘述的是單獨一組,不是一起的。
關(guān)于捺對角線對稱的話,r4c4、r5c5、r6c6下就只能為1、2、3,不能是其他數(shù)字(這三格恰好在對稱軸上)。否則的話,4和7一組,比如r6c6是7的話,為了滿足對稱性,r6c6還應(yīng)是4才可以,這樣是不符合數(shù)獨規(guī)則的,同樣的,6和9也不行,5和8也不行,就只能是1、2、3了。
雖然它們各自一組,但我們依然無法確定到底r4c4是1,是2,還是3。所以我們只能大致知道,這三格一定都只有候選數(shù)1、2、3。不過呢,由于三格恰好同宮(b5),所以這三格構(gòu)成三數(shù)組,可以確定刪除b5內(nèi)的其余候選數(shù)1、2、3以及這三格內(nèi)的所有其余候選數(shù)。于是,盤面瓦解。
至此,我們就講完了基本的致命結(jié)構(gòu)基本變換類型,這些變換類型既相似又有各自明顯獨特的地方。不過,我們之前提到的內(nèi)容都還算比較容易。接下來我們來看的幾個技巧就比較困難了,雖然都是數(shù)組置換類型的致命結(jié)構(gòu)。