数独高阶技巧入门之四:简单异数链
一、XY-Wing
圖1 XY-Wing01?圖1中,R2綠色三個(gè)雙值格構(gòu)成三鏈數(shù),則在該行中X、Y、Z三個(gè)數(shù)字只能存在于綠色三格中。如果我們把三鏈數(shù)構(gòu)成的直線掰彎,比如掰成像下圖中的兩種情況, YZ格游離于大家庭之外,三鏈數(shù)不復(fù)存在,但是籍由XY格的居中聯(lián)系(XY格和XZ、YZ兩翼分別處于同一Unit),會形成一條(Z==X)—(X==Y)—(Y==Z)的異數(shù)鏈,顯然兩翼XZ和YZ格中共有的兩個(gè)Z之間構(gòu)成強(qiáng)關(guān)系,必有一真,故可刪去XZ、YZ共同作用格中的數(shù)字Z。
圖2 XY-Wing02?來看下面的實(shí)例。
圖3 XY-Wing03?圖3中R1C3為XY格,兩翼R1C6、R2C1中共有2,可刪去兩翼共同作用格R2C6中的2。
圖4 XY-Wing04?圖4中R4C1格為XY格,可刪去兩翼(R4C4、R5C2)共同作用格中的9(紅色)。
我們在巡盤時(shí),如果在同一Unit(Row、Column、Box)內(nèi),發(fā)現(xiàn)存在AB、BC兩個(gè)雙值格,就可以嘗試分別從AB、BC兩格出發(fā),在這兩格共處的單元之外去尋找可以與之聯(lián)系起來(亦即AB、BC分別所在的單元)的雙值格AC。
二、XY-Chain
XY-Chain是XY-Wing的擴(kuò)展,其原理和XY-Wing相同。若雙值格的數(shù)目不斷增加,但仍可通過居間聯(lián)系的雙值格前后連接起來,則首尾兩端雙值格中共有的候選數(shù)互為強(qiáng)關(guān)系,可以刪去兩端點(diǎn)共同作用格中的該數(shù)字。大家可以用鏈的思維去自行分析一下下邊示意圖中的例子,注意首尾兩端位置變化對刪減范圍的影響。
圖5 XY-Chain01?來看一個(gè)實(shí)例,圖6中R3C2、R8C2、R8C4和R8C7構(gòu)成XY-Chain(紅色實(shí)線代表強(qiáng)鏈,虛線代表弱鏈),可刪去兩端點(diǎn)(R3C2和R8C7)共同作用格R3C7中的4。
圖6 XY-Chain02?三、XY-Cycle
?如果XY-Chain的首尾兩端可以連接起來,就會形成一個(gè)閉環(huán)(Loop),我們將之稱為XY-Cycle。如下圖,6個(gè)雙值格首尾依次相連形成一個(gè)Loop?,雙值格內(nèi)兩數(shù)之間為強(qiáng)鏈,格外為弱鏈(虛線)。顯然,斷開任意一條虛線,都會形成一個(gè)XY-Chain結(jié)構(gòu)(斷開處的兩個(gè)雙值格成為XY-Chain的首尾兩端),按照其規(guī)則進(jìn)行相應(yīng)刪減即可,大家可以自行分析推導(dǎo)。
圖7 XY-Cycle四、XYZ-Wing
如果XY-Wing結(jié)構(gòu)中,XY格內(nèi)也出現(xiàn)了兩翼共有的候選數(shù)Z,就會形成XYZ-Wing結(jié)構(gòu)。XYZ格多出來的Z起到了前篇《Fish》一文中Fin的作用,將刪減范圍限制在XYZ格所在的宮,具體如下圖所示。需要注意的是,右圖中的結(jié)構(gòu)由于XZ、YZ兩格的刪減范圍(黃色格)本來就不和XYZ格同宮,所以這種情況下不能做出刪減。
圖8 XYZ-Wing?五、WXYZ-Wing
WXYZ-Wing可以看作是一個(gè)4格的XY-Wing或XYZ-Wing結(jié)構(gòu)。在組成這一結(jié)構(gòu)的4格(綠色)中,有3格位于同一Unit-A且構(gòu)成ALS結(jié)構(gòu)(此結(jié)構(gòu)在首篇《鏈及其簡單應(yīng)用》中已有介紹),游離于外的雙值格WZ格與ALS中的一部分(一格或兩格)共處一個(gè)Unit-B,且二者可通過嚴(yán)格共同候選數(shù)W(Restricted Common Candidate, RCC。 該候選數(shù)不得存在于Unit-B之外的ALS中)發(fā)生聯(lián)系,此時(shí),若ALS結(jié)構(gòu)亦含有候選數(shù)Z,則可刪去WZ格與ALS中 {Z}共同作用格里的候選數(shù)Z。
圖9 WXYZ-Wing01?在圖9中,左邊大九宮格R2、右邊B2中的綠色三格構(gòu)成ALS={WXYZ},該Unit外的WZ格通過RCC=W與該ALS發(fā)生聯(lián)系,可刪去WZ格與ALS結(jié)構(gòu)共同作用格(黃色)內(nèi)的候選數(shù)Z。用鏈的邏輯來解釋,就是在雙值格WZ中,候選數(shù)W與Z構(gòu)成強(qiáng)鏈;在ALS結(jié)構(gòu)中,W與所有的Z(注意是所有的Z構(gòu)成的group而非單個(gè)的Z)構(gòu)成強(qiáng)鏈,這兩條強(qiáng)鏈可通過RCC-W連接起來,形成(Z==W)—ALS(W)==ALS{Z}的異數(shù)鏈。
之所以要求W?不得存在于Unit-B之外的ALS中 ,是為了保證,在ALS結(jié)構(gòu)中,用來聯(lián)接WZ雙值格的Unit-B{W}與ALS{Z}構(gòu)成的是強(qiáng)關(guān)系。如果Unit-B之外的ALS中還存在W的話,那就是作為整體的ALS{W}(即Unit-B{W}+non-Unit-B{W})與{Z}之間構(gòu)成強(qiáng)關(guān)系,在這種情況下。WZ雙值格中的W無法與ALS{W}形成鏈接,不能進(jìn)行刪減。
來看下面的實(shí)例,圖10盤勢中第四行中R4C346三格構(gòu)成ALS{1259},雙值格R6C1{19}與R4C3{1259}同處B4宮,且二者擁有RCC=1,此時(shí)可刪去R6C1與 ALS{1259}中{9}共同作用格R4C2的9。
圖10 WXYZ-Wing02?圖11中C6列三格構(gòu)成ALS{2569},雙值格R5C5{59}與R4C6{269}共處于B5,且二者擁有RCC=9,此時(shí)可刪去R5C5和ALS{2569}中{5}共同作用格內(nèi)的5(紅色)。
圖11 WXYZ-Wing03?注意本例中,ALS{2569}中的{5}作為整體同時(shí)存在于B8和C6,故ALS中{5}的作用范圍為B8和C6,而上例中ALS{9}只存在R4,作用范圍也僅限于R4。需要再次提醒大家,遇到ALS結(jié)構(gòu)時(shí),必須用整體的觀念去看待其中數(shù)字之間的關(guān)系。
圖12 WXYZ-Wing04?上圖盤勢中,R3存在ALS{3459},R2C2{39}與R3C13同處B1,且二者擁有RCC=9(注意將R3C13中的9作為整體看待),此時(shí)可刪去R2C2與ALS{3459}中{3}共同作用格內(nèi)的3(紅色)。
六、Y-Wing
XY-Wing是將三鏈數(shù)構(gòu)成的直線掰彎,而Y-Wing可以看作是將XY數(shù)對掰彎。如下圖,綠色的兩個(gè)XY雙值格不在同一Unit,二者之間沒有直接聯(lián)系。此時(shí),在黃色行(列)中,僅存在兩個(gè)X(保證構(gòu)成強(qiáng)鏈),且這兩個(gè)X分別與XY雙值格發(fā)生聯(lián)系,將兩個(gè)綠色格內(nèi)的(X==Y)連接起來,形成了一條(Y==X)—X==X—(X==Y)的異數(shù)鏈,此時(shí)兩個(gè)綠色格中的Y互為強(qiáng)關(guān)系,可刪去其共同作用格內(nèi)的Y(橙色)。
圖13 Y-Wing01照例在文末提供一個(gè)盤勢供大家自行分析揣摩。
圖14 Y-Wing02作者:零時(shí)四分_719b
鏈接:https://www.jianshu.com/p/070ebe952978
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。
轉(zhuǎn)載于:https://www.cnblogs.com/asdyzh/p/10144998.html
總結(jié)
以上是生活随笔為你收集整理的数独高阶技巧入门之四:简单异数链的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax实例
- 下一篇: Jmeter常见问题(转)