最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第 29 講:同數(shù)鏈和異數(shù)鏈

2021-05-22 07:48 作者:SunnieShine  | 我要投稿

在學(xué)習(xí)新內(nèi)容之前,我們先來(lái)回顧之前一節(jié)的內(nèi)容。

Part 1 鏈的基本推論回顧

之前講了AIC的基本要求。不知道你還記得多少呢?是不是看完上一講就跑出去玩了呢?

我們來(lái)回顧一下上一講講過(guò)的AIC的基本滿足的特征和要求:

  • AIC開(kāi)頭和結(jié)尾都應(yīng)為強(qiáng)關(guān)系;

  • AIC鏈頭節(jié)點(diǎn)設(shè)為假,得到的鏈尾節(jié)點(diǎn)為真;

  • AIC內(nèi)的強(qiáng)弱關(guān)系交替存在;

  • AIC的長(zhǎng)度是一個(gè)單數(shù)(正奇數(shù)),節(jié)點(diǎn)數(shù)量則是一個(gè)雙數(shù)(正偶數(shù));

  • AIC的鏈頭和鏈尾節(jié)點(diǎn)至少有一個(gè)正確。

我們拿著這樣一些特征來(lái)看一下現(xiàn)在我們要講的東西。

Part 2?同數(shù)鏈/單鏈/多寶魚

如圖所示,假設(shè)r1c8(9)為假,則由于r17(9)和b2(9)的共軛對(duì),順次推理得到r2c4(9)為真。所以r1c8(9)和r2c4(9)至少一個(gè)為真。

這個(gè)AIC的長(zhǎng)度超過(guò)了原始多寶魚結(jié)構(gòu)的長(zhǎng)度3,變?yōu)榱?。所以它就不是多寶魚結(jié)構(gòu)了,它就是一種普通的AIC:同數(shù)標(biāo)準(zhǔn)鏈(俗稱多寶魚,有時(shí)也稱為單數(shù)鏈、單鏈同數(shù)鏈,X-Chain/Turbot Fish)。同數(shù)鏈?zhǔn)侵福Y(jié)構(gòu)內(nèi)部只涉及同一種候選數(shù)的AIC。不管鏈有多長(zhǎng)都是可以的。

那么,AIC只能涉及同一種數(shù)字嗎?當(dāng)然不是。AIC分兩種:同數(shù)標(biāo)準(zhǔn)鏈和異數(shù)標(biāo)準(zhǔn)鏈(簡(jiǎn)稱異數(shù)鏈,Multidigit AIC)。接下來(lái)就會(huì)講解這樣的一些結(jié)構(gòu)。

Part 3 異數(shù)鏈

接下來(lái)我們來(lái)看看不同數(shù)字之間,如何形成強(qiáng)弱關(guān)系。

3-1?雙值格鏈(XY-Chain)

如圖所示,這個(gè)鏈特別奇怪,圖中為什么只有弱關(guān)系標(biāo)注呢?強(qiáng)關(guān)系去哪里了呢?其實(shí),強(qiáng)關(guān)系隱藏在單元格內(nèi),這個(gè)鏈表述如下:

這條鏈相當(dāng)長(zhǎng)。我們看一下它的邏輯。假設(shè)r6c2(3)為假,則r6c2只剩下一個(gè)候選數(shù)了,所以r6c2(1)就為真了。于是乎,r6c2(1)使得r6c4(1)為假,然后r6c4(5)就為真了,然后依次推理,直到最后r8c9(3)為真。

很奇特的是,結(jié)構(gòu)的強(qiáng)關(guān)系全部產(chǎn)生于單元格之中,最終可以得到一個(gè)結(jié)論,即r6c2(3)和r8c9(3)至少一個(gè)是為真的,所以刪掉交集,即r8c2 <> 3。

這個(gè)結(jié)構(gòu)稱為雙值格標(biāo)準(zhǔn)鏈(簡(jiǎn)稱雙值格鏈,XY-Chain)。顧名思義,結(jié)構(gòu)只涉及到雙值格,強(qiáng)弱關(guān)系卻依然可以傳導(dǎo)。

