標籤:

第60講:網(2)——網的基礎理解

今天我們正式進入網的學習。不過首先,我要拿出一個大家基本上都熟悉的例子:被網上「戲稱為」世界最難題的數獨題目。

Part 1 引例——「世界最難數獨題」

這個題把它的全部候選數都標註上去的話,就是這樣的,不過這個題目,在前面學習到的技巧之中,是無法解決掉的,也包括魚雷(或者我自己沒找到)。

不賣關子了,接下來我們直接來看這個例子用什麼網怎麼操作。

首先我們標記出來一系列單元格,如下圖所示。

這樣我們就標註了20個單元格。我們之前學到的SDC的拓展,不論是多段SDC還是多度SDC,最終在結構內的所有候選數,沒有任意一個候選數同時屬於兩個或更多區域。換句話說,之前的所有候選數,都有自己對應的明確的塗色的,而不會同時因為屬於兩個或更多區域時,同時圖上不同的顏色。

這裡我們來看這20個單元格的所有候選數,這些候選數能不能像之前那些SDC那樣,每一個候選數都可以明確地找到自己所屬的區域呢?

好消息是,全部都可以。比如這樣:

如圖所示,標註在盤面外的數字,表示所在行(列)上,一定存在於此區域的候選數。比如說r1外圍的1、3、6,表示這一行內,結構涉及的單元格內,候選數1、3、6恰只屬於此行內。

那怎麼去選擇每一個候選數的所在區域呢?比如r1c5(7),因為行上只有唯一一個單元格可能有7的填數位置,按照SDC拓展版本那樣,如果一個區域下只有唯一一處有這個數,就完全無法構成合適的結構。所以這樣看是不行的,換而言之,只能將候選數安排到列上。

然後,數一下外圍的數字的個數。結構涉及五行,一共是3+2+2+1+2=10個數;又涉及四列,一共是2+3+3+2=10個數,所以結構整體一共涉及的是20個數。而恰好又是20個單元格。我們就可以下結論:這些外圍的數字表示所在行(列)上,一定會出現這些數字。所以所在行(列)上,可以對應刪除掉其他位置的候選數。如圖所示,紅色的均為刪數。

這就有點恐怖了,這麼難的一道題竟然可以巧合地刪除這麼多個數!不過結論是成立的,而且紅色的刪數是可以保證正確性的,我們可以安全刪除掉它們。比如剛才我們確定了r8上有3和6,所以r8結構涉及的區域單元格的候選數3和6均可以被刪除。

那,又是為什麼可以這麼確定刪數呢?外圍的數字又是個什麼意思呢?

Part 2 網的刪數原理

我們利用魚的刪數原理思路可以進一步地推廣,換句話說,魚只會涉及行、列、宮,因為魚只能是同數的;而網涉及不同數字,所以還會比魚多出一種衡量區域:單元格。

我們這麼去想這個問題。我們嘗試把外圍的數字看作「廣義的刪除域」,而把單元格看作「廣義的定義域」。定義域意味著,每一個定義域下只可能有且僅有唯一一個正確的數;刪除域意味著,每一個刪除域下最多都只能有一個正確的數。那麼20個單元格都被看作定義域的話,就有20個定義域,即恰有20個數字正確;而我們把外圍的數字,挨個在所在區域上算作對應的刪除域區域的話,也會有20個刪除域。刪除域下數字最多只有一個正確的,比如說,我們把r1上涉及的三個刪除域區域r1(1)、r1(3)和r1(6)都寫出來,這就表示r1上最多只有一個位置是1、最多一個位置是3、最多一個位置是6。

而20個刪除域區域就意味著,最多有20個數填入結構之中,而定義域保證,結構恰有20個數。所以這麼一來,就沒有多出來的數了。換句話說,這些數最終都是全部會填入到結構之中的。所以,刪除域下的數字(所在區域的其餘候選數)均可刪除。

這下知道為什麼網的英文名的直譯是「多區域(跨區)數組」了吧。因為它的結構不同於SDC的拓展,

另外再提及一些術語。

  • 定義格(Defining Cells):即結構涉及的單元格,每一個單元格都稱為一個定義格。即定義網結構的單元格。也稱為網定義域(Defining Sets For MSLS)。
  • 鏈接點(Link):比如上述示例之中,標註在盤面外的數字。位於行上的,稱為行鏈接點(Row Link),位於列上的,稱為列鏈接點(Column Link),當然也存在宮鏈接點(Block Link)。
  • 網定義域(Defining Sets For MSLS):同定義格。
  • 網刪除域(Secondary Sets For MSLS):鏈接點所在的所有區域,稱為網刪除域。

那麼,下一節我們將繼續講解,網結構的複雜變體類型。


推薦閱讀:

解開殺手武士數獨有哪些技巧?該注意哪些地方?
第34講:超標準環
第29講:虛ALS
第56講:魚雷(2)——宮內魚雷和交叉魚雷
第30講:ALS的綜合運用

TAG:數獨 |