电竞比分网-中国电竞赛事及体育赛事平台

分享

ZT數獨解題技巧

 cheens 2007-12-06
ZT數獨解題技巧
 

數獨解題技巧

數獨這個數字解謎游戲,完全不必要用到算術!會用到的只是推理與邏輯。直觀法就是不需要任何輔助工具,從接到數獨謎題的那一刻起就可以立即開始解題。絕不猜測。所以要玩報章雜志上的數獨題目時,只要有一枝筆就可以開始了。數獨直觀法解題技巧主要有:唯一解法、基礎摒除法、區(qū)塊摒除法、唯余解法、矩形摒除法、單元摒除法,余數測試法。 bbs.5u6u.com
bbs.5u6u.com
bbs.5u6u.com
基礎摒除法就是利用1 ~ 9 的數字在每一行、每一列、每一個九宮格都只能出現一次的規(guī)則進行解題的方法?;A摒除法可以分為行摒除、列摒除、九宮格摒除。 bbs.5u6u.com
bbs.5u6u.com
實際尋找解的過程為: bbs.5u6u.com
  尋找九宮格摒除解:找到了某數在某一個九宮格可填入的位置只余一個的情形;意即找到了 該數在該九宮格中的填入位置。 bbs.5u6u.com
  尋找列摒除解:找到了某數在某列可填入的位置只余一個的情形;意即找到了該數在該列中的填入位置。 bbs.5u6u.com
  尋找行摒除解:找到了某數在某行可填入的位置只余一個的情形;意即找到了該數在該行中的填入位置。 bbs.5u6u.com
