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

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

第 54 講:無法傳遞或很難使用傳遞性的結(jié)構(gòu)

2021-09-01 00:40 作者:SunnieShine  | 我要投稿

下面來介紹一些不太好使用傳遞性和根本就不能使用傳遞性來證明其結(jié)構(gòu)是致命結(jié)構(gòu)的例子。

Part 1 唯一矩陣

我們先來看示例,看看它長(zhǎng)啥樣。

1-1?使用

如圖所示。我們假設(shè)r7c3(8)和r78c5(2)同假,則r789c359(4567)將構(gòu)成一個(gè)合格的致命結(jié)構(gòu)。這個(gè)結(jié)構(gòu)叫做唯一矩陣(Unique Matrix),它和唯一矩形的技巧名就差一個(gè)字,但意義完全不一樣。

1-2?證明

這個(gè)結(jié)構(gòu)使用傳遞性將非常難解釋,所以我們只能使用普通的枚舉方法來證明這個(gè)結(jié)構(gòu)是否是致命結(jié)構(gòu)。由于結(jié)構(gòu)涉及的數(shù)字是四種,而且是三階的,所以我們嘗試對(duì)結(jié)構(gòu)里填入的數(shù)字分別假設(shè)為a、b、c和d來簡(jiǎn)化描述,并假設(shè)出四種情況:沒有d、一個(gè)d、兩個(gè)d和三個(gè)d。

如圖所示,我們就假設(shè)圖里的d = 4。下面開始枚舉每一種情況。

假設(shè)結(jié)構(gòu)沒有4的話,顯然是致命的,因?yàn)槿稳〗Y(jié)構(gòu)涉及的兩列,都會(huì)發(fā)現(xiàn)構(gòu)成了拓展矩形的致命形式(豎著放的那種形態(tài))。

假設(shè)結(jié)構(gòu)有一個(gè)4的話,顯然也是致命的,因?yàn)榻Y(jié)構(gòu)只能放1個(gè)4,那么剩余的兩列里必然也只有1、2、3,使得依然形成了拓展矩形的致命形式。

假設(shè)結(jié)構(gòu)里有兩個(gè)4和三個(gè)4的話,證明過程就開始復(fù)雜起來了。所以我們嘗試盡量用圖片的形式呈現(xiàn)出來。先來看只有兩個(gè)4的情況。

如圖所示,假設(shè)我們只有兩處4,顯然這兩處4的位置是可以隨意放的,所以我們找了一個(gè)比較對(duì)稱的、方便觀察的地方放下了4。接著,我們可以觀察剩下的七個(gè)單元格。顯然,我們對(duì)r456c5的填法是隨意的,所以我們就嘗試直接放上1、2、3;同理,r5c258也是對(duì)稱的,所以這里其實(shí)可以隨意放1、2、3,都是同樣的情況。所以我們找出一種填法,如下圖所示。

至于r4c8和r6c2,是根據(jù)直接的排除效果得到的,不過顯然,r46c28構(gòu)成了UR的致命形式,所以這種情況就錯(cuò)誤了。

因?yàn)閯偛盼覀兊淖C明過程之中,雖然很多填法我們都沒有直接實(shí)現(xiàn),但因?yàn)榻Y(jié)構(gòu)是對(duì)稱的,所以怎么去換數(shù)字的位置,實(shí)際上都是等效的,所以我們沒有給出其它情況的證明。接著我們考慮有三個(gè)4的情況。

如圖所示,我們找到三處填入4的位置,顯然,和剛才一樣,4的位置是可以隨意放置的,所以我們找一個(gè)比較對(duì)稱的、好觀察的填法。

接著,我們只需要處理剩余的六個(gè)單元格,看它們是否填入后形成整個(gè)結(jié)構(gòu)的致命形式即可。而和剛才一樣,我們不得不又開始隨意假設(shè)情況,比如此時(shí)我們按r46c5填入1和2來看接下來的情況(2、3和1、3的邏輯和這里的假設(shè)是等效的,所以不用再去證明2、3和1、3的組合的情況);同理,r5c28也是一樣的道理。

接著,我們可以嘗試看下r4c8和r6c2的填數(shù)情況。如果r6c2是1,則r456c25構(gòu)成拓展矩形的致命形式;同理,r4c8如果是2的話也會(huì)這樣,所以我們直接確定r4c8 = r6c2 = 3的結(jié)果。

但很顯然,填入3后就可以看到,r46c28構(gòu)成了關(guān)于3、4的UR的致命形式(這已經(jīng)回到了之前的證明的其中一步了),所以這種情況也不成立。所以我們就證明了,所有情況全部都出現(xiàn)致命形式,故整個(gè)結(jié)構(gòu)是一個(gè)致命結(jié)構(gòu)。

