引言:機率論中最反直覺的奇蹟
2003年,丹麥電腦科學家彼得·布羅·米爾特森(Peter Bro Miltersen)提出了一個轟動數學界的智力謎題——100名囚犯問題(100 Prisoners Problem):
- 監獄裡有編號為 $1$ 到 $100$ 的 $100$ 名死刑犯。典獄長在一個密室裡放了 $100$ 個抽屜(箱子),箱子外側貼著 $1$ 到 $100$ 的編號;箱子內部隨機放入了寫有 $1$ 到 $100$ 號碼的紙條(每個箱子一張,構成 $1$ 到 $100$ 的隨機排列)。
- 規則:每名囚犯依次獨自進入密室,最多可以打開 $50$ 個箱子尋找寫有自己編號的紙條。離開時必須將所有箱子恢復原狀,且一旦遊戲開始,囚犯之間絕對禁止任何形式的資訊傳遞或暗示(但在遊戲開始前可以共同商定策略)。
- 生死判定:只有當 全部 $100$ 名囚犯都找到自己的號碼 時,所有人才能被無罪釋放;哪怕只有 $1$ 人失敗,全體 $100$ 人立即處決。
如果每名囚犯都各自隨機打開 $50$ 個箱子(獨立隨機策略),單人成功率為 $50/100 = 1/2$。由於各人成敗相互獨立,全體生還的機率是令人絕望的:
$$\mathbb{P}(\text{全體生還})_{\text{獨立}} = \left(\frac{1}{2}\right)^{100} = \frac{1}{1,\!267,\!650,\!600,\!228,\!229,\!401,\!496,\!703,\!205,\!376} \approx 7.89 \times 10^{-31}$$然而,米爾特森的同事斯文·斯카이姆(Sven Skyum)發現了一個極為簡單的指標追蹤策略(Pointer-Following Strategy),在不傳遞任何1位元資訊的前提下,將全體生還率一舉提升到了 $31.18\%$(超過三分之一)!
第一章:指標追蹤策略與置換群的輪換分解
斯文·斯카이姆提出的策略只有三步(設囚犯自己的編號為 $k \in \{1, \dots, 100\}$):
- 第1步:進入密室後,首先打開外側標有自己編號的 第 $k$ 號箱子。
- 第2步:若箱內紙條號碼 $x_1 = k$,則成功;若 $x_1 \neq k$,下一步就去打開 第 $x_1$ 號箱子。
- 第3步:讀取新箱子裡的號碼 $x_2$,再去打開第 $x_2$ 號箱子……以此類推,沿著鏈條 $k \mapsto \sigma(k) \mapsto \sigma^2(k) \mapsto \cdots$ 追蹤,直到找到號碼 $k$ 或用完 $50$ 次機會。
flowchart TD
Start["囚犯 k 進入密室 (最多 50 次機會)"]
Step1["第 1 步: 打開第 k 號箱子,讀取紙條號碼 x = σ(k)"]
Check{"紙條號碼 x == k ?"}
Win["成功找到自己的號碼 k !"]
Limit{"已開箱次數 < 50 ?"}
Next["下一步: 將指標更新為第 x 號箱子並打開 (x ← σ(x))"]
Lose["超過 50 次仍未回到 k: 任務失敗 (全體處決)"]
Start --> Step1 --> Check
Check -- "是" --> Win
Check -- "否" --> Limit
Limit -- "是" --> Next --> Check
Limit -- "否 (所在輪換長度 ℓ > 50)" --> Lose
為什麼這個動作能創造奇蹟?在代數學中,箱子編號與內部紙條的對應關係是 $2n = 100$ 元對稱群 $S_{2n}$ 中的一個雙射置換 $\sigma$。由群論基本定理,任意有限置換 $\sigma \in S_{2n}$ 都可以唯一地分解為若干個不相交輪換(Disjoint Cycles)的乘積:
$$\sigma = C_1 \circ C_2 \circ \cdots \circ C_m, \qquad \sum_{i=1}^m |C_i| = 2n = 100$$因為 $\sigma$ 是雙射,從箱子 $k$ 出發沿著指標追蹤,絕不會陷入旁支死胡同,而必定沿著包含 $k$ 的唯一閉合輪換繞行一週,最終必然回到起點箱子 $k$(因為指向箱子 $k$ 的那張寫有號碼 $k$ 的紙條正是輪換中 $k$ 的前驅 $\sigma^{-1}(k)$)!因此:
- 囚犯 $k$ 能否在 $50$ 步內找到號碼 $k$,等價於包含 $k$ 的那個輪換的長度 $\ell$ 是否滿足 $\ell \le 50$。
- 全體 $100$ 名囚犯全部生還,當且僅當置換 $\sigma \in S_{100}$ 的輪換分解中沒有任何一個輪換的長度超過 $50$(即最大輪換長度 $L_{\max}(\sigma) \le 50$)!
第二章:長輪換計數定理與調和數 $1 - \ln 2$ 的嚴密推導
設總人數為 $2n$(此處 $2n = 100, n = 50$)。如果一個置換 $\sigma \in S_{2n}$ 含有長度嚴格大於 $n$ 的長輪換($\ell \in \{n+1, \dots, 2n\}$),由於兩個長度都大於 $n$ 的不相交輪換之和至少為 $(n+1)+(n+1) = 2n+2 > 2n$,在同一個置換中,長度 $\ell > n$ 的長輪換最多只能存在唯一一個!
這意味著事件 $E_\ell := \{\text{置換 }\sigma\text{ 含有長度為 }\ell\text{ 的輪換}\}$ 對 $\ell = n+1, n+2, \dots, 2n$ 是兩兩互斥(Mutually Exclusive)的!我們來精確計算滿足 $E_\ell$ 的置換個數:
- 從 $2n$ 個元素中選出構成該長輪換的 $\ell$ 個元素,共有 $\binom{2n}{\ell}$ 種選法;
- 將這 $\ell$ 個元素排成一個單一的閉合圓周輪換,共有 $(\ell - 1)!$ 種排法(圓排列);
- 剩下的 $2n - \ell$ 個元素可以任意排列,共有 $(2n - \ell)!$ 種排法。
將三者相乘,階乘發生驚人的約分:
$$|E_\ell| = \binom{2n}{\ell} \cdot (\ell - 1)! \cdot (2n - \ell)! = \frac{(2n)!}{\ell! \, (2n - \ell)!} \cdot (\ell - 1)! \, (2n - \ell)! = \frac{(2n)!}{\ell}$$除以總排列數 $|S_{2n}| = (2n)!$,得到含有長度為 $\ell > n$ 的輪換的精確機率僅為 $\mathbb{P}(E_\ell) = \frac{1}{\ell}$!利用互斥事件的可加性與調和數(Harmonic Number) $H_N = \sum_{k=1}^N \frac{1}{k}$,全體生還機率為:
$$\boxed{P_{\text{success}}(2n) = 1 - \sum_{\ell = n+1}^{2n} \frac{1}{\ell} = 1 - \left(H_{2n} - H_n\right) \xrightarrow{n \to \infty} 1 - \int_1^2 \frac{dx}{x} = 1 - \ln 2 \approx 30.685\%}$$對 $2n = 100, n = 50$,精確生還率為 $P_{\text{success}}(100) = 1 - (H_{100} - H_{50}) \approx 1 - 0.688172 = \mathbf{31.1828\%}$!
第三章:為什麼沒有傳遞資訊卻能逆天改命?——風險的完美耦合
為什麼單人成功率明明始終是 $50\%$(成功人數的數學期望在兩種策略下完全相同:$\mathbb{E}[\sum I_k] = 100 \times 0.5 = 50$),全體生還率卻暴漲了 $3.95 \times 10^{29}$ 倍?
flowchart TD
Pool["總失敗風險池固定: 期望失敗人數 E[失敗] = 50 人"]
Indep["獨立隨機策略: 100 人成敗相互獨立 (風險分散在幾乎所有平行宇宙)"]
Cycle["指標追蹤策略: 100 人命運綁定於同一個置換 σ 的輪換結構 (風險極端耦合)"]
ResI["99.99999999999999999999999999992% 的宇宙至少死 1 人 → 全體生還率 ≈ 7.89×10⁻³¹"]
ResC["68.82% 的宇宙(含 ℓ>50 長輪換)多人團滅;31.18% 的宇宙(全短輪換) 100 人全員生還!"]
Pool --> Indep --> ResI
Pool --> Cycle --> ResC
| 比較維度 | ① 獨立隨機策略 | ② 指標追蹤(輪換)策略 | |
|---|---|---|---|
| 單人成功機率 $\mathbb{P}(A_k)$ | $50.00\%$ | $50.00\%$(完全不變) | |
| 期望成功人數 $\mathbb{E}[X]$ | $50$ 人 | $50$ 人(完全不變) | |
| 囚犯間相關性 | 零相關(相互獨立) | 透過共享環境 $\sigma$ 的輪換結構強正相關 | |
| $100$ 人全體生還率 | $(1/2)^{100} \approx 7.89 \times 10^{-31}$ | $1 - (H_{100} - H_{50}) \approx 31.18\%$ | |
| $n \to \infty$ 漸近下界 | $0$(指數級歸零) | $1 - \ln 2 \approx 30.685\%$(恆定正常數) |
- 機率論中的耦合(Coupling)與團滅換生機:在規則「哪怕1人失敗即全員處決」下,失敗1人和失敗51人的懲罰完全相同。獨立策略把失敗風險均勻撒在所有樣本路徑上,導致幾乎每條路徑都有約50人失敗;而指標追蹤策略將所有人的命運耦合(Coupled)在同一個置換 $\sigma$ 的拓撲結構上——把所有的失敗高度濃縮進那 $68.82\%$ 含有 $\ell > 50$ 長輪換的排列裡(一旦失敗至少51人一起失敗),從而把整整 $31.18\%$ 的樣本空間徹底清空為「零失敗淨土」!
- 如果典獄長惡意排布紙條怎麼辦? 如果典獄長故意把紙條排成一個長度為 $100$ 的大輪換,生還率將降為 $0$。但囚犯們只需在進場前秘密商定一個隨機的重命名雙射 $\tau \in S_{100}$,將箱子 $x$ 視為 $\tau(x)$,則新置換 $\tau \sigma \tau^{-1}$ 的輪換結構被完全隨機化,無論典獄長如何做手腳,生還率依然嚴格保持 $31.18\%$!
