第 69 講:直觀MSLS
實際上,大型結構依舊是可以直觀的,不過這一點內(nèi)容很少被提到,是因為結構本身比較龐大,找到候選數(shù)情況的網(wǎng)都是很少的,所以對于這一方面的研究并不多。
Part 1?邏輯
需要弄清楚MSLS結構到底是如何直觀的,我們就必須思考一個全局性的問題:如何證明得到一部分單元格和另外一個部分的單元格填數(shù)是一樣的。雖然看起來這個說法好像跟MSLS結構沒什么關系,但這是直觀MSLS結構的核心。
不過需要你注意的是,可以直觀的MSLS結構一般只會針對于一部分特別標準的結構,因為只有這么一些結構才能夠快速直觀,而各種奇形怪狀的結構,我們一般都不會嘗試去直觀它們,因為它們的結構在候選數(shù)視角里都很少被觀察到,而且直觀技巧必須要求結構是可以快速觀察的,我們基于這一點才會有各種奇妙技巧的直觀。

如圖所示,這是我們直觀網(wǎng)結構的一則示例。我們首先為確定值進行分組,細心一點可以發(fā)現(xiàn),我們選出的數(shù)字里,橙色的只包含1到5,而紫色的則只包含6到9;而且我們還發(fā)現(xiàn),1到5的這些數(shù)字全部都出現(xiàn)在同樣的幾行里,而紫色的只出現(xiàn)在幾列里(當然了,我們也可以反著看:紫色的出現(xiàn)在幾行里,而橙色的出現(xiàn)在幾列里,這兩種視角并不影響什么)。這一點我們將會馬上作出說明。

我們嘗試把剛才說的東西的其中一種說法按照畫線的方式呈現(xiàn)出來,如圖所示。請注意一點。圖中r3c1是含有數(shù)字3的,但為什么我們沒有把它涂色為橙色,也算在結構里呢,畢竟它確實在c1上?這是因為,它目前處于紫色和橙色的交叉處。如果為其分配橙色的話,雖然這種畫線模式可以把它合理地安排到,但我們剛才說過的另外一種視角就不是那么容易能畫上去了:它就會單獨占據(jù)r3一行。這并不是我們想看到的;另外,r9c6的確定值7也沒有涂色,這也是顯然的,因為這個數(shù)并不是我們結構需要的1到5的其一。因為橙色我們只勾選了1到5,跟7無關,我們不應選中它。
我們嘗試思考一下邏輯。我們按照橙色為基準,橙色一共占據(jù)了4列,所以一共是36個單元格,而這36個單元格一共需要填入4套完整的1到9的序列。而其中r13678c1269這樣20個單元格是屬于橙色和紫色線條的交叉處的。我們把這一部分暫時就直接稱為“交叉處”。
顯然,我們可以利用上述完全一樣的說法看出來的是,紫色所占據(jù)的r13678五行里必須填入5套完整的1到9序列。
我們考慮一下交叉處的情況。因為交叉處是紫色和黃色區(qū)域共有的部分,這使得我們擁有如下兩個式子:
紫色區(qū)域填數(shù) = 交叉處 + 剩余紫色區(qū)域部分
橙色區(qū)域填數(shù) = 交叉處 + 剩余橙色區(qū)域部分
我們通過第一個式子可以移項得到:
交叉處 = 紫色區(qū)域填數(shù) - 剩余紫色區(qū)域部分
然后完整代換到下面這一個式子里:
橙色區(qū)域填數(shù) = 紫色區(qū)域填數(shù) - 剩余紫色區(qū)域部分 + 剩余橙色區(qū)域部分
現(xiàn)在,我們嘗試去用幾套1到9替換上面的式子:
4套1到9 = 5套1到9 - 剩余紫色區(qū)域部分 + 剩余橙色區(qū)域部分
然后移項
剩余紫色部分 = 1套1到9 + 剩余橙色部分
現(xiàn)在,我們把剩余紫色部分和剩余橙色部分都用圖呈現(xiàn)出來。