接下來我們繼續(xù)來看一則使用示例,相信你通過證明后,就可以更快地得到結(jié)果了。

如圖所示,如果r5c1(3)為假的話,結(jié)構(gòu)r456c159將構(gòu)成唯一矩陣的致命形式,所以r5c1(3)為真,刪掉r5c1的其余候選數(shù)。

Part 2?唯一性提示信息覆蓋

接下來要介紹一個(gè)比較難的唯一性技巧,叫做唯一性提示信息覆蓋(Uniqueness Clue Cover,簡(jiǎn)稱UCC)。在外國(guó)的資料上,這個(gè)技巧的介紹也很少,其中提到了一句話,這個(gè)技巧是通過計(jì)算機(jī)編程驗(yàn)證,得到的刪數(shù),不過現(xiàn)在我們將嘗試用邏輯解釋這個(gè)技巧的刪數(shù)原理,所以打起精神來,這個(gè)技巧將非常具有挑戰(zhàn)性。

2-1?使用

如圖所示,觀察第一大行(r123),提示數(shù)非常少,這甚至讓我們開始懷疑,這樣的數(shù)獨(dú)題還能保證唯一解嗎?題是唯一解的,這請(qǐng)你放心。不過我們就是需要利用這一點(diǎn),來得到填數(shù)。

我們先假定下方六個(gè)宮b456789已經(jīng)通過普通邏輯全部填滿了數(shù)字。如果題目唯一解,上面的b123則應(yīng)是可以繼續(xù)推導(dǎo)得到填數(shù)的。不過b123內(nèi)只有兩個(gè)提示數(shù),明顯無法直接得到填數(shù),不管是什么技巧,都是一樣。

我們從唯一余數(shù)下手來思考這個(gè)問題。我們發(fā)現(xiàn),b123因?yàn)橹挥袃蓚€(gè)提示數(shù),所以如果要唯一余數(shù)的話,至少要8個(gè)完全不同的數(shù)字,才能出一個(gè)數(shù)字。我們假定下面六個(gè)宮全部已經(jīng)填好了數(shù)字,那么,如果可以出唯一余數(shù),此時(shí)能出唯一余數(shù)的地方,只有r3c789。為什么呢?下面有6個(gè)數(shù)可以提供唯一余數(shù)的數(shù)數(shù)操作,而r3c789恰好又可以數(shù)出兩個(gè)數(shù)來,這樣就可以有8個(gè)數(shù)字,就可以產(chǎn)生唯一余數(shù)解法,得到這三格的填數(shù)。但仔細(xì)思考來看,r3c78其實(shí)是不行的。為什么呢?根據(jù)r2c9(2),可以得到b69里填入2的位置,只能在r456789c78(c78b69,涂橙色的區(qū)域)。我們就針對(duì)r3c78的其中一格來說,比如這里的r3c7,能夠影響這里候選數(shù)排除的數(shù)字有r3c6、r2c9和r456789c7,共計(jì)8個(gè)數(shù)。可是r456789c7里有一個(gè)2,而r2c9也是2,這樣就帶來了一個(gè)很遺憾的結(jié)果:有兩個(gè)2,所以有效的信息最多只有7個(gè),明顯是無法唯一余數(shù)出數(shù)的。

同理,r3c8也是一樣的道理。所以其實(shí),實(shí)際上只有r3c9可以通過如此的邏輯出數(shù)(當(dāng)然前提還是最開始說到的,下面的六個(gè)宮全部已經(jīng)填好了數(shù)字,而且必須是完全不同的8個(gè)數(shù)字,才有辦法唯一余數(shù))。

那么,此時(shí)我們觀察c9,c9此時(shí)有一格可以出數(shù),是r1c9 = 1。為什么呢?如果r456789c9里有一格是數(shù)字1的話,這樣就會(huì)和r3c6(1)是一樣的數(shù)字,r3c9此時(shí)就不能通過唯一余數(shù)得到出數(shù);此時(shí)就沒有位置可以出數(shù)了。這是因?yàn)椋捎趓3c78不能出數(shù),r3c9如果還不能出數(shù)的話,那就真的沒辦法再找到位置出數(shù)了,此時(shí)這一行就會(huì)產(chǎn)生多種填法,畢竟現(xiàn)在已經(jīng)沒有其他的提示信息了,沒辦法確定接下來填哪里,或者其他的邏輯刪數(shù)。所以不能讓r456789c9里有數(shù)字1;顯然,r3c9也不能是1(r3c6(1)的排除),所以,c9里只有r1c9可以填入數(shù)字1,所以r1c9 = 1。

