數學告訴你:洗牌的最佳方式
理論與實踐往往是兩回事。當你實際洗牌時,可能會發現牌堆中有些熟悉的序列,這表示牌並沒有如你所願地均勻混合。那麼,究竟該如何洗牌才能達到理想的分散效果?關鍵在於技巧還是耐心?答案,如同生活中的許多事情,最終都歸結於數學。
任何曾被騙去玩「52張牌撿拾」遊戲的人都知道,洗牌的方式不只一種。你可能熟悉的「過手洗牌法」,就是將牌從右手逐漸轉移到左手,用拇指從牌堆頂部滑下小疊牌。瑞典查爾摩斯理工大學的分析與機率理論教授約翰·約納森在2006年的一篇論文中描述了這種方法。雖然這種洗牌法容易學習,但在隨機化方面卻不盡理想。約納森指出,這種洗牌法的混合時間是n2logn,意味著無論你有多少張牌,都需要超過這個時間的平方才能將牌徹底混合。
考慮到標準牌堆有52張牌,這意味著需要大量的洗牌次數。南加州大學多恩西夫學院的數學教授傑森·富爾曼在2023年解釋道:「過手洗牌法需要數千次重複,實際上可能接近一萬或一萬一千次。因此,這是一種非常低效的方法。」
相比之下,「交錯洗牌法」更為有效。這種方法是將牌堆大致分成兩半,然後讓兩疊牌幾乎一張一張地交錯落下並重新組合。這種洗牌法不僅視覺上更為震撼,而且在混合牌的效率上也更高:其混合時間為3/2 log2n。這比過手洗牌法快得多。富爾曼表示:「經驗法則是,你大約需要七次洗牌。」這雖然比每次玩牌前的洗牌次數多,但遠低於過手洗牌法所需的五位數次數。
富爾曼進一步解釋:「如果牌堆完全混合,你只能猜對大約四張半的牌。如果你進行一次交錯洗牌,你可以猜對超過30張牌;兩次洗牌後,你可以猜對超過19張牌;三次洗牌後,你可以猜對近13張牌。」這個數字看似下降得過於緩慢,但這正是數學家戴夫·拜爾和佩爾西·戴康尼斯在1990年左右發現的「截斷現象」:隨機化突然出現,以至於在1.4 log2 n次洗牌後,牌堆仍然遠未達到隨機狀態。
這意味著,如果你想徹底混合牌堆,你需要進行完整的七次洗牌。戴康尼斯在1990年告訴《紐約時報》:「大多數人洗牌三到四次,五次被認為是過度的。」然而,這遠遠不夠,因為這樣的牌堆「遠未達到隨機狀態」。只有當你進行七次或更多次交錯洗牌後,「隨機距離」——戴康尼斯和拜爾定義的數學量,用於描述混合程度與隨機順序的接近程度——才會低於½,使其更接近「隨機」而非「完全有序」。
不過,這裡有一個警告:不要洗得太完美。這聽起來可能違反直覺,但如果你以某種方式完美地進行交錯洗牌,那幾乎和不洗牌一樣糟糕。想證明這一點嗎?試著連續洗八次,你會發現牌堆回到了最初的狀態。
在這篇文章中,我們假設更隨機的洗牌是「更好的」,這在大多數情況下是正確的。如果你在玩牌——並且假設你並不想作弊——你希望牌的順序是不可預測的;這通常是遊戲的關鍵之一。然而,如果你洗牌過於徹底,似乎會出現一種「恐怖谷效應」。如今我們已經習慣了電腦牌局,但在1970年代,當它們首次被引入時,人們感到憤怒——不是因為技術的入侵或對傳統的挑戰,而是因為電腦洗牌的方式不對。
至少,當時的玩家是這麼認為的。《紐約時報》在1990年報導,由演算法而非人手產生的更隨機發牌讓競技橋牌玩家感到困惑;他們習慣於能夠直覺地猜測對手的牌,突然的迷失方向讓他們感到困惑。同一時期出版的一本橋牌百科全書也遭遇了同樣的反彈。戴康尼斯解釋,出版商「使用電腦來計算機率。例如,假設我的對手之間有七張紅心,那麼其中一人有四張紅心,另一人有三張紅心的機率是多少?」
這正是我們今天會理所當然地使用電腦來計算的問題——但在當時,這引起了軒然大波。戴康尼斯說:「有些機率與專家玩家的直覺相悖。專家們直覺地——並且正確地——認為牌的洗法。人們認為百科全書是錯的。」
那麼,教訓是什麼?如果你想要一個隨機的洗牌,選擇交錯洗牌法,並重複七次。但在此之後停止——否則你可能會燒掉一些橋樑。