bbs.5u6u.com
利用基礎摒除法解題的過程就是依次從數字1 ~ 9 在行、列、九宮格尋找能放入該數唯一的一個位置。需要綜合用到行摒除、列摒除、九宮格摒除的方法。 bbs.5u6u.com
看能用基礎摒除法確定B2、C8、E7、F6、I5的數字嗎? bbs.5u6u.com
題目如下: bbs.5u6u.com
bbs.5u6u.com
**29***** bbs.5u6u.com
******8*5 bbs.5u6u.com
*58***7** bbs.5u6u.com
1*9*3**** bbs.5u6u.com
****78*** bbs.5u6u.com
**6****3* bbs.5u6u.com
94**5***1 bbs.5u6u.com
*****7**9 bbs.5u6u.com
68***35**  bbs.5u6u.com
bbs.5u6u.com
A9=9,則A行其它格排除9 bbs.5u6u.com
G1=9,第1列排除數字9 bbs.5u6u.com
D3=9,第3列排除數字9 bbs.5u6u.com
見下圖
由基礎摒除法,第A1所在的九宮格內9只有一個唯一的位置,即確定B2=9?!?/td>
A4=9,則4列其它格排除9 bbs.5u6u.com
G1=9,第G行排除數字9 bbs.5u6u.com
H9=9,第H行排除數字9 bbs.5u6u.com
見下圖 
由基礎摒除法,第G4所在的九宮格內9只有一個唯一的位置,即確定I5=9。
A4=9,則4列其它格排除9 bbs.5u6u.com
D3=9,第D行排除數字9 bbs.5u6u.com
I5=9,第5列排除數字9 bbs.5u6u.com
見下圖
由基礎摒除法,第D4所在的九宮格內9只有一個唯一的位置,即確定F6=9?!?/td>
A4=9,則A行其它格排除9 bbs.5u6u.com
B2=9,第B行排除數字9 bbs.5u6u.com
H9=9,第9列排除數字9 bbs.5u6u.com
見下圖
由基礎摒除法,第A7所在的九宮格內9只有一個唯一的位置,即確定C8=9。
C8=9,則8列其它格排除9 bbs.5u6u.com
D3=9,第D行排除數字9 bbs.5u6u.com
F6=9,第F行排除數字9 bbs.5u6u.com
H9=9,第9列排除數字9 bbs.5u6u.com
見下圖
[img]http://www./sdjq_zgf/sdjq_z10.gif[/img] 由基礎摒除法,第D7所在的九宮格內9只有一個唯一的位置,即確定E7=9?!?/td>
唯余解法 bbs.5u6u.com
bbs.5u6u.com
唯余解法就是某宮格可以添入的數已經排除了8個,那么這個宮格的數字就只能添入那個沒有出現的數字. bbs.5u6u.com
唯余解法道理非常簡單,但在實際使用是比較困難,要注意識別.
A5=? bbs.5u6u.com
其實這就是唯余解法的原理,很簡單吧. bbs.5u6u.com
但是實際使用時就不會容易發(fā)現了. bbs.5u6u.com
能使用唯余解法確定B7的值嗎? 
能確定E9,A9,B9,C9的值嗎? bbs.5u6u.com
本題題目(可以直接導入數獨博士進行練習) bbs.5u6u.com
********* bbs.5u6u.com
*531*8*7* bbs.5u6u.com
8**4**9** bbs.5u6u.com
96**1*5*7 bbs.5u6u.com
********* bbs.5u6u.com
**4**5**3 bbs.5u6u.com
**67****5 bbs.5u6u.com
4**8****1 bbs.5u6u.com
*7*3****6  bbs.5u6u.com
由區(qū)塊摒除法可以得出E9=9.在區(qū)塊摒除法沒有舉這個例子,這里補充. 
由唯余解法,C9=2 
同樣,
區(qū)塊摒除法 bbs.5u6u.com
bbs.5u6u.com
區(qū)塊摒除法是基礎摒除法的提升方法,是直觀法中使用頻率最高的方法之一. bbs.5u6u.com
所謂區(qū)塊,就是將行分成3個三個相連的小方塊構成,列也是分成3個三個相連的小方塊構成.九宮格同樣被看成由3個三個相連的小方塊構成,如下面示意圖:
bbs.5u6u.com
區(qū)塊摒除法的核心思想如下面解釋(以行為例),對于在列也是相同的道理  bbs.5u6u.com
假如(G1~G3)黃色區(qū)域區(qū)塊其中之一是數字9. bbs.5u6u.com
則,(H4~H6)藍色區(qū)域可能含有數字9, bbs.5u6u.com
否則(I4~I6)綠色區(qū)域含有數字9.  
假定我們已確定(G1~G3)黃色區(qū)域區(qū)塊其中之一是數字9, bbs.5u6u.com
(H4~H6)藍色區(qū)域含有數字9, bbs.5u6u.com
則:在(I7~I9)綠色區(qū)域一定含有數字9. 如果再通過其它方法確定(I7~I9)綠色區(qū)域中某兩個宮格不能為數字9,則就能確定數字9在(I7~I9)區(qū)塊的具體位置.  
下面舉一些例子    
能使用區(qū)塊摒除法確定F6的數字嗎? bbs.5u6u.com
本題題目(可以直接導入數獨博士進行練習) bbs.5u6u.com
***81**** bbs.5u6u.com
2**37**** bbs.5u6u.com
81*****4* bbs.5u6u.com
**1****72 bbs.5u6u.com
*******63 bbs.5u6u.com
*73*6**** bbs.5u6u.com
**92**6** bbs.5u6u.com
4****6**9 bbs.5u6u.com
*****17**  
D2=2,則E1~E3藍色區(qū)塊,或F1~F2綠色區(qū)塊必包含數字2. 
又有B1=2,利用列摒除法,E1,F1不能為數字1.有F2,F3已填有數字,所以,E2~E3藍色區(qū)塊必有數字2 
[img]http://www./sdjq_zgf/sdjq_z26.gif[/img] 由上面得出黃色區(qū)塊,藍色區(qū)塊包含數字2,這是典型的區(qū)塊摒除法,得到綠色區(qū)塊必包含數字2 
[img]http://www./sdjq_zgf/sdjq_z28.gif[/img] 又G4=2,F5已添入數字,所以F6=2 
單元摒除法 bbs.5u6u.com
bbs.5u6u.com
單元摒除法是比較基本的排除方法,下面舉例解釋
能確定A8的數字嗎? bbs.5u6u.com
本題題目(可以直接導入數獨博士進行練習) bbs.5u6u.com
8***92*** bbs.5u6u.com
5***3**6* bbs.5u6u.com
*1*****9* bbs.5u6u.com
*8**7**** bbs.5u6u.com
**9****82 bbs.5u6u.com
**5*2**4* bbs.5u6u.com
6*35**4** bbs.5u6u.com
***1****7 bbs.5u6u.com
*****79**
由D5=7,得出D8<>7, bbs.5u6u.com
H9=7,得出G8,H8,I8<>7 bbs.5u6u.com
顯然A8=7
余數測試法 bbs.5u6u.com
bbs.5u6u.com
所謂余數測試法就是在某行或列,九宮格所填數字比較多,剩余2個或3個時,在剩余宮格添入值進行測試的解題方法.  bbs.5u6u.com
本題題目(可以直接導入數獨博士進行練習) bbs.5u6u.com
*32****7* bbs.5u6u.com
1****89*2 bbs.5u6u.com
*9*64**** bbs.5u6u.com
8***245** bbs.5u6u.com
*513***** bbs.5u6u.com
**7****31 bbs.5u6u.com
******74* bbs.5u6u.com
***5*6*** bbs.5u6u.com
3***8***6 bbs.5u6u.com
在B行,C行剩余未填的數字只有兩三個了,這時可以使用余數測試法進行解題. bbs.5u6u.com
我們看B行,B3可能添入的數為5或者6,我們從5開始測試. 
我們在B3添入5進行測試,得到左圖,沒有得出出錯的推斷,所以B3=5可能是正確的判斷,如果能判斷出B3<>6,則才能肯定B3=5. bbs.5u6u.com
所以下面我們還需要用B3=6進行測試 
在B3添入6,推出B8=5. bbs.5u6u.com
觀察C行,C7,C8,C9必含有數字5. bbs.5u6u.com
證明B3=6是錯誤的.從而得出B3=5
隱性唯一候選數法 bbs.5u6u.com
bbs.5u6u.com
當某個數字在某一列各宮格的候選數中只出現一次時,那么這個數字就是這一列的唯一候選數了.這個宮格的值就可以確定為該數字. 這時因為,按照數獨游戲的規(guī)則要求每一列都應該包含數字1~9,而其它宮格的候選數都不含有該數,則該數不可能出現在其它的宮格,那么就只能出現在這個宮格了. 對于唯一候選數出現行,九宮格的情況,處理方法完全相同 bbs.5u6u.com
 
