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

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

第 31 講:區(qū)塊鏈

2021-06-27 08:16 作者:SunnieShine  | 我要投稿

接下來我們來看一種新結(jié)構(gòu),在此之前,我們必須要引入一個(gè)新的節(jié)點(diǎn)類型:區(qū)塊。

Part 1 區(qū)塊節(jié)點(diǎn)的引入

來看這一則示例。

如圖所示,我們可以觀察到鏈頭是r3c4(9)。按照鏈的邏輯,我們寫出文本寫法。

當(dāng)推理到r7c9(9)的時(shí)候,按照順序,這里應(yīng)該是為真的,但發(fā)現(xiàn)b9里含有三個(gè)候選數(shù)9,按照之前的鏈的邏輯,我們只可以讓其中一個(gè)9為假,然后繼續(xù)推理。但實(shí)際上,我們不論指定鏈從r8c7繼續(xù)延伸還是r9c7繼續(xù),都無法繼續(xù)推理,因?yàn)槲覀兇藭r(shí)僅能讓r8c7或r9c7一個(gè)單元格的候選數(shù)9為假,但c7有三處9,我們不可能因?yàn)橐惶?為假就否定了剩下兩處的9,所以我們不得不采用一種邏輯:既然單獨(dú)看r8c7或r9c7都不行,干脆我們就直接把它們看作一起,當(dāng)成一個(gè)區(qū)塊。

假設(shè)到r7c9(9)為真時(shí),便同時(shí)可以使得r89c7(9)均為假。此時(shí),當(dāng)它們都為假后,我們才可以繼續(xù)向下推理,c7只有三處9,其中的兩處都為假了,自然只能讓r2c7(9)為真。那么鏈得以繼續(xù)持續(xù)到鏈尾,并且確實(shí)擁有刪數(shù),且刪數(shù)是正確的。這條鏈就此分析完成,并且我們就引入了一種新的節(jié)點(diǎn)類型:區(qū)塊。

不過區(qū)塊不是整體分析的嗎?如此分析已經(jīng)拆解區(qū)塊結(jié)構(gòu)了,或者換句話說,實(shí)際上前面的邏輯是分了兩個(gè)“支線”,讓r7c9(9)同時(shí)分別用虛線箭頭(弱關(guān)系)指向r8c7(9)和r9c7(9),這并不能說就算真正的區(qū)塊結(jié)構(gòu)了。那么,既然是節(jié)點(diǎn),就有真假性,而按照之前的邏輯,既然看作整體,那么區(qū)塊這種類型的節(jié)點(diǎn)為真或?yàn)榧俣挤謩e表示哪一種情況呢?下面我們就來看看下面這一則示例里,我們會(huì)得到什么新鮮的東西。

Part 2?區(qū)塊節(jié)點(diǎn)為假?

如圖所示,這條鏈和之前的例子不一樣的地方是,它從區(qū)塊節(jié)點(diǎn)開始推導(dǎo)的。

那么,初始狀態(tài)要求區(qū)塊節(jié)點(diǎn)為假,那么區(qū)塊節(jié)點(diǎn)為假是什么?我們回顧一下之前的理解:區(qū)塊為真是什么,區(qū)塊為假又是什么。區(qū)塊是一種結(jié)構(gòu),我們?nèi)藶槎x的候選數(shù)節(jié)點(diǎn)為“真”就表示這個(gè)節(jié)點(diǎn)就填這個(gè)數(shù),這個(gè)數(shù)是對(duì)的;那么相反,為“假”就表示不填,刪除這個(gè)數(shù)。可以看到,它們是互斥的。那么區(qū)塊節(jié)點(diǎn)為真,我們?nèi)藶橐?guī)定為真即表示“這個(gè)區(qū)塊成立”,即區(qū)塊所屬的單元格里必須有一個(gè)單元格就填入這個(gè)數(shù)。那么為假就取這個(gè)說法的相反情況,即“沒有單元格填這個(gè)數(shù)”或“有至少兩個(gè)單元格填入這個(gè)數(shù)”

當(dāng)然,你也可以這么去想:區(qū)塊為真表示區(qū)塊成立,那區(qū)塊為假則表示區(qū)塊不成立,那么就思考哪些情況屬于區(qū)塊不成立。

