李遠(yuǎn)哲 西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院
一副牌共有52 張,花色分黑桃、紅桃、草花、方塊四種,面值從A 到K 共13 種。我們需要用四張明牌體現(xiàn)出花色和面值這兩類(lèi)信息。第1 張明牌界定花色,4 張牌共同界定面值。
首先,由于總共5 張牌,最多包含4 種花色,根據(jù)鴿巢原理,一定有某種花色的牌大于等于2 張,我們就選這個(gè)花色的牌作為暗牌。比如,一手牌為(黑桃3,紅桃5,黑桃7,方塊J,梅花A),這其中有兩張黑桃,我們就選其中一張黑桃作為暗牌。至于究竟選哪張,后邊再來(lái)確定。這樣至少保證一點(diǎn),即暗牌的花色與第一張明牌相同。
其次,我們來(lái)確定暗牌的面值??偟乃悸肥且缘谝粡埫髋频拿嬷禐榛A(chǔ),以第2至4 張牌的大小關(guān)系編碼作為增量來(lái)確定暗牌的面值。
第2 至4 張明牌按一般規(guī)則2<3<…K<A,同面值的按四種花色也可定義:方塊<梅花<紅桃<黑桃,這樣全副牌可以排成序列:方塊2<梅花2<紅桃2<黑桃2……<紅桃<A 黑桃A。因此剛才例子中的一手牌就有唯一的次序:黑桃3<紅桃5<黑桃7<方塊J<梅花A。去除已經(jīng)使用過(guò)的兩張黑桃后,其余三張牌有:紅桃5 <方塊J<梅花A
假設(shè)我們暗牌選的是黑桃7,第一張明牌是黑桃3,如何用上述3 張牌表示增量4 是當(dāng)前的主要問(wèn)題??梢杂弥虚g三張牌的大小關(guān)系做如下編碼:小中大 增量為1,小大中 增量為2,中小大 增量為3,中大小 增量為4,大小中 增量為5,大中小 增量為6.
按照以上編碼,增量4 對(duì)應(yīng)中大小,也就是第二到第四張牌對(duì)應(yīng)為:方塊J、梅花A、紅桃5,全部5 張牌如下:黑桃3、方塊J、梅花A、紅桃5、黑桃7(暗牌)。
至此還有最后一個(gè)問(wèn)題,假設(shè)黑桃牌不是黑桃3 和黑桃7,而是黑桃3 和黑桃J,也即二者差值大于6 怎么辦呢?此時(shí)我們用黑桃J作明牌,用黑桃3 作暗牌,在J 的基礎(chǔ)上加5 正好是16,也就是在模13 意義上的3。此時(shí)全部5 張牌如下:黑桃J、梅花A、紅桃5、方塊J、黑桃3(暗牌)。
如果五張牌中沒(méi)有王牌,可以用第1 部分的策略來(lái)解決。以下我們僅需考慮有一張或兩張王牌的情況。
我們僅需僅需把一張王牌放在明牌第1 張,用以指示暗牌也為王牌。明牌是大王,暗牌則是小王,明牌是小王,暗牌則是大王。此時(shí)不需要第2—4 張牌攜帶任何信息,因此可以處理成暗牌,助手一見(jiàn)一明4 暗,則第五張一定是另一張王牌。
當(dāng)5 張牌中包含一張王牌時(shí),按照第1 部分的策略,王牌一定出現(xiàn)在明牌里。
第一種情況,若王牌以外的四張牌中有相同花色的兩張,則選擇一張作為花色指示牌放在第一張明牌處,選擇方法同上一部分。王牌作為偏移量指示部分,放在第2—4 位置中,此時(shí)王牌暗放。具體來(lái)說(shuō)一般把王牌看成最大,黑桃A<小王<大王,其他約定規(guī)則與不含王牌相同。
第二種情況,若王牌以外的4 張牌花色各不相同,此時(shí)又要分兩種情況:2a 和2b。2a 是另外4 張牌面值不完全相同,2b 是另外四張牌面值完全相同,比如4 張7。
2a:選兩張序號(hào)之差不超過(guò)6 的牌,將序號(hào)低的放在首位,序號(hào)高的作為暗牌。然后按編碼規(guī)則放好其它3 張牌,此時(shí)王牌明放,暗牌花色是用互補(bǔ)提示法,即沒(méi)出現(xiàn)的那種花色,面值按前述規(guī)則確定。
2b:此時(shí)把王牌明放在首位,2 至4 張明放,第5 張暗放。此時(shí)采取互補(bǔ)提示法,花色由沒(méi)出現(xiàn)的花色來(lái)標(biāo)定,面值與其他3 張明牌相同。此時(shí)應(yīng)為第一張為王牌,無(wú)法加減,這樣不會(huì)造成混淆。
這個(gè)魔術(shù)或者叫游戲的拓展可以從兩方面展開(kāi),一是一副牌上加以改變,不再是一副普通的撲克牌了,是一副我們自己構(gòu)造出來(lái)的牌。另外可以從一手撲克牌上進(jìn)行改變,比如不取五張牌搞讀心術(shù)了,改為4 張、或改為6 張。也可以?xún)煞矫娼Y(jié)合,這樣就是一個(gè)面貌全新的游戲了。
如果縮減為3 張明牌,一張用來(lái)暗示暗牌的花色和基礎(chǔ)序號(hào),那么只有兩張牌可以暗示偏移量信息,而兩張牌的大小關(guān)系只有兩種可能的排列方式,因此每種花色最多只能有5 張牌,這樣可以保證同花色的兩張牌間的最小距離不會(huì)超過(guò)2。至于花色數(shù),由于一手牌只有4 張,因此花色只能有3種,才可以保證有兩張牌同花色。至此我們知道,4 張牌的讀心術(shù)的全副牌應(yīng)該為3 種花色,每種花色5 張牌,整副牌共計(jì)15 張。
從純計(jì)數(shù)的角度考慮這個(gè)問(wèn)題,如果我們從一副牌共d 張中抽取n 張牌的一手牌,我們可以傳遞多少種不同的信號(hào)?進(jìn)而推得d 的上限應(yīng)該是多少。
我們抽取n 張牌,究竟能傳遞多少種信號(hào)呢?首先明牌有(n-1)!種排列方式,暗牌又有n 種選擇方案,因此總共有n!種信號(hào)。再將明牌的數(shù)量加入其中,則d=n!+n-1。即d 張牌的的一副牌可以通過(guò)抽取n 張的一手牌來(lái)進(jìn)行讀心術(shù)魔術(shù)。下面我們給出兩個(gè)較小的例子。
當(dāng)n=2 時(shí),d=3。假設(shè)一副牌只有(1,2,3),我們?nèi)我馊∫皇? 張牌,只可能是(1,2)或(1,3)或(2,3),此時(shí)我們可以將模3 意義下較小的一張作為明牌,即分別取1、3、2 作為上述3 手牌的明牌即可。
當(dāng)n=3 時(shí),d=8。此時(shí)就不是那么輕而易舉的解答了。假設(shè)一副牌仍然是(1,2,3,4,5,6,7,8),典型的一手牌如(2,3,7)。此時(shí)我們考慮明牌可見(jiàn)的有序二元組和包含暗牌在內(nèi)的3-組合之間的關(guān)系。
明牌是2 張牌的2-排列,如果整副牌是1---8,則這個(gè)2-排列共有8*7=56 種可能。同時(shí)我們考慮含暗牌的三組合c(8,3)恰好也等于56。因此如果我們能建立起一種一一對(duì)應(yīng)關(guān)系來(lái)我們就可以從明牌的2 元有序?qū)?,直接推得一個(gè)3 元組合,這個(gè)三元組合必須包含二元有序?qū)褐械膬蓚€(gè)元素。
這兩個(gè)集合基數(shù)是相等的,都為56。這兩個(gè)集合之間的關(guān)系滿(mǎn)足6-正則兩部圖,下面我們仔細(xì)分析下兩個(gè)集合間的可能的對(duì)應(yīng)關(guān)系。對(duì)于明牌<1,2>對(duì)應(yīng)的3組合只能是以下六種,(1,2,3)、(1,2,4)、(1,2,5)、(1,2,6)、(1,2,7)和(1,2,8)。對(duì)于整手牌比如(1,2,3),對(duì)應(yīng)的明牌只可能是<1,2>、<2,1>、<1,3>、<3,1>、<2,3>和<3,2>。其它有序?qū)腿M也都是如此。這樣看來(lái)整幅圖是6 正則的兩部圖。
幸運(yùn)的是,根據(jù)兩部圖的婚姻定理,這樣的正則兩部圖總存在完美匹配。這樣我們就可以以其中一個(gè)完美匹配為編碼和解碼的原則來(lái)實(shí)現(xiàn)撲克牌讀心術(shù)。
魔術(shù)謎題浩如煙海,編碼理論魅力無(wú)窮,我們將二者結(jié)合,主要透過(guò)讀心術(shù)魔術(shù)謎題及其解密來(lái)探討編碼的能力及其上限。其中不含王牌的謎題解法嚴(yán)密、邏輯清晰;含王牌的魔術(shù)謎題則略顯復(fù)雜,情況也分得比較多。至于廣義的撲克牌讀心術(shù),我們只是做了初步的探討,這里有編碼能力的問(wèn)題,相對(duì)還是比較好研究的,更為困難的是具體可行解的探索,這將是長(zhǎng)期的復(fù)雜的過(guò)程。目前還僅對(duì)正則兩部圖的求解有確實(shí)的理論依據(jù)和行之有效的做法,對(duì)于廣義的問(wèn)題有待于進(jìn)一步探索。