第36講:構造鏈(一)——Wing結構
嘛,今天來講一下鏈的最後一種思想。講完這一個內容,鏈的內容就暫時告一段落了。
Part 1 雙分支匹配法結構的構造
如圖所示,這是一個雙分支匹配法(XY-Wing)結構。這個結構很簡單,我們知道它的兩種理解思路:一個是AIC理解,一個是分情況討論的理解。不管怎麼樣,我們知道了一點,就這個題來說,r3c4(5)和r5c2(5)至少一個為真。不管是誰,都可以刪除掉它們的交集。
那麼,聯想一下關係的第二定義。強關係第二定義怎麼說的?是不是「不可同時為假」?不同時為假不就是至少一個為真么?那豈不是我們根據這個結構可以直接把r3c4(5)和r5c2(5)直接用強關係連起來了?
聰明!機智如你!對的,可以這麼干。那麼我們繼續看一個新例題。
這是一個XY-Wing,但是沒有刪數。
沒有刪數也不必著急,也不要因為沒刪數就不管了。至少,我們可以有一個XY-Wing的強關係可以用:r4c2(5)=r6c4(5)
。接下來我們不妨去找找其他強弱關係,然後把這個強關係用上,不就可以了!
恰好,我們找到一個c5的強關係,我們把它們串起來。
鏈如下所示:
(r4c2=r6c4-r5c5=r9c5)(5) => r9c2<>5
這樣就找到了頭尾的刪數了。沒毛病吧!
我們利用了XY-Wing的強關係,得到了這裡一條新的AIC。我們稱這樣的超鏈叫做構造標準鏈(Constructed AIC),一般簡稱構造鏈。
當然了,構造強制鏈也是有的,不過強制鏈本身有些暴力,所以就不介紹了。
那麼,有沒有更特殊的結構呢?當然是有的。
好了,在將下一個內容前,你需要知道雙分支匹配法的第三種思路:偽數組。偽數組是之前講到的一種跨區的待定數組結構,雙分支匹配法的類似理解思路如下:對於三個單元格,有且僅有裡面的數字z可能存在重複,而數字x和y則不可能重複。所以可以刪除z的交集。提到這一點是因為接下來的內容會用到這一點。
Part 2 三分支匹配法的構造
如圖所示。我們嘗試用偽數組的思路來理解。
在這三個單元格內,有1、3、5三種不同的數字,但只有數字3可能存在重複填數情況。於是刪除掉的是這三個候選數3的交集。所以r5c4<>3。
那麼,雙分支匹配法都有強關係可以生成,那三分支匹配法裡面的這三個3莫非也有運用方式?當然有啦。試想一下,這三個3是不是不可同時為假?是吧。而恰好,三個3恰好可以找到兩組3可以同一區域。那,我們把其中一組3看成一個候選數組(一個節點),和另外一個單獨的3成強關係,可以嗎?比如說,r5c2(3)=r45c5(3)
成立嗎?成立!如果同假時,r5c2<>3並且r45c5(3)區塊為假,也就是r45c5(3)同假。所以說白了,就應該是三個數全假。全假的話,就導致結構內只有兩種數字了,要填三格,顯然是不夠填的。所以是矛盾的,故強關係是成立的。
當然了,同理r4c5(3)=r5c25(3)
和{r4c5, r5c2}(3)=r5c5(3)
也都是成立的,只是一般都用不上這種跨區的兩個相同候選數的強關係(特別需要你思考一下後面這個強關係是如何成立的,提示一下:逆否命題)。
那麼,口說無憑,我們來看一個例子。
如圖所示,鏈表示如下:
(r6c46=r4c46-r4c2=r6c26)(7) => r6c8<>7
這個結構厲害了,首先是兩個區塊的強關係。區塊同假意味著所有可能位置全為假。那強關係肯定是成立的;然後弱關係,得到r4c2(7)為假;接著利用剛才我們學到的三分支匹配法的構造,得到這樣一個特別的強關係:r4c2(7)=r6c26(7)
。然後刪掉的應該是r6r46(7)和r6c26(7)的交集,那不就是r6其他位置的候選數7了嘛!
厲害吧!傻了吧!不懂了吧!神奇吧!咳咳咳,開個玩笑啦。
好啦,這個就講到這裡,接下來來看一下另外一種Wing結構的構造。
Part 3 首尾格內對匹配法的構造
如圖所示,鏈寫法如下:
(r1c2=r5c5-r7c5=r7c1)(6) => r13c1<>6
想想看,r1c2(5)=r5c5(5)
是為什麼,這個題我就不講了。
Part 4 標準鏈的觀察
那麼,為什麼要講這種東西呢?之所以講這一些內容,就是想教給大家一個觀察方式:構造。
在基礎的學習鏈階段,我們學到了基本的強弱關係,然後學到了超鏈,甚至是構造鏈結構,讓我們學到了新的強弱關係的產生和使用。那麼,標準鏈究竟怎麼觀察呢?
我自己將AIC劃分為多種類別:一類標準鏈(I-AIC)、二類標準鏈(II-AIC)、三類標準鏈(III-AIC)。
- 一類標準鏈指的是基本的標準鏈結構,包括同數鏈和異數鏈結構,以及它們所有的使用,諸如首尾異數鏈、不連續環、雙強鏈等;
- 二類標準鏈指的是基本的超鏈結構,強關係或弱關係的產生不會跨區,在同一區域下產生,比如帶有nALS的同區異數強關係、hALS的同區異數弱關係的異數鏈等等;
- 三類標準鏈則是跨區產生的強弱關係的標準鏈結構。
接下來講一下這些類別的標準鏈的觀察。
一類標準鏈的觀察方式如下:首先,去找到大量的共軛對(在第一類標準鏈下,共軛對和強關係是可以劃等號的),熟練了之後,找的共軛對最好是相關的,就是有關聯的。找到了這樣一些強關係過後,我們就可以隨意用弱關係把這些多個強關係連接起來,構成一條標準鏈結構。不過還要看是否有刪數,就需要你知道一些基本的構型,一定沒有刪數,或者說會被其他技巧代替的、無用的結構。比如說,如果鏈頭鏈尾同數同區,則需要思考一下,是否有區塊或複合區塊結構可以代替它、如果鏈頭鏈尾異數同區,則需要注意一下,是否有環結構;如果鏈頭鏈尾異數異區,那必然長度還不足以構成鏈;如果可以滿足標準鏈了,但鏈頭和鏈尾所處的兩個宮位置相差很遠,有一些結構是沒有刪數的。比如這樣:
. x . | . . . | . . . . . . | . . . | . . . . . . | . . . | . . . -------+-------+------- . . . | . . . | . . . . . . | . . . | . . . . . . | . x . | . . . -------+-------+------- . . . | . . . | . . . . . . | . . . | . . . . x . | . x . | . . . W S S圖例:. 佔位用的,沒有任何已知信息x 鏈涉及的候選數S 表示此區域內產生強關係W 表示此區域內產生弱關係
這樣的結構就一定沒有刪數。因為它雖然看起來很像摩天樓,但是鏈頭和鏈尾的交集是r1c5(x),可r1c5(x)處於c5(x)強關係內,如果上面有數,摩天樓結構也不會成立,所以刪不了。
這種結構就沒有刪數。當然還有其他一些,這需要自己總結了,這裡不好枚舉出來。
二類標準鏈怎麼觀察呢?產生的強弱關係同區但異數。這樣的話,就不要急著找鏈,而是先去看ALS結構。二類標準鏈一般都是帶有ALS結構的,所以先去找到這樣的ALS結構(之前介紹過ALS的觀察方式),然後就像是得到了「聚寶盆」一樣,比如nALS內任兩種數字間都是強關係,所以隨便怎麼找強關係都可以。這個時候再去找另外的共軛對,找鏈過程之中要注意共軛對最好要和這個(這些)ALS有關聯,然後方便直接用弱關係連接起來,就直接構成標準鏈了。
三類標準鏈怎麼觀察呢?三類標準鏈就需要熟悉一些基本的特殊結構,然後去找這些大結構,找到這些結構後,再找共軛對,再用弱關係連接。稍顯複雜的就是,這樣跨區的特殊結構(諸如AUR、Wing結構構造),觀察都是有難度的。
下一節將講解的是,構造法的第二部分——魚。
推薦閱讀:
※第20講:雙強鏈(多寶魚)
※第16講:欠一數組
※第3講:區塊組
※第21講:同數鏈和異數鏈常見構型
TAG:數獨 |