而顯然,我們這里指代的區(qū)塊結(jié)構(gòu)是不可能出現(xiàn)“至少兩個(gè)單元格填入這個(gè)數(shù)”的情況的,所以只可能是“沒有單元格填這個(gè)數(shù)”。那代入到圖里,就表示r3c79都不能填5。那這么一來,鏈就成立了:r3c2 = 5,即得到了“區(qū)塊節(jié)點(diǎn)為假”得到“候選數(shù)節(jié)點(diǎn)為真”的結(jié)果,即從假過渡到真,此時(shí)這個(gè)形式為強(qiáng)關(guān)系。那么,后面的邏輯就不難了,并最終得到了r2c789(5)全部為假。

從例子里,我們得到了一些結(jié)論,下面來總結(jié)一下。當(dāng)區(qū)塊作為節(jié)點(diǎn)時(shí):

  • 節(jié)點(diǎn)為真表示區(qū)塊成立,即區(qū)塊涉及的單元格里恰好有一個(gè)單元格填入該數(shù)字,即只有一處候選數(shù)為真

  • 節(jié)點(diǎn)為假表示區(qū)塊涉及的單元格里,沒有一個(gè)單元格能放該數(shù)字,即每一個(gè)候選數(shù)全部為假

那么此時(shí)區(qū)塊為假的邏輯就可以套用到最開始的那一則示例里理解了:r89c7(9)區(qū)塊為假,指的是這兩個(gè)候選數(shù)全部為假。這完全符合我們之前推理的要求。

所以,區(qū)塊節(jié)點(diǎn)的基本邏輯就只有上述兩種情況了。

Part 3 區(qū)塊不連續(xù)環(huán)

下面我們來看一則區(qū)塊節(jié)點(diǎn)放入不連續(xù)環(huán)的邏輯。

如圖所示,鏈的表述如下:

區(qū)塊為假,指的是無法使得結(jié)構(gòu)構(gòu)成區(qū)塊。無法使得區(qū)塊結(jié)構(gòu)成立,即r45c6同時(shí)都沒有候選數(shù)7。這個(gè)時(shí)候,由于都沒有7的緣故,在c6之中,7只能填入到r2c6之中。所以此時(shí)r45c6(7)區(qū)塊不成立,即r45c6(7)區(qū)塊為假時(shí),r2c6(7)為真。這樣一來,r45c6(7)就和r2c6(7)構(gòu)成了特別的強(qiáng)關(guān)系。于是接著向下推導(dǎo)。

那么,這種結(jié)構(gòu)怎么刪數(shù)呢?我們可以知道的是,AIC的邏輯,導(dǎo)致的是鏈頭和鏈尾至少一個(gè)為真,這里應(yīng)該指的是r45c6(9)這個(gè)區(qū)塊和r6c5(5)至少一個(gè)為真。既不同數(shù),要找的又是一個(gè)區(qū)塊和一個(gè)候選數(shù)的交集,這怎么找?

區(qū)塊內(nèi)有且僅有一處填數(shù)位置是為真的,也就是說,r45c6只有一格是7,但是我們無法確定哪個(gè)是7。那么鏈頭的確切位置就無法確定,到底是r4c6還是r5c6;但是鏈尾處,是唯一確定的候選數(shù)r6c5(5)。當(dāng)區(qū)塊成立時(shí),b5內(nèi)一定不可以填7了,這包括了r6c5(7);而r6c5(5)為真時(shí),r6c5當(dāng)然也就不可以填7。所以r6c5 <> 7。

這個(gè)結(jié)構(gòu)是不連續(xù)環(huán)的拓展版本,因?yàn)閹Я艘粋€(gè)區(qū)塊,所以這個(gè)結(jié)構(gòu)也被直接稱為區(qū)塊不連續(xù)環(huán)(Grouped Discontinuous Nice Loop)。

特別需要引起注意的是,區(qū)塊節(jié)點(diǎn)如果動(dòng)用首尾異數(shù)鏈的邏輯時(shí),區(qū)塊并不是所涉及的單元格,每個(gè)單元格都能刪除候選數(shù),例如此例,刪數(shù)并不會(huì)產(chǎn)生在區(qū)塊節(jié)點(diǎn)上。

Part 4?節(jié)點(diǎn)重疊

4-1?空矩形

我們?cè)囅胍幌?,如果一條鏈帶若干個(gè)區(qū)塊,而且區(qū)塊之間有重疊的單元格被共同使用了,這將如何理解?

如圖所示,如果r8c5(9)為假,則r8c7(9)真,于是將r123c7(9)看作區(qū)塊,這個(gè)區(qū)塊節(jié)點(diǎn)為假,接著得到b3里還剩下r1c89(9),它們組成區(qū)塊結(jié)構(gòu),于是可以保證兩處有一處為真,故組成的r1c89(9)區(qū)塊節(jié)點(diǎn)可以表示為節(jié)點(diǎn)為真。最終該結(jié)構(gòu)的刪數(shù)就是鏈頭r8c5(9)和鏈尾r1c89(9)的交集。顯然,這個(gè)區(qū)塊和候選數(shù)的交集只有r1c5(9),所以它便是刪數(shù)。