我們已經(jīng)接近于真相了:刪數(shù)馬上就會出現(xiàn)了。我們可以發(fā)現(xiàn)到的是,最初我們選定的紫色和橙色確定值全部都處于我們涂色的部分里面。這就是為什么我們需要讓你選擇的數(shù)字要放入到非交叉處的地方的原因:因為后續(xù)我們需要依賴于這一點得到結論。
現(xiàn)在,我們嘗試細數(shù)一下我們最初選定的確定值。我們發(fā)現(xiàn),紫色的25個單元格里,一共包含14個空單元格沒有填入數(shù)字;而橙色的16個單元格里,一共有5個單元格沒有填入數(shù)字?,F(xiàn)在,我們借用剛才我們得到的公式來得到結論:
剩余紫色部分 = 1套1到9 + 剩余橙色部分
既然剩余紫色部分需要一套完整的1到9和剩余橙色部分的填數(shù)構成,那么我們細看結構就會發(fā)現(xiàn),橙色里除了含有一個7,是不含有額外的6、7、8、9的。而且我們發(fā)現(xiàn),紫色區(qū)域里也有7,我們知道的是,等式兩邊都含有數(shù)字7,所以我們大可使用消去的方式抵消掉這兩個7。這便是在說,橙色目前只有15個單元格,而且沒有任何6、7、8、9了;而紫色區(qū)域現(xiàn)在只剩下24個單元格了。由于紫色部分目前是必須要含有一組完整的1到9序列的,所以我們先排除這一組1到9的影響,即從紫色區(qū)域的確定值里劃掉一組6、7、8、9,而且可以不管其它1到5放置的位置,因為這并不重要。現(xiàn)在,我們再看結構,由于我們剛才在紫色區(qū)域通過抵消的操作已經(jīng)劃去了其中一個7,而且又劃掉了一組6、7、8、9,此時我們還剩的確定值僅剩下五個:6、6、8、9、9,而個數(shù)也剛好可以完全放入到橙色區(qū)域的空格里面。顯然,我們是需要它們的,因為橙色區(qū)域里必須包含紫色已經(jīng)有的數(shù)字,而我們發(fā)現(xiàn)橙色里有1、2、3、4、5,而沒有6、7、8、9(我們剛才已經(jīng)抵消了r9c6的確定值7,這里是處于忽略狀態(tài)的),這就是我們需要優(yōu)先考慮的地方:正是因為橙色部分沒有任何6、7、8、9,所以我們?yōu)榱吮WC等式的成立,我們不得不先把6、7、8、9這些根本沒出現(xiàn)在橙色區(qū)域的數(shù)字先填入到里面去,不然6、7、8、9在橙色區(qū)域并不出現(xiàn),而紫色里卻包含了6、7、8、9,而且不止一組6、7、8、9,就不可能滿足上述的等式的要求,這便是我要說明的東西。
所以,由于我們不得不優(yōu)先考慮6、6、8、9、9放入到橙色區(qū)域里,所以其它的1、2、3、4、5就完全無法放到橙色區(qū)域里,因為橙色區(qū)域里填入6、6、8、9、9后就把所有16個單元格占滿了,再也容不下其它數(shù)了。所以,這個直觀網(wǎng)的結論是:橙色區(qū)域的空單元格里刪除所有的1、2、3、4、5,而紫色區(qū)域的空單元格里刪除所有的6、7、8、9。
“紫色區(qū)域的空單元格里刪除所有6、7、8、9”這一點在上述內(nèi)容里沒有作出說明,不過很容易就可以理解,因為紫色和橙色的區(qū)域的填數(shù)目前來說是“互補”的,我們可以得到橙色的結論,紫色部分的結論肯定就可以類比得到,所以這里我們就不再作出說明了。
而實際上,這個結構對應的候選數(shù)視角如下圖所示。

它確實符合我們刪數(shù)的預期效果。
這就是直觀網(wǎng)結構想要告訴給你的內(nèi)容。我們通過“兩個完全不相關的填數(shù)區(qū)域”構造出了填數(shù)完全一致,或者多出一組或少一組1到9的結論,來間接得到填數(shù)的關系,然后通過占位推導得到的刪數(shù)。
Part 2?MSLS的互補性
實際上,MSLS這么大的結構依然是具有互補的。只要我們嘗試在最初的假設推導的時候,換做另外一個視角,即把紫色的用列表示,而橙色的用行表示,就會呈現(xiàn)出另外一個對應的網(wǎng)結構,如右圖所示(左圖是原本的推導視角)。


而對應的候選數(shù)視角的網(wǎng)是這樣的,如下圖所示。

圖中,紫色單元格是一組網(wǎng)結構,而淡綠色單元格又是一組網(wǎng)結構。
可以從圖上看出,刪數(shù)完全沒有發(fā)生變化,只是把網(wǎng)的位置變了一下,但并不影響刪數(shù),因為換了一下后,原本作為行鏈接點的地方全部變?yōu)榱肆墟溄狱c,而列鏈接點都變?yōu)榱诵墟溄狱c。這便是網(wǎng)的互補。