當(dāng)然了,之所以提出來(lái),因?yàn)檫@個(gè)結(jié)構(gòu)非常好觀察,對(duì)于唯余流玩家來(lái)說(shuō),雙值格是非常好觀察的。

當(dāng)然了,這個(gè)文本表述還可以寫成這樣:

候選數(shù)也是可以直接寫入到括號(hào)里面的。這樣一來(lái),r6c2(3=1)這樣類似的表示方法就可以一下知道是產(chǎn)生于單元格內(nèi)的強(qiáng)關(guān)系(或是弱關(guān)系)了,寫起來(lái)也比之前的方式簡(jiǎn)單一些。

3-2?遠(yuǎn)程數(shù)對(duì)(Remote Pair)

遠(yuǎn)程數(shù)對(duì)(Remote Pair)是最有趣的AIC結(jié)構(gòu)了。如圖所示,假設(shè)r1c5(8)為假,按照雙值格鏈的推導(dǎo)方式,可以得到r8c6(8)為真;或者假設(shè)r1c5(9)為假也可以:

所以這個(gè)技巧的頭既可以是8也可以是9,所以可以刪除兩個(gè)不同的數(shù)。而且,這個(gè)技巧還能被拆解為兩個(gè)摩天樓技巧。

如圖所示。需要注意的是,我們甚至可以認(rèn)為,r1c5(89)和r8c6(89)的填數(shù)一定不同,所以可以構(gòu)成跨區(qū)數(shù)對(duì)結(jié)構(gòu)。不過(guò),這一點(diǎn)需要你自己理解和推理為什么。

3-3?首尾異數(shù)鏈(XY-X-Chain)

接下來(lái)介紹一種AIC,剛才的AIC雖然異數(shù),但頭尾起碼是同數(shù)的,現(xiàn)在介紹的AIC,連頭尾都是異數(shù)的了。

3-3-1?先來(lái)看看標(biāo)準(zhǔn)版長(zhǎng)啥樣

如圖所示,鏈寫法如下:

等下,頭尾都不一樣,那怎么刪數(shù)呢?

試想一下,之前我們講的BUG + 2里到底是如何刪數(shù)的。AIC有個(gè)特征,就是首尾節(jié)點(diǎn)至少一個(gè)正確,這恰好符合之前BUG + 2的“真數(shù)必須至少有一個(gè)是正確的”的要求,所以我們刪除的是兩個(gè)真數(shù)都可以看到的地方(即交集),而這個(gè)題跟BUG + 2基本上沒(méi)有差別,“即r9c4(8)和r7c4(1)至少有一個(gè)是正確的”是完全一樣的思路。所以,我們可以套用之前的邏輯:r9c4(1)應(yīng)不應(yīng)該是這兩個(gè)節(jié)點(diǎn)的交集?如果r9c4(8)為真,那r9c4自然就不能是2了;如果r7c4(1)為真,當(dāng)然也不能讓r9c4填1。所以r9c4(1)確實(shí)應(yīng)當(dāng)是這兩個(gè)節(jié)點(diǎn)的交集。當(dāng)然了,類似地,r7c4(8)也是這樣的。

這個(gè)結(jié)構(gòu)是一種特別特殊的AIC了,它叫首尾異數(shù)標(biāo)準(zhǔn)鏈(簡(jiǎn)稱首尾異數(shù)鏈,XY-X-Chain);另外,如果這種鏈的刪數(shù)只有一處而不是像圖上有兩處的話,這種結(jié)構(gòu)就叫不連續(xù)環(huán)(Discontinuous Nice Loop)。例如下面的這兩則示例。

3-3-2?不連續(xù)環(huán)(Discontinuous Nice Loop)

如圖所示,假設(shè)r1c8(5)為假,則可以通過(guò)該鏈得到r7c8(7)為真。

不過(guò)這種結(jié)構(gòu)顯然只能刪一個(gè)數(shù),即r1c8(7)。

3-3-3 不連續(xù)環(huán)的變體

接下來(lái)我們來(lái)看一個(gè)更為“變態(tài)”的構(gòu)型。

如圖所示,這條鏈看起來(lái)很奇怪,開(kāi)頭都不好找,而且就圖上那樣,大多畫出來(lái)的都是強(qiáng)關(guān)系,更難找到鏈頭了。實(shí)際上,鏈表示如下。