這個(gè)技巧叫做空矩形(Empty Rectangle),雖然和“矩形”沾邊,但跟唯一矩形、拓展矩形甚至是可規(guī)避矩形里的“矩形”沒有任何關(guān)系,它僅僅指的是一個(gè)結(jié)構(gòu),即宮內(nèi)L形狀的五個(gè)單元格,即此處的{r1c789, r23c7}五個(gè)單元格。另外,空矩形一詞還可以用來指代這個(gè)鏈技巧。不過……

4-2 空矩形的疑問

可以看到,實(shí)際上結(jié)構(gòu)還是很簡(jiǎn)單和清晰的,不過很典型,因?yàn)檫@個(gè)例子里連續(xù)用到了區(qū)塊和區(qū)塊之間的強(qiáng)弱關(guān)系。

那么,對(duì)于空矩形還有一個(gè)疑問。如果我把空矩形技巧畫成這樣下圖,請(qǐng)問這個(gè)鏈?zhǔn)欠衲苷J褂茫⒌玫揭粯拥膭h數(shù)呢?

為了表達(dá)清楚,這里也寫出文本形式:

實(shí)際上是可行的。雖說這里重疊了一點(diǎn)位置,不過現(xiàn)在要詳細(xì)闡述此點(diǎn)邏輯。

首先,我們通過之前一樣的推理可以到r123c7(9)處。此時(shí)得到的結(jié)論是節(jié)點(diǎn)為假,即r123c7沒有一個(gè)單元格填9。接著,我們寫了r1c789(9),雖然其中r1c7是兩個(gè)區(qū)塊節(jié)點(diǎn)共用的部分,而且此時(shí)r1c7(9)已經(jīng)為假了。但是這并不妨礙r1c789(9)這個(gè)節(jié)點(diǎn)的其它兩個(gè)單元格為真。因?yàn)橹罢f過,區(qū)塊為真表示區(qū)塊結(jié)構(gòu)成立,所謂的成立就指的是區(qū)塊里有一個(gè)單元格填這個(gè)數(shù)就可以了。顯然,b3里現(xiàn)在只剩下r1c89可以放下9了,也就直接意味著r1c89必然有一個(gè)9的出現(xiàn),所以總的來說,r1c789里確實(shí)有一個(gè)9了,所以區(qū)塊是成立的,也就意味著該區(qū)塊結(jié)構(gòu)為真。

正因?yàn)槿绱耍站匦尾诺靡源嬖?。?shí)際上,在一些資料和文獻(xiàn)之中(包括發(fā)現(xiàn)人對(duì)于空矩形的介紹)都是采用的重疊的形式介紹的。

4-3?節(jié)點(diǎn)重疊

接下來我們就來介紹一個(gè)節(jié)點(diǎn)重疊的普通版示例。

如圖所示,鏈的表達(dá)如下。

可以從示例里得到,鏈頭和鏈尾都是區(qū)塊節(jié)點(diǎn),但區(qū)塊有所重疊:共用了r1c4(4)。那么,刪數(shù)怎么看呢?實(shí)際上,刪數(shù)就是這兩個(gè)區(qū)塊的交集,而這兩個(gè)區(qū)塊的交集正是b2的其余單元格,所以r2c5和r3c6自然不能夠填入4。

Part 5 魚圖練習(xí)

下面來看看這個(gè)魚圖測(cè)試題,和之前一樣,“/”表示不能放候選數(shù)a的地方。這個(gè)測(cè)試題,你能找到合適的刪數(shù)a的確切位置嗎?


第 31 講:區(qū)塊鏈的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
平果县| 河津市| 和硕县| 合阳县| 七台河市| 云浮市| 景洪市| 靖州| 福海县| 绥芬河市| 无棣县| 天门市| 石阡县| 敦煌市| 巴楚县| 丰原市| 南溪县| 海口市| 永川市| 泸州市| 昭觉县| 凤山县| 马关县| 田东县| 巴塘县| 娄底市| 全椒县| 高碑店市| 囊谦县| 鹤庆县| 新丰县| 丰顺县| 江阴市| 禄劝| 彝良县| 仙桃市| 金门县| 阿克| 江门市| 闽清县| 泾川县|