標籤:

第30講:ALS的綜合運用

現在要講的內容呢,是之前所有學到過的ALS的錦集版本。

Part 1 陰陽法(nALS & hALS Logic)

如圖所示,鏈如下表示:

r23c6(38)=r6c6(8)-r6c8(8)=r5c9(8)-r3c9(8)=r3c49(56) => r3c6<>56

這個鏈的精彩之處,是在於鏈的開頭和結尾。鏈頭是38AHS,而鏈尾,則是56ANS。那麼根據鏈的證明思路,鏈頭和鏈尾至少有一個節點成立。所以,56顯性數對和38隱性數對的交集為r3c6(56),故r3c6<>56。

這個結構稱為陰陽法(nALS & hALS Logic),中文名字可能有些玄學,而且,明明示例用的是毛刺數組,而英文名卻使用nALS和hALS,這就很奇怪。

其實一點也不奇怪,毛刺數組可以被拆解成nALS或hALS,或是vnALS或vhALS區域下的強弱關係。比如示例這條鏈可以這麼去拆解成這樣,即使看起來特別費力:

r3c6(38)=r6c6(8)-r6c8(8)=r5c9(8)-r3c9(8)=r3c49(5) => r3c6<>5r3c6(38)=r6c6(8)-r6c8(8)=r5c9(8)-r3c9(8)=r3c49(6) => r3c6<>6

在開頭,還可能有小夥伴覺得寫法是不是漏掉了r2c6這格。其實不然。r3c6(38)=r6c6(8)是成立的,即使是兩個候選數和一個候選數的特殊強關係。當它們同假時,r3c6將不會填入3或8,r6c6也不是8。這樣一來,觀察c6,你會發現,c6內填入3和8的位置,就只剩下了r2c6一處,可這樣一格是不夠填3和8兩種數字的,所以是不行的,強關係就成立了。

哇,還可以這麼看?!是的,不過它算什麼版的ALS呢?hALS。只是我們知道的是,hALS一般用的是弱關係,而這裡卻是強關係,而且還是兩個數和一個數的強關係,這樣就很靈活了!雖然這一點在之前確實沒有提及。

but,如果你還是不太好理解它的話,還是看整體結構吧^_^

另外呢,結尾的強關係:r3c9(8)=r3c49(5)r3c9(8)=r3c49(6)就會好理解一些了,因為它就是原始的邏輯,即nALS可以使用的是兩種數字之間的強關係。

Part 2 更詭異的ALS鏈

如圖所示,鏈如下表示:

r56c9(39)=r9c9(9)-r8c7(9)=r8c5(9-4)=r6c5(3)-r6c9(3)=r5c9(3) => r5c9<>67

鏈頭是一個39AHS,而到r8c5(4)時為假,而r8c5(4)和r6c5(3)不可同假,否則c5之中只有一處可填3和4兩種數字,所以不可以,故不可同假,即r6c5(3)應為真。最後得到r5c9(3)為真。所以39AHS和r5c9(3)至少有一個節點為真,刪掉它們的交集。39隱性數對成立時,刪除r56c9的其餘候選數,而再算上r5c9(3)成立的時候,能夠刪除的位置只有r5c9的其餘候選數。所以r5c9<>67。

這個鏈還沒那麼詭異,接下來來看一則鏈結構。

如圖所示。如果我不標註鏈的強弱情況,真的是看得一頭霧水(這條鏈就即使標註了強弱關係,也是一頭霧水)。

鏈的表述如下:

r7c3(7)=r3c3(7)-r3c8(7)=r9c8(4)-r9c3(4)=r237(467) => r2c3<>5, r7c3<>9

這條詭異的鏈,就算是寫出來了,也會發現有一個神奇的現象:r2c3<>5它是怎麼刪的?即使r7c3(7)和r237c3(467)至少一個為真,r7c3(7)為真指的是r7c3=7,而r237c3(467)為真則指的是r237c3內部產生467隱性三數組的緣故。雖然467隱性三數組可以刪掉r2c3(5),但是r7c3=7確實不能說明r2c3<>5,所以這並不能算是兩者的交集。這就很奇怪了。

我們試想一下,刪數邏輯到底是怎麼個道理。想想看,r7c3(7)和r2c3(5)是不是弱關係?什麼?你說什麼?這弱關係能表示可以刪掉它?

當然可以了。想想看嘛,如果r7c3(7)和r2c3(5)是弱關係,就意味著兩者不可同真,也就意味著,當r7c3(7)為真的時候,r2c3(5)就必然為假。這樣不就可以說明r7c3=7時,r2c3也不能為5咯?

確實,我們有r7c3(7)-r2c3(5),因為當它們同真時,觀察c3,針對於467來說,數字6就無位置可填了,就這樣矛盾的。所以弱關係得以成立。

剛才說到了,因為弱關係的緣故,所以r7c3(7)為真的時候,確實也可以確定,r2c3<>5。

所以,因為這樣的緣故,本應該產生的467隱性三數組也可以刪掉r2c3(5),所以r2c3<>5也是結論的一部分。

這條鏈的刪數結論的說明甚至用到了AHS才得以解釋,像這樣的鏈結構,不能直接得到全部刪數的鏈呢,可以稱為一種間接刪數的鏈(Indirected Chain)。

Part 3 ALS-XZ的互補角度

ALS的互補,在之前就已經講過了,比如nALS和vnALS,以及hALS和vhALS這樣的互補情況,那麼這裡簡單介紹一下,稍顯複雜的ALS版本。

這是一個ALS-XZ,你可以採用偽數組、ALS-XZ等邏輯來理解這一個內容。不過,很複雜的是,這個結構涉及了相當多的數字。我們嘗試將b3內的nALS區域改為hALS區域。

這樣就是一個帶有19AHS的簡單鏈了。

r5c7(6=9)-r3c7(9)=r2c78(19) => r2c7<>6

當然了,根據剛才才講到的AHS的簡略強關係版本,還可把鏈寫成這樣:

r5c7(6=9)-r3c7(9)=r2c7(19) => r2c7<>6

好啦。今天的內容就講到這裡吧!

放心,下一節不是ALS了!


推薦閱讀:

第14講:可規避矩形
第27講:隱性ALS
第24講:區塊組鏈
第15講:全雙值格致死解法
第3講:區塊組

TAG:數獨 |