統計學實驗室

一副牌要洗幾次才算洗好

52 張牌分成兩疊、交錯落下(鴿尾式)洗七次,與均勻分佈的全變異距離是 0.334。這個數字的意思是:拿洗過的牌和電腦排的隨機牌各一副放在你面前,就算用最會挑毛病的方法去檢查,也只有 66.7% 的把握指出哪一副洗過,瞎猜是 50%。改用資訊量衡量,洗五次剩 3.52% 的資訊;只在意紅黑,第六次的分離距離是 0.317;要讓全副牌序在分離距離下收斂,洗十二次仍有 0.278。文內的精確表由本站以整數有理數重算,與 Bayer–Diaconis 1992 年的原表相符。

本頁目次

。我隨機微積分的老師黃啟瑞公告停課一週,要大家去聽;他也是演講前兩天那場專訪的訪問人之一。場地在天數 202,我最喜歡的教室。

一副新牌拆封的時候,四種花色各自從 A 排到 K。開始洗,洗到第幾次可以發牌?

七次。這個答案出自 1992 年《Annals of Applied Probability》上的一篇論文,。七這個數字有三個前提:牌堆是 52 張、洗法是(把牌分成兩疊,讓兩疊的牌交錯落下再併回去,打牌的人最常用的那種)、衡量「還差多遠」用的是。牌堆換一種、距離換一種,算出來的都是別的數字。

。他要回答的問題來自牌桌:洗過的牌還留著多少原來的痕跡。

洗一次牌,還剩多少原來的順序

。後面每一個數字都算在這個模型底下。

一次洗牌把原來的順序拆成兩段:左半堆的牌彼此之間仍然由小到大,右半堆也是。這種極大的遞增段落叫遞增序列,洗第二次時每一段最多再被拆成兩段,所以洗 kk 次的牌堆最多只有 2k2^k 段。

1/7·起點

52 張牌照 1 到 52 排好,柱高是牌值:整副是一段遞增序列,一道爬滿的階梯。

。連做 kk 次,每張牌就帶著一串 kk 位元的標籤,牌堆按標籤的字典序排好。標籤只有 2k2^k 種,所以牌堆至多分成 2k2^k 群,正著看就是至多 2k2^k 段遞增序列。。這個上界比 Bayer 與 Diaconis 的精確結果鬆,用到的機率工具卻只有生日問題。

目前 8 段遞增序列

洗 3 次的上限是 8 段

8♣9♣Q♦A♠9♠2♠10♣K♦A♣8♥J♣3♥2♣9♥3♦4♥10♥3♣Q♣6♣4♦J♥K♣5♦Q♥4♣3♠10♠6♦J♠7♦4♠8♦5♠7♣6♠K♥Q♠5♣5♥9♦6♥K♠7♥10♦J♦7♠A♦8♠A♥2♦2♥
一副由 A 到 K、黑紅方梅依序排好的牌,由上而下讀。同一段遞增序列的牌用同一種底色;洗一次多一組顏色,洗到第七次之後段數就停在二十幾,再洗下去看不出差別。
均勻隨機的平均08162432遞增序列的段數012345678910洗牌次數
段數隨洗牌次數變化。細虛線是均勻隨機牌堆的平均 26.5 段:段數爬到這個高度附近就停住,這正是「數段數」這個檢驗失效的時候。

均勻隨機的牌堆平均 26.5 段(標準差 2.10)

均勻隨機的牌堆平均有 26.5 段,標準差 2.10,落在 16 段以內的機率是 4.67×1074.67 \times 10^{-7}。洗四次的牌堆最多 16 段,數一下段數就分得出來,大約兩百萬次才會判錯一次。

「離隨機還有多遠」要怎麼量

把段數以外所有想得到與想不到的檢驗也算進去,得到的就是全變異距離:找一個事件,讓它在兩個分佈底下的機率差最多,這個最大差距即是

QmU=maxAQm(A)U(A)\|Q_m - U\| = \max_{A} |Q_m(A) - U(A)|

其中 QmQ_m 是洗 mm 次之後的分佈,UU 是 52! 種排列上的均勻分佈。。他們舉的例子是有人瞄到了底牌:其餘 51 張確實隨機,距離卻立刻是 11/521 - 1/52

同一個量也可以寫成一場賭局。桌上有兩副牌,一副洗過 mm 次,另一副由電腦排成真正隨機的順序,你不知道哪副是哪副,要指出洗過的那一副。檢查的方法隨你挑:數遞增序列、翻開最上面那張看是不是還是黑桃 A、看紅黑相間的模式、把 52 張全部攤開慢慢比對。瞎猜的成功率是 50%,而最好的那套方法能達到 12+12QmU\frac{1}{2} + \frac{1}{2}\|Q_m - U\|。這個式子就從定義來:挑 AA 為那個機率差最大的事件,看到結果落在 AA 裡就說它是洗過的。