這條鏈從r4c5(2)開(kāi)始,然后又轉(zhuǎn)回來(lái)了,又到了r4c5(2)。而且首尾確實(shí)都是強(qiáng)關(guān)系,而且也符合鏈的邏輯,但為什么鏈結(jié)構(gòu)的結(jié)論是出數(shù)了呢?我們這么去理解:假設(shè)r4c5(2)為假,繞了一圈回來(lái)發(fā)現(xiàn)r4c5(2)為真,則說(shuō)明我們得到了矛盾,進(jìn)而得到假設(shè)錯(cuò)誤。而假設(shè)是r4c5(2)為假,如果它是錯(cuò)誤的,那么結(jié)論就應(yīng)該是r4c5(2)為真,所以r4c5 = 2。

這種結(jié)構(gòu)實(shí)際上是一種比較麻煩和難受的鏈結(jié)構(gòu),雖然它能直接得到出數(shù),但因形式很特殊,繞了一圈得到了矛盾,這一點(diǎn)和試數(shù)非常接近和相似,所以我們不建議大家使用這個(gè)技巧,僅理解其邏輯即可。

3-3-4?等會(huì)兒,刪數(shù)和鏈的頭尾也有強(qiáng)弱關(guān)系?

這個(gè)技巧之所以被歸為不連續(xù)環(huán),是因?yàn)樗鼘?shí)際上把不連續(xù)環(huán)的邏輯“反轉(zhuǎn)”了一下。我們先來(lái)思考一個(gè)問(wèn)題。鏈尾和刪數(shù)結(jié)論到底是什么樣的關(guān)系。我們可以得到,因?yàn)殒滎^為假,得到了鏈尾為真的結(jié)果。這便意味著,因?yàn)殒溛矠檎?,所以才得到了刪數(shù)結(jié)論,所以刪數(shù)跟鏈尾實(shí)際上為弱關(guān)系,即鏈尾真得到刪數(shù)假;不過(guò)還沒(méi)完。

如果我們把整條鏈的過(guò)程重新調(diào)整一下,從刪數(shù)開(kāi)始推的話,因?yàn)殒滎^最開(kāi)始是從“為假”開(kāi)始推的,所以我們?nèi)绻€要往后倒退一個(gè)節(jié)點(diǎn)的話,從刪數(shù)作為鏈頭的話,我們只得設(shè)刪數(shù)節(jié)點(diǎn)為真,然后繼續(xù)推理,這個(gè)結(jié)構(gòu)整體才能持續(xù)到鏈尾;否則到鏈頭節(jié)點(diǎn)的時(shí)候,就已經(jīng)和我們最開(kāi)始的設(shè)定相反了,就沒(méi)辦法繼續(xù)進(jìn)行了。

所以如圖所示,這個(gè)畫法的完整版就是上面這樣的結(jié)構(gòu),而從刪數(shù)節(jié)點(diǎn)開(kāi)始推理,并設(shè)它為真,而推了一圈后發(fā)現(xiàn)刪數(shù)節(jié)點(diǎn)是為假的,所以與假設(shè)違背。由于假設(shè)的是“為真”,所以結(jié)論就應(yīng)該為“刪數(shù)節(jié)點(diǎn)為假”,即刪掉它。

這一點(diǎn)確實(shí)有些繞,不過(guò)思路依然是很清晰的??梢詮膭偛诺恼f(shuō)明文字里看到,實(shí)際上,不連續(xù)環(huán)一共是兩種類型:同一個(gè)單元格弱關(guān)系開(kāi)頭弱關(guān)系結(jié)尾(我們把鏈延長(zhǎng)了才得到的效果)和同一個(gè)單元格強(qiáng)關(guān)系開(kāi)頭強(qiáng)關(guān)系結(jié)尾,所以我們才說(shuō)后者也屬于不連續(xù)環(huán)。屬于不連續(xù)環(huán)的原因并不是在于異數(shù),而是推導(dǎo)邏輯和思維方式。另外請(qǐng)記住,刪數(shù)和鏈的頭尾節(jié)點(diǎn)都是形成弱關(guān)系的。

講完了基本的思路后,接著我們?cè)賮?lái)看一種更詭異的結(jié)構(gòu)。

