隱性子集

隱性子集

初級

什麼是數獨中的隱性陣列?

當一個單元(行、列或宮)中恰好有N個格包含某N個數字作為候選數,且這些數字在該單元的其他任何單元格中都不作為候選數出現時,就構成了隱性陣列。「隱性」一詞描述的是這N個格通常還含有其他候選數,從而掩蓋了這一模式。一旦識別出隱性陣列,你就知道這N個數字必定佔據這N個格,於是可以安全地從這些格中排除其他所有候選數。數獨中的單元是最基本的組合單位:9行、9列和9宮(3x3的方框)各自都是一個單元。每個單元都必須恰好包含1到9的每個數字一次。隱性陣列正是利用這一規則,縮小特定數字在單元內可能的位置。五種隱性陣列技巧構成一個自然的遞進:-全屋——1個空單元格,1個缺失數字(N=1,退化的單元格)-隱藏單數——1個數字局限於1個單元格(N=1)-隱藏數對——2個數字局限於2個格(N=2)-隱藏三數——3個數字局限於3個格(N=3)-隱藏四數——4個數字局限於4個格(N=4)每種技巧都遵循相同的核心邏輯,只是複雜度遞增。

核心原理:隱性陣列如何運作

要理解隱性數對,不妨把它與它的對應物——顯性數對——作對比。兩者都是基於子集的排除策略,但它們從相反的角度切入謎題。顯性數對著眼於單元格。你在一個宮(行、列或區塊)中找到N個單元格,它們候選數的聯集恰好包含N個數字。這些數字被鎖定在這些單元格中,可以從該宮內其他所有單元格中排除。隱性數對著眼於數字。你找到N個數字,它們在一個宮內的候選位置恰好侷限於N個單元格。這些數字被鎖定在這些單元格中,而這些單元格內的其他所有候選數都可以被排除。視角是相反的。使用裸雙時,你注意到兩個共享相同兩個候選數的單元格,並在其他地方排除這些候選數。使用隱藏數對時,你注意到兩個只能放入兩個特定單元格的數字,並剔除那些單元格中多餘的候選數。這種對偶性不只是教學上的類比——它是一個數學事實。在一個有K個未解單元格的宮中,大小為N的隱性子集總是意味著剩餘單元格中存在大小為K-N的顯性子集。理解這種對偶性會加深你的解題直覺:當你苦於找不到裸雙時,試著轉換視角,改去找隱藏數對。

全屋:最簡單的數獨技巧

全屋是整個數獨中最簡單的解題技巧。一個宮中有8個單元格已經填入了數字,只剩下一個單元格是空的。那個單元格必定包含唯一缺失的數字。數一數每一行、每一列和每一個區塊中已填的單元格。如果你數到8個已填單元格,你就遇到了一個全屋。缺失的數字就是1到9中未出現的那個數。The全屋是隱藏單數的一種退化單元格:當一個宮中只有一個單元格為空時,那個「隱性」數字顯然就是唯一缺失的數字。解題者會最先檢查這個技巧,因為它完全不需要候選數分析。你只需數已填的單元格並找出缺失的數字。在精心設計的解題器中,全屋被賦予難度等級1(初學者),因為不需要任何鉛筆標記或候選數追蹤。手工解題時,全屋的機會往往在大量單元格已填入後的殘局中出現。然而,一些較簡單的謎題從一開始就呈現全屋的情形,尤其是在謎題設計者預先填好了9個單元格中8個的區塊中。

隱藏單數:數獨解題的主力軍

隱藏單數可以說是數獨中最重要的單項技巧。某個數字在一個宮(house)內只在一個單元格中作為候選數出現。即使那個單元格還包含其他候選數,它也是該行、該列或該宮中唯一能放這個數字的位置。因此,這個數字必須放在那裡。對每個宮,檢查數字1到9分別能放在哪裡。如果某個數字在該宮中恰好只有一個候選單元格,你就找到了一個隱藏單數。在實踐中,經驗豐富的解題者會使用一種叫做交叉排除的技巧:對於某個數字,掃描行和列,看看該數字已經放在哪裡,然後檢查某個宮中還有哪些格可以為該數字所用。如果只剩下一個單元格,那就是一個隱藏單數。隱性唯一數可以出現在任何類型的宮中。對每個數字都要檢查全部三種宮。宮中的隱藏單數有時被稱為「宮唯一數」或「塊唯一數」,而且它通常是最容易用肉眼發現的,因為宮是緊湊的3x3區域。隱性唯一數是數獨解題的主力。大多數評為「簡單」的題目都可以完全用隱性唯一數和顯性唯一數解出。即使在更難的題目中,你也會在使用更複雜策略之間反覆應用隱性唯一數幾十次。隱藏單數的難度等級為2級(簡單)。

隱藏數對:兩個數字鎖定在兩個格中

當兩個數字被限制在一個宮中完全相同的2個格內,且該宮中其他任何單元格都不包含這兩個數字中的任何一個作為候選數時,就出現了隱藏數對。這兩個格除了這對數字之外可能還有其他候選數,但由於這兩個數字必須佔據這兩個格,所以這兩個格中的所有其他候選數都可以被排除。對每個宮,記錄哪些格包含每個數字作為候選數。如果兩個數字共享完全相同的兩個單元格位置集合,你就找到了一個隱藏數對。排除這兩個格中的所有其他候選數。這對數字之所以是隱性的,是因為兩個格都含有額外的候選數,從而掩蓋了這一模式。裸雙本來會很明顯——兩個格都顯示相同的兩個數字。而隱藏數對需要從數字的角度來看:「這些數字能放在哪裡?它們只能放在相同的兩個格中。」隱性數對的難度等級為3級(簡單),是解題者在掌握唯一數之後最先學會的中級技巧之一。