洗五次是 96.2%,六次 80.7%,七次 66.7%,八次 58.4%,十次 52.1%。前四次都是 100%,因為光數段數就贏了:洗四次的牌堆最多 16 段,而隨機牌堆要兩百萬次才遇得到一次 16 段以內的。

這樣定義之後,還沒有人想到的檢驗也算在裡面。它取的是最大值,不取平均:瞄到底牌那個例子裡,其他幾乎所有事件的機率都沒怎麼變,距離照樣接近 1。

52 張牌的精確數字:從 1.000 掉到 0.043

。整個排列只透過 rr 進入公式,52! 項的求和因此縮成 52 項,距離算得出精確值。

牌堆張數

洗 7 次:距離 0.3341,分辨得出來的機率 66.7%

1.5 log2 n = 8.550.000.250.500.751.00全變異距離2468101214洗牌次數
52 張牌,每一點是洗該次數之後與均勻分佈的全變異距離(精確計算)。虛線在 8.55 次,是漸近理論給的位置。距離先貼著 1,越過虛線附近之後每次大約減半,永遠不會等於 0。把它換成賭局:從一副真隨機的牌裡認出洗過的那一副,成功率等於 50% 加上距離的一半。

52 張牌的前四次都是 1.000,接著是 0.924、0.614、0.334、0.167、0.085、0.043。32log252=8.55\frac{3}{2}\log_2 52 = 8.55

圖上的數字是本站用同一條公式、以整數有理數運算獨立重算的,七種牌堆大小、kk 從 1 到 10 共 70 個數值,與原文表 3 相符。牌堆換成 312 張,前七次仍然是 1.000,第十次還有 0.565。

換個說法:能多猜中幾張牌

。均勻隨機的牌堆,最佳策略平均猜中 H52=1/52+1/51++1=4.54H_{52} = 1/52 + 1/51 + \cdots + 1 = 4.54 張。

  • 只洗 k 次
  • 洗 k 次後再切一次牌
洗好的牌:4.54 張46102040平均猜中張數12345678910洗牌次數
逐張猜牌,猜完翻開再猜下一張。縱軸取對數。虛線是均勻隨機牌堆的期望值 4.54 張;洗五次還多猜中兩張,洗六次剩一張,之後每次大約減半。

洗五次,猜中 6.56 張,比洗好的牌多兩張;洗六次是 5.51 張,多一張;之後每次大約減半。

。一組事先挑好的檢查全部通過,說明的只是那幾個統計量正常。

只看紅黑,就不必洗那麼多次

玩二十一點的人不在意黑桃 7 和紅心 7 誰在前面,玩紅黑的人連花色都不看;七次回答的是「整副牌的排列」這個問題。

0.000.250.500.751.00分離距離123456789101112洗牌次數
同一副 52 張牌、同一套洗牌,五種問法各一條線。點按圖例只看其中幾條。分離距離與前一張圖的全變異距離定義不同,兩張圖的縱軸不能互相比較;這張圖內的五條線可以。

。他們用的是分離距離,數值不能拿去和上一張圖比大小,同一張表內的五條線則可以互相比較:問全副牌序,洗十二次仍有 0.278;二十一點看得見的牌值,第九次是 0.366;只問紅黑,第六次是 0.317。

。該文沒有據此給出「該洗幾次」的建議,收尾寫的是哪一種衡量更要緊,要看玩的是哪一種遊戲。

三題自測

三題,各一個常見的講法。做完再看解釋。

已作答 0 / 3
  1. 1

    「52 張牌要洗七次」這句話,最準確的讀法是哪一個?

  2. 2

    為什麼洗四次以下的牌堆,連「看起來像隨機」都做不到?

  3. 3

    賭場設備廠商的工程師跑了幾項檢查都正常,三位作者仍判定那台洗牌機不能用。兩邊的判準差在哪裡?

哪些說法對,哪些是誤讀

同一個結果,哪些說法精確,哪些是常見的誤讀。每條誤讀都配一句該怎麼改。

這樣說是對的

把數字連同它的距離一起講出來,讀者才知道 0.334 是什麼意思:任何一個檢驗,最多只能拿到三成三的優勢。

同一副牌、同一個距離,答案隨問題改變。說「夠亂了」之前要先說清楚是為了什麼用途。

結論的適用範圍等於模型的適用範圍。模型與人手之間的落差是實證問題,不是數學結果的一部分。

這樣說是錯的

距離從 1 連續降到 0,第七次是 0.334、第十次 0.043,沒有任何一次讓它等於 0。把陡降讀成門檻,等於把一條曲線讀成一道開關。

寫「洗牌的混合程度在第五次到第八次之間急劇下降,第七次的距離是 0.334」。

同一條公式給 32 張牌五到六次、104 張牌八到九次、312 張牌十一次以上;七次是 52 張牌的位置,隨 32log2n\frac{3}{2}\log_2 n 移動。

先說牌堆有幾張,再引對應的數值。

以資訊量衡量,52 張牌洗五次剩 3.52% 的資訊、六次剩 0.92%,而且沒有陡降。該文自己的收尾是:兩種衡量哪一種更要緊,要看玩的是哪一種遊戲。距離換了,答案就換了。