回到最初的邏輯,同樣我們可以通過觀察r2,此時(shí)可以出得到r1c6 = 2的結(jié)果,這里的邏輯是類似的。

邏輯大致和上方的邏輯同樣,只是換了下坐標(biāo),其他的推導(dǎo)思維都不變。

注意,這兩個(gè)填數(shù)是互不沖突的,是獨(dú)立分開的兩個(gè)結(jié)論,也就是說,r1c6 = 2和r1c9 = 1的出數(shù)結(jié)論是不講先后順序的。得到這兩個(gè)數(shù)之后,余盤瓦解。

2-2?原理剖析

這種神乎其技的技巧,不免會(huì)讓人覺得比較痛苦,因?yàn)樗奶顢?shù)模式看起來似乎跟致命結(jié)構(gòu)完全沒有關(guān)系,但實(shí)際上,你可以感覺到,上述的邏輯里有一些瑕疵。比如,為什么我們非得使用唯一余數(shù)技巧不可呢?如果使用其它的技巧,比如鏈,難道不行嗎?

答案是否定的。這里只能用唯一余數(shù)。排除不行,鏈等等技巧更不行。排除是顯然不夠數(shù)字的,一個(gè)合格的排除法,針對(duì)于b123來說,如果像是b1的話,就至少需要4個(gè)完全一樣的數(shù)字作排除,才可能得到唯一的填數(shù)位置。然而r2c9和r3c6是不同的數(shù)字,下面最多只能保證兩個(gè)數(shù)字,上面也只能保證其中一個(gè)數(shù)字作排除,所以只有三個(gè)數(shù)字,完全不可能得到填數(shù)結(jié)論。

b23為什么也不行呢?就拿b2來說,要出一個(gè)數(shù)字,需要至少3個(gè)數(shù)字才能“卡死”一個(gè)數(shù)字的填數(shù)位置。而下面的數(shù)字1或2的填數(shù)位置是我們無法直接確定的,換而言之,如果看數(shù)字2的話,能夠使用排除操作,并得到填數(shù)的位置只可能是r1c6,并且需要3個(gè)數(shù)字2共同對(duì)b2排除,才可能出這個(gè)數(shù)。然而,你怎么知道下方數(shù)字2的位置不能在r456789c6里?如果在這里沒,情況就更加糟糕,3個(gè)數(shù)字2都不能保證出數(shù)了,然而就需要至少4個(gè)2,就回到了b1的排除邏輯上(數(shù)字2不夠那么多,顯然是不行的),所以b2是無法排除的。b3也是同理的。所以排除操作是無法得到填數(shù)結(jié)果的。

那鏈為什么也不行呢?鏈針對(duì)于這樣提示數(shù)少的地方,是無法起到重要作用的,鏈的結(jié)果只能是刪數(shù),而由于b123提示數(shù)非常少的緣故,可以利用的強(qiáng)弱關(guān)系也會(huì)非常少(可以說甚至沒有),根本無法指望用鏈來得到刪數(shù)。

其他技巧肯定不行的,這里就不用多說了,畢竟,除了唯一性技巧(致命結(jié)構(gòu))以外,都能轉(zhuǎn)為強(qiáng)弱關(guān)系表示的畫法。鏈都不行,更別說其他的結(jié)構(gòu)了。

2-3?變體類型

UCC并非只有上面的一種構(gòu)型。下面我們來看一個(gè)變體構(gòu)型。

如圖所示,這個(gè)結(jié)構(gòu)有點(diǎn)稍微難理解。我們使用前文的理解模式來思考這個(gè)題目。

仔細(xì)觀察第3行,第3行可能形成出數(shù)的地方只有r3c123。其它四個(gè)單元格不能出數(shù)的原因如圖所示。

先看左圖,如果r3c45可以出數(shù)的話,這是不可能的,因?yàn)閞3c45處于具有1和2兩個(gè)確定值的位置上。r3c45要想出數(shù),就必須獲得8個(gè)不同的確定值,但是由于1的位置,使得橙色的12個(gè)單元格里必然會(huì)有兩處1,使得不同的填數(shù)信息不足8個(gè);同理,右圖也是一樣。r3c78顯然最多只有7處不同的確定值。所以r3c123可能是目前唯一的希望了。

現(xiàn)在我們開始考慮出數(shù)的問題。

我們嘗試假設(shè)r1c1 = 2。這個(gè)時(shí)候,r1c23里肯定會(huì)有一個(gè)是1(來自于b23的排除法),所以我們隨意假設(shè)其中一種情況。圖中給出的是r1c3 = 1的情況,當(dāng)然你也可以假設(shè)r1c2 = 1,思路是和下面的推理方式一樣的,所以我們這里就不同時(shí)闡述兩種情況了。

