也許你和朋友玩牌時經常大叫「怎麼又是這手牌」、「怎麼又來三個3」、「誰負責洗牌的,都沒有洗開」⋯⋯洗牌究竟要洗多少次才能洗開?或許每個人都想過這個問題。今天,死理性派就來幫你解答這個或許困擾你已久的問題。
三次洗牌遠遠不夠
永遠不要以為,洗個兩三次就能把牌洗開了。很多撲克牌小魔術就利用了三次洗牌遠遠不能把牌洗開的秘密。比方說,我拿出一副新牌給你,由你來負責洗牌。洗一次。再洗一次。你覺得還沒洗開對吧,那就再洗一次。然後,請你偷偷看一眼最上面的那張牌,記下它的花色和點數,然後把它插到這摞牌中間某個位置去,再把整副牌給我。我便能挑出這張被動過的牌。
魔術的原理正如上文所說:把一摞排列有序的牌洗三遍,並不會讓整副牌完全無序,排列順序會有一個很強的規律。移動最上面一張牌的位置會破壞掉這個規律,從而露出馬腳來。
為了更方便地做進一步說明,我們下面只用13張牌來舉例。由於這是一副新牌,初始時這13張牌是有序的:
洗一次牌就相當於把上面這個序列分成前後兩半,然後交錯構成一個新的序列:
因此,洗完一次牌後,依次尋找A,2,3,...,J,Q,K的位置,你會發現它們形成了兩個「上升序列」(分別用兩種顏色標了出來)。
那麼,再洗一次牌會對這個序列造成什麼影響呢?容易看出,第二次洗牌將會把每個上升序列都截成兩半,然後再次相交錯,得到四個上升序列(分別用四種顏色標了出來):
如果此時把末尾的那張7移到中間去,你會發現這會打破「四個上升序列」的規律。因此,我們很容易辨認出,在下面的撲克牌序列中,7本該放在後面:
但是在上面的例子中,這些上升序列都很短,理論上平均長度僅為13/4=3.25。因此如果對方洗牌技術不佳,魔術有出錯的可能。不過,如果把52張牌洗三次,將產生8個上升序列,平均每個上升序列的長度為52/8=6.5,魔術表演的問題就不大了。
五次洗牌也洗不均勻
我們可以借助「上升序列」的思路來證明,五次洗牌也不能把牌徹底洗均勻,因為有一些排列永遠不能僅用五次洗牌得到。不妨假設初始時撲克牌的順序是1,2,3,…,51,52,五次洗牌後最多會產生25=32個上升序列。但是52,51,…,3,2,1這個排列中有52個上升序列,因此五次洗牌是絕對洗不出這樣的排列的。事實上,所有上升序列數量超過32的排列都是五次洗牌無法得到的,這就證明了五次洗牌也不能把牌洗均勻。
看來,要想把牌洗開,六次是必需的了。
七次洗牌才足夠
那麼,究竟要洗多少次牌,才能讓所有排列出現的概率大致相同呢?你別說,還真有人做過這樣的研究。
1992年,佩爾西·戴康尼斯(PersiDiaconis),美國數學家兼專業魔術師,與哥倫比亞大學的戴夫·拜耳(DaveBayer)一道,為交叉洗牌法建立了一個數學模型,分析了包括上升序列在內的撲克牌排列性質,定義了m次洗牌後得到的排列分佈與平均分佈之間的「總變差距離」,最後發表了一篇20頁長的論文。他們計算出,當撲克牌有52張,洗牌次數分別為1,2,...,10時,總變差距離分別為1.000,1.000,1.000,1.000,0.924,0.614,0.334,0.167,0.085和0.043。可見,五次洗牌才能讓整副牌呈現出隨機性,直到第七次洗牌才會讓隨機性顯著增加;並且在此之後,總變差距離將大致以1/2的比例依次遞減。因而他們的結論就是:七次洗牌才足夠隨機。 |