講「在全變異距離下,第七次是 0.334;改以資訊量衡量,五次剩 3.52%、六次剩 0.92%」,把判準寫進句子裡。

一組事先挑好的檢查通過,只說明這幾個統計量正常。同一台十層洗牌機通過了工程師自訂的檢查,卻讓懂行的玩家單次平均猜中 9.5 張,而洗好的牌是 4.5 張。

算距離,或算一個涵蓋所有檢驗的指標(例如最佳猜牌策略的期望猜中數),不要只列通過的檢查。

本文不主張的事

上面每個數字都算在 Gilbert–Shannon–Reeds 模型底下。真人手上的牌會不會照這個模型走是另一個問題,該文引的是 Diaconis 1988 年的實驗,本站沒有核對過那批實驗的資料。牌堆有重複牌時(同時洗兩副、或發牌前只用一部分),這裡的表不適用。

逐張猜牌那組數字來自模擬,每個數字十萬次,用的策略是原文推測的最佳策略,最佳性未經證明。分離距離那張表除第一列外是近似公式的結果,原文說明紅黑那一列在洗一次、兩次時與精確值 0.8898、0.8897 有差距。

本文也不給操作建議。「該洗幾次」要先講清楚這副牌拿來做什麼,而這件事該由使用它的人決定。

資料來源

  1. 1.劉太平、黃啟瑞(訪問)(2023)。有朋自遠方來——專訪 Persi Diaconis 教授,數學傳播 47 卷 2 期,中央研究院數學研究所。pp.3-26。訪問時間民國 112 年 3 月 6 日,地點中央研究院數學研究所;同期報導其應中華民國數學會與中研院數學所「許振榮講座」之邀,2023 年 3 月 8 日至 10 日在臺灣大學天文數學館以《洗牌的數學》為題演講三日。原文
  2. 2.Dave Bayer & Persi Diaconis(1992)。Trailing the Dovetail Shuffle to its Lair,The Annals of Applied Probability 2(2): 294–313。p.294 定理 1(洗 m 次後某個排列出現的機率)與 GSR 模型的描述;p.296 表 1(52 張牌的全變異距離);p.309 表 3(七種牌堆大小的精確值)與表 4(1.5 log2 n);p.310 表 5(逐張猜牌的平均猜中數)與 5.1 節。原文 ↑1↑2↑3↑4
  3. 3.J. J. O'Connor & E. F. Robertson(2023)。Persi Warren Diaconis,MacTutor History of Mathematics Archive, University of St Andrews。生年與出生地(1945 年 1 月 31 日,紐約市)、十四歲隨 Dai Vernon 離家、1971 年 1 月取得紐約市立學院數學學士、1974 年在 Mosteller 指導下取得哈佛博士、Martin Gardner 的推薦信。原文
  4. 4.David A. Levin & Yuval Peres(2017)。Markov Chains and Mixing Times,2nd ed. Providence: American Mathematical Society。第 8.3 節「Riffle Shuffles」pp.107-110:鴿尾式洗牌的三種等價描述(其中第三種是逆洗牌的位元標籤法)、命題 8.11 的強停止時間,以及命題 8.12 的上界 tmix2log2(4n/3)t_{\mathrm{mix}} \le 2\log_2(4n/3)。第 4.1 節 p.47 定義全變異距離,第 18 章 p.261 處理 cutoff 現象。原文 ↑1↑2
  5. 5.David Aldous & Persi Diaconis(1986)。Shuffling Cards and Stopping Times,The American Mathematical Monthly 93(5): 333–348。p.335:全變異距離的三個等價定義(2.3)、看見底牌就使距離等於 11/n1-1/n 的例子,以及 cut-off 現象的定義與圖 2。原文 ↑1↑2
  6. 6.Persi Diaconis, Jason Fulman & Susan Holmes(2013)。Analysis of Casino Shelf Shuffling Machines,The Annals of Applied Probability 23(4): 1692–1720。第 1 節:廠商送來的十層洗牌機、工程師自訂的檢查看起來沒問題,以及改用逐張猜牌算出的 9.5 張與 4.5 張(arXiv:1107.2961v2, pp.1–2)。原文
  7. 7.Sami Assaf, Persi Diaconis & K. Soundararajan(2011)。A rule of thumb for riffle shuffling,The Annals of Applied Probability 21(3): 843–875。第 1 節表 1:52 張牌在分離距離下,全牌序、二十一點、只看花色、只看紅黑四種問法各自的收斂數字(arXiv:0908.3462v1, p.3)。原文
  8. 8.Lloyd N. Trefethen & Lloyd M. Trefethen(2000)。How many shuffles to randomize a deck of cards?,Proceedings of the Royal Society A 456(2002): 2561–2568。p.2564 圖 2 的說明文字與同頁正文:改以資訊量衡量時沒有 cut-off,log2n\log_2 n 次就把資訊降到任意小的比例。原文