隱藏三數:三個數字被限制在三個格中

隱藏三數將隱藏數對的概念擴展到三個數字。三個數字恰好是某個宮(house)內同樣3個儲存格的候選數(且不在該宮的其他儲存格中)。這三個儲存格中的所有其他候選數都可以被排除。注意一個重要細節:這三個數字並不需要都出現在全部三個儲存格中。例如,數字A可能出現在儲存格1和2中,數字B出現在儲存格2和3中,數字C出現在儲存格1和3中。只要這三個數字的候選位置合起來恰好覆蓋三個儲存格,就是一個有效的隱藏三數。這正是隱藏數對開始變得真正難以手工發現的地方。你需要檢查三個數字的所有組合,看看它們的候選位置合起來是否恰好跨越三個儲存格。一個實用的方法:首先找出在一個宮中位置受限的數字(只出現在2或3個儲存格中)。然後檢查這些位置受限的數字中是否有任意三個共享同一組儲存格。隱藏三陣列的難度等級為4級(中等)。它們需要仔細的記錄,是必須寫下鉛筆標記才能掌握的技巧之一。

隱藏四數:四格中的四個數字

隱藏四數是最大的實用隱藏子集。四個數字恰好是某個宮內4個儲存格的候選數,且這些數字不出現在該宮的其他任何單元格中。從這四個儲存格中排除所有非四陣列候選數。隱藏四陣列確實罕見,而且由於以下幾個原因,手工識別極其困難:1.組合爆炸。有9個可能的數字,就有126種可能的四數字組合需要檢查。2.龐大的單元格組。在四個儲存格中追蹤四個數字,同時還要在腦中過濾干擾資訊,對認知能力要求很高。3.互補捷徑。一個隱藏四數往往意味著存在一個更容易發現的顯性互補結構。4.出現頻率低。許多謎題會直接跳到其他高級技巧。掃描策略是隱藏三數檢測的延伸。尋找在一個宮中位置受限的數字(出現在2、3或4個儲存格中)。如果四個這樣的數字都出現在同一組4個儲存格中,你就找到了一個隱藏四數。隱藏四陣列的難度等級為6級(困難)。

如何尋找隱藏子集:實用的掃描策略

以下是尋找任意大小隱性數對(隱藏子集)的統一策略。1.選擇一個單元(行、列或宮)。2.建立數字位置圖。對於數字1到9,列出該單元中哪些未解格將其作為候選數。跳過已放置的數字。3.尋找位置有限的數字。只出現在1個單元格中的數字就是隱藏單數。出現在2個格中的數字是隱藏數對的候選。出現在3個格中的數字可能構成隱藏三數。4.檢查共享位置。取兩個各自只出現在2個格中的數字。如果它們共享相同的2個格,你就得到了一個隱藏數對。取三個各自出現在2-3個格中的數字。如果它們合併後的單元格集合恰好有3個格,你就得到了一個隱藏三數。5.排除多餘候選數。一旦確認了隱性子集,就從已確定的格中移除所有非子集候選數。6.在所有單元中重複。實用技巧:-從宮開始。它們緊湊且易於掃描。-關注稀缺數字。一個已放置在6或7個單元中的數字,其剩餘位置非常有限。-使用交叉排除法尋找隱性唯一數。-每次放置後都要檢查。-不要忘記列。

隱性子集與顯性子集:理解互補關係

在一個有K個未解格的單元中,大小為N的隱性子集總是與大小為K-N的顯性子集共存。一般規則:-當單元中未解格很少(5個或更少)時,尋找顯性子集。-當單元中未解格很多(6個或更多)時,尋找隱性子集。解題者會報告較小的那個子集,因為它能給出更簡單的解釋。

難度遞進:從入門到困難

五種隱性子集技巧涵蓋了廣泛的難度級別:全屋(N=1,退化):級別1,入門隱藏單數(N=1):級別2,簡單隱藏數對(N=2):級別3,簡單隱藏三數(N=3):級別4,中等隱藏四數(N=4):級別6,困難從隱藏三數(級別4)到隱藏四數(級別6)的跳躍反映了難度的顯著提升。隱性三數組已經罕見且具有挑戰性,而隱性四數組更增添了組合複雜性和稀有性。

為什麼隱性唯一數是數獨策略的基礎

掌握隱性唯一。它們是所有其他數獨技巧賴以建立的基礎。它們無處不在。在典型的謎題中,你使用隱性唯一的次數會比其他任何技巧都多。它們是通往更難技巧的門戶。每一種高級技巧最終都會產生刪減,從而簡化盤面,然後由隱性唯一來清理由此產生的填數。它們培養掃描的熟練度。檢查「數字X在這個宮中能放在哪裡?」這一思維過程,與更複雜技巧中所用的掃描完全相同。速度來自隱性唯一。競技解題者之所以能取得快速成績,主要靠迅速發現隱藏單數。練習建議:1.先從只用隱性唯一和滿宮法解「簡單」謎題開始。2.轉向「中等」謎題,並加入隱性數對。3.進階到「困難」謎題,其中偶爾會出現隱性三數組和四數組。