3-4?自噬鏈(Cannibalistic AIC)

如圖所示,鏈表述如下:

這條鏈看似很普通很簡(jiǎn)單,不過(guò)它有一些奇特。鏈頭是r1c7(6),設(shè)定為假,得到鏈尾r4c8(6)為真,所以兩端至少有一個(gè)為真,于是刪除交集。

此時(shí)我們會(huì)發(fā)現(xiàn)刪除的交集有一個(gè)數(shù)是r1c8(6),它是鏈內(nèi)的一個(gè)節(jié)點(diǎn)。為什么這個(gè)數(shù)也能刪掉呢?因?yàn)槲覀兝昧随湶诺玫降氖孜仓辽僖粋€(gè)為真的結(jié)論,而不是因?yàn)閯h數(shù)才破壞的鏈結(jié)構(gòu),所以結(jié)構(gòu)成立后才產(chǎn)生了刪數(shù)。

在SDC一節(jié)里我們提到了自噬,而這種鏈也具有類似的效果,所以它也就稱為了自噬標(biāo)準(zhǔn)鏈(簡(jiǎn)稱自噬鏈,Cannibalistic AIC)。

3-5 普通的標(biāo)準(zhǔn)鏈

如圖所示,鏈結(jié)構(gòu)如下:

證明過(guò)程和思路我就不再重復(fù)了,思路則是完全一致的,根據(jù)鏈的思路往下推導(dǎo)即可。

3-6?Wing結(jié)構(gòu)

Wing在之前我們已經(jīng)接觸到了一部分結(jié)構(gòu),接下來(lái)我們來(lái)看幾則也叫做Wing,但由來(lái)不相同的結(jié)構(gòu)。

這一部分的技巧名字特別不好記,而且是當(dāng)時(shí)創(chuàng)造鏈體系之前的產(chǎn)物,而現(xiàn)在它們基本上已經(jīng)被廢除,所以這里僅供參考。不過(guò)你需要掌握W-Wing和M-Wing。當(dāng)然,還有XY-Wing的額外介紹內(nèi)容。

3-6-1 XY-Wing

實(shí)際上,XY-Wing除了之前的分情況討論的邏輯以外,我們還能把它視作鏈結(jié)構(gòu)。我們來(lái)看一下這個(gè)結(jié)構(gòu)到底是怎么轉(zhuǎn)化為鏈的。

如圖所示,我們將之前的XY-Wing的示例改寫為鏈。我們將其中一個(gè)分支“反向”,然后形成了一個(gè)雙值格鏈:

實(shí)際上,任何的XY-Wing都可以使用如上方式進(jìn)行轉(zhuǎn)化。

3-6-2 W-Wing

鏈表示如下:

假設(shè)r4c7(9)為假,則由雙值格和r2c79(2)的共軛對(duì),就可以順次得到真假情況,最終得到r8c9(9)為真。所以鏈頭和鏈尾至少一個(gè)為真,刪掉交集。結(jié)構(gòu)的首尾兩格是一樣的候選數(shù),并帶有一個(gè)強(qiáng)關(guān)系的,就是W-Wing結(jié)構(gòu)了。在觀察的過(guò)程之中,只需要找到兩個(gè)雙值格,候選數(shù)也完全一樣,再有一個(gè)行列上的共軛對(duì),基本上就可以照著結(jié)構(gòu)依葫蘆畫瓢。

3-6-3?Y-Wing?W-Wing?

在中國(guó),Y-Wing它被當(dāng)成W-Wing的別名;而在外國(guó),Y-Wing則是被看成XY-Wing的別名。這里講一下為什么中國(guó)的W-Wing有個(gè)別名Y-Wing。

很多資料上把W-Wing技巧名的后面打了個(gè)括號(hào)寫著Y-Wing,或是Y-Wing后給了括號(hào)寫的W-Wing。而Y-Wing有現(xiàn)如今的結(jié)果,系誤傳所致。