這是制作好的一張候選數表,注意觀察B5,B9,D1 bbs.5u6u.com
可以看出在第1列,數字9只在D1出現. bbs.5u6u.com
 在第5列,數字3只在B2出現. bbs.5u6u.com
 在B9所處的九宮格里,數字9只有在B9出現.   bbs.5u6u.com
 所以"9"是第1列的隱形唯一候選數. bbs.5u6u.com
 "3"是第5列的隱形唯一候選數. bbs.5u6u.com
?。ⅲ梗⑹牵粒肪艑m格的隱形唯一候選數. bbs.5u6u.com
 所以確
三鏈數刪減法 bbs.5u6u.com
bbs.5u6u.com
找出某一列、某一行或某一個九宮格中的某三個宮格候選數中,相異的數字不超過3個的情形, 進而將這3個數字自其它宮格的候選數中刪減掉」的方法就叫做三鏈數刪減法。 bbs.5u6u.com
三鏈數刪減法的原理如下面圖示 bbs.5u6u.com
在H行,H2,H5,H7的候選數(12),(23),(13),構成三鏈數,那么123這三個數在H行將只能出現在H2,H5,H7,那么本行其它宮格就可以刪除這3個候選數了。這是三鏈數發(fā)生在行的情況。 bbs.5u6u.com
在G7所在九宮格,G7,H8,I9的候選數(12),(23),(13),構成三鏈數,那么123這三個數在這個九宮格將只能出現在G7,H8,I9,那么本九宮格其它宮格就可以刪除這3個候選數了。這是三鏈數發(fā)生在九宮格的情況?!?/td>
三鏈數是數對的擴展,我們在對上面的三鏈數進行擴展,得到右邊的特殊的三鏈數,只要保證在3個宮格內,其包含的候選數也為3個,就都符合我們的要求,比如(123,123,123),(12,12,123)都符合要求。 bbs.5u6u.com
我們進一步再擴充,發(fā)現只要在N個宮格內,其包含的候選數也恰為N個,那么處理和三鏈數是相同的道理,這樣就形成了四鏈數,比如(12,23,34,14),(123,123,14,1234)等。 bbs.5u6u.com
甚至可以擴充到五鏈數,七鏈數(雖然在實際解題中作用不大了)。 bbs.5u6u.com
平時我們用到最多的就是三鏈數,四鏈數了.  
在A4所在九宮格,我們看到B4~B6,形成三鏈數,則本九宮格其它宮格就可以去除候選數"2","7","9",這樣就得到C6=4. 
同上面完全相同的一副圖,在A行,A7~A9形成由179構成的三鏈數,排除本行其它宮格的候選數179后得到A3=3。
隱性三鏈數刪減法 bbs.5u6u.com
bbs.5u6u.com
隱性三鏈數是從隱性數對發(fā)展而來的。 bbs.5u6u.com
在某行,存在三個數字出現在相同的宮格內,在本行的其它宮格均不包含這三個數字,我們稱這個數對是隱形三鏈數.那么這三個宮格的候選數中的其它數字都可以排除. bbs.5u6u.com
當隱形三鏈數出現在列,九宮格,處理方法是完全相同的. bbs.5u6u.com
我們進一不擴充,在某行(列,九宮格),存在N個數字出現在相同的宮格內,在本行的其它宮格均不包含這N個數字,我們稱這個數對是隱形N鏈數.那么這N個宮格的候選數中的其它數字都可以排除  bbs.5u6u.com
在中間九宮格,候選數"2","5","9"僅出現在E4,E6,F4,形成隱形三鏈數,所以在E4,E6,F4,可以排除其它候選數,得到F4=9. bbs.5u6u.com
矩形頂點刪減法 bbs.5u6u.com
bbs.5u6u.com
矩形頂點刪減法和直觀法講到的矩形摒除法分析方法是一樣的。矩形頂點刪減法在識別時比較不容易找到,所以最好先使用其它的方法?!?span style="DISPLAY: none"> bbs.5u6u.com
如左圖,如果在第3列,候選數“9”只能在B3或H3出現. bbs.5u6u.com
在第7列,候選數“9”只能在B7或H7出現. bbs.5u6u.com
則B3,H3,B7,H7構成矩形,符合矩形頂點刪減法的條件. bbs.5u6u.com
由上,可以得出數字“9”僅可能出現在(B3,H7)上,或者出現在(B7,H3)上 
無論出現上面的那一種情況,我們都可以推斷出B行,H行的紅色區(qū)域都不能再為數字9了.可以將紅色的宮格的候選數中去除數字“9”?! ?/td>
在第3列,數字“3”僅在A3、H3出現 bbs.5u6u.com
 和第6列,數字“3”僅在A6、H6出現 bbs.5u6u.com
 A3、H3,A6、H6構成矩形,符合矩形頂點刪減法要求, bbs.5u6u.com
 則紅色宮格應排除候選數“3”
三鏈列刪減法 bbs.5u6u.com
bbs.5u6u.com
三鏈列刪減法是矩形頂點刪減法的擴展,如果不清除矩形頂點刪減法,可以參考矩形頂點刪減法,以便于更容易理解本節(jié)內容。 利用“找出某個數字在某三列僅出現在相同三行的情形,進而將該數字自這三行其他宮格候選數中刪減掉”; 或“找出某個數字在某三行僅出現在相同三列的情形,進而將該數字自這三列其他宮格候選數中刪減掉”的方法 就叫做三鏈列刪減法(Swordfish)。 bbs.5u6u.com
如果數字“1”可能出現在B行、E行、G行的黃色宮格,則符合“某個數字在某三列僅出現在相同三行的情形”,符合三鏈列刪減法的要求。 bbs.5u6u.com
則紅色宮格均不包含候選數“1”?!?/td>
這時上圖的一個變形。其中一行的“1”只能放在這一行的兩個位置?!√幚砗蜕蠄D一樣,紅色宮格均可以排除候選數“1”。 
數字"6"在第2列,第6列,第8列。均出現在A,B,I行。其中在第6列僅出現B,I行,仍然符合三鏈列刪減法的要求?!?/td>
則紅色宮格均可以排除候選

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多