當(dāng)此時(shí)r1c3 = 1的時(shí)候,由于1的確定值(左圖)和2的確定值(右圖)的分布,使得此時(shí)紅色的單元格無法出數(shù)。先看左圖,由于此時(shí)r1c3 = 1,所以橙色的單元格里必然會(huì)出現(xiàn)兩處1,使得出數(shù)的確定值不夠8個(gè),無法出數(shù);而右圖展示的則是從2這個(gè)數(shù)字而言的分布情況,這樣也會(huì)使得r3c3無法出數(shù)。因此,此時(shí)r3已經(jīng)無法產(chǎn)生出數(shù)了。如果我們假設(shè)r1c2 = 1也是類似的道理,所以就不重復(fù)了。

我們仔細(xì)觀察r123,如果r3能夠確定填法的話,由于r12只有一處提示信息的關(guān)系,我們能夠找出一種填法使得和r3不沖突,這樣一來,r123就填滿了??墒怯捎趓3無法確定,那么r12就好比是獨(dú)立于結(jié)構(gòu)的“小島”,所以我們無法對(duì)r12給予任何其它的確定值,讓它們能繼續(xù)出數(shù)并得到結(jié)果。也因此,r123此時(shí)是存在多種填法的。

但數(shù)獨(dú)規(guī)則要求,每一個(gè)題目的每一個(gè)單元格均必須包含唯一的填數(shù)情況,所以這種情況是不可能出現(xiàn)的,這便證明了最初的假設(shè)是錯(cuò)誤的,故r1c1 <> 2。

同樣地,你也可以從r1c3 = 2出發(fā)來證否。這個(gè)題目此時(shí)可以刪除r1c13(2),于是,b1會(huì)形成2區(qū)塊結(jié)構(gòu),使得r2c456 <> 2;當(dāng)然,r2c6 <> 2也是顯然的,你也可以用過涉及并排三宮的反轉(zhuǎn)唯一矩形的方式來理解它。

而至于r1c6 <> 2是為什么呢?如果我們假設(shè)r1c6 = 2,我們發(fā)現(xiàn),如果r2能找到唯一填法,由于r13的填數(shù)模式,那么必然也可以找到唯一的填數(shù)方式。所以我們需要確定的地方,是r2的填數(shù)。

現(xiàn)在來看r2此時(shí)能有哪些位置可以出數(shù)。

如圖所示,這樣三個(gè)圖證明得到了r2c123678是無法出數(shù)的。邏輯和之前的類似,這里就不贅述了。而下面我們只能讓r2c45出數(shù)了。不過,有些遺憾的是,r2c45此時(shí)由于r1c6 = 2的假設(shè)的關(guān)系,它們此時(shí)已經(jīng)無法出數(shù)了。

和前文描述得一樣,橙色的單元格里必然包含1和2,使得不重復(fù)的填數(shù)信息不足8個(gè),所以r2c45此時(shí)無法得到出數(shù)結(jié)論。因此,r2c45此時(shí)也無法出數(shù)。

這樣一來,r2沒有任意一個(gè)單元格可以出數(shù),也就意味著r2可能存在多種填法,這也使得r13的填數(shù)情況完全無法確定,便違背了數(shù)獨(dú)的唯一填數(shù)的要求。所以,r1c6 = 2的假設(shè)是不正確的。

最后再為你展示一個(gè)超級(jí)復(fù)雜的UCC示例,希望你能理解它。

2-4?還有構(gòu)型嗎?

事實(shí)上,我們還存在很多UCC的變體構(gòu)型,上面只是其中一種構(gòu)型。不過,這些變體構(gòu)型已經(jīng)足以讓我們感受到這個(gè)技巧的難度了。

其中的“*數(shù)字”表示確定值,“-數(shù)字”表示刪除哪個(gè)數(shù)字,“-@”表示刪除這種構(gòu)型涉及的數(shù)字外的其它數(shù)字。例如圖里的第4種情況,刪除的數(shù)字就是3到9,第5種情況也是刪除3到9。

第 54 講:無法傳遞或很難使用傳遞性的結(jié)構(gòu)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
富阳市| 历史| 洪洞县| 文昌市| 忻城县| 丁青县| 渝北区| 海丰县| 湘西| 吴江市| 平塘县| 吕梁市| 德格县| 杭锦后旗| 临夏县| 淮北市| 宁陵县| 西藏| 安岳县| 普洱| 巫溪县| 康保县| 吉隆县| 通道| 丰镇市| 陆丰市| 礼泉县| 彭阳县| 天峨县| 县级市| 宁武县| 屯留县| 雷波县| 正安县| 永吉县| 石家庄市| 韶关市| 临武县| 铜川市| 高要市| 五峰|