Y是XY的一種簡(jiǎn)寫形式,用來(lái)代替兩種未知數(shù)。有些資料將技巧的英文名寫作Y-Wing,這么說(shuō)是不正確且不嚴(yán)謹(jǐn)?shù)?。因?yàn)閅-Wing技巧原名而言,被誤傳的原因是由于Y-Wing(XY-Wing)結(jié)構(gòu)內(nèi)強(qiáng)關(guān)系只有三個(gè),所以由此結(jié)構(gòu)拓展出的所有只有三個(gè)強(qiáng)關(guān)系的鏈都稱為Y-Wing Style,“Y-Wing Style”中文直譯為“Y-Wing拓展構(gòu)型”,此時(shí),Y-Wing拓展構(gòu)型就包括了W-Wing。但此時(shí)Y-Wing并不只是包含W-Wing這一種結(jié)構(gòu),而XY-Wing等,均屬于此歸類。

但是,因?yàn)橐爰记傻臅r(shí)候,大家不是特別熟悉這一點(diǎn),剛開(kāi)始使用的時(shí)候并未注意到,也就“將錯(cuò)就錯(cuò)”了;現(xiàn)在中國(guó)反而比較習(xí)慣于稱呼Y-Wing一些。

一個(gè)解釋Y-Wing結(jié)構(gòu)的鏈接是SudokuWiki所給出的XY-Wing的鏈接:

http://www.sudokuwiki.org/Y_Wing_Strategy

3-6-4 M-Wing

鏈表示如下:

3-6-5?Split-Wing

鏈表示如下:

3-6-6?Local-Wing

鏈表示如下:

3-6-7?Hybrid-Wing

鏈表示如下:

那么,基本的結(jié)構(gòu)就講完了,接下來(lái)來(lái)看總結(jié)。

3-6-8 總結(jié)

下面陳列上述結(jié)構(gòu)的基本鏈構(gòu)型。

3-7?談一談?dòng)^察?

我們講了這么多結(jié)構(gòu),發(fā)現(xiàn)各種結(jié)構(gòu)有各種不同的視角和邏輯。那么,這么靈活的鏈也沒(méi)有具體的結(jié)構(gòu),那么我們?cè)趺慈ビ^察它們呢?

雖然推理的過(guò)程是順序的,而我們?cè)趯ふ益湹臅r(shí)候,可以采用先強(qiáng)后弱的方式。因?yàn)槿蹶P(guān)系是根本不需要查找的,只要在同一個(gè)區(qū)域下的兩個(gè)相同的數(shù),或是一個(gè)單元格的任意兩個(gè)候選數(shù),就可以形成弱關(guān)系,因?yàn)槲覀冸S意地就可以得到其中一個(gè)為真,就能得到另一個(gè)為假,所以我們盡量先去找到強(qiáng)關(guān)系,而這些強(qiáng)關(guān)系盡量相互之間可以有關(guān)聯(lián),然后最后使用弱關(guān)系把它們串起來(lái)就可以了。

下面我們來(lái)羅列兩個(gè)類型的題目,提供給你練習(xí)。

3-7-1?#1:魚圖題

下面將陳列一個(gè)只有“/”符號(hào),它表示這個(gè)單元格沒(méi)有某一個(gè)候選數(shù)(假設(shè)為a)。這種盤面稱為魚圖(Fish Diagram)。

請(qǐng)找出如下兩個(gè)魚圖里所有可以刪除候選數(shù)a的全部位置,并嘗試說(shuō)出為什么。

3-7-2?#2:一些真的練習(xí)題

再來(lái)看幾則題目,這幾道題僅通過(guò)之前學(xué)到的鏈技巧和直觀類技巧就可以完成解題。

每一題涉及的技巧都不一樣,可以嘗試練習(xí)觀察它們。

第 29 講:同數(shù)鏈和異數(shù)鏈的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
思南县| 额敏县| 孟连| 玛纳斯县| 金湖县| 龙井市| 红原县| 榆社县| 兴化市| 富蕴县| 大竹县| 锦屏县| 呈贡县| 平武县| 石嘴山市| 灵宝市| 南部县| 中山市| 慈利县| 十堰市| 长泰县| 玉溪市| 灌阳县| 威海市| 无锡市| 长宁县| 南阳市| 怀化市| 水富县| 新蔡县| 沂南县| 郧西县| 壤塘县| 澎湖县| 滨州市| 通化县| 葵青区| 勃利县| 石家庄市| 永和县| 高阳县|