把這道最古老的題目,乾淨地擺好
一位賭徒帶著 a 元上場。每一局她押一元賭一枚公平硬幣:正面贏一元,反面輸一元。她一直玩到財富歸 0(破產),或攀升到 N(她把賭桌掃空、滿載而歸)為止。每個人都會問的兩個問題是:她破產(而非抵達 N)的機率是多少?以及這場賭局平均能撐多久?這就是經典的賭徒破產問題,也是檢驗你在這一階所打造之機器的完美第一個標靶。
令 X(n) 為她在 n 局之後的財富,X(0) = a。那麼 X(n) 恰恰就是你已認識的簡單隨機漫步——從 a 出發,每步以機率 1/2 走 +1 或 -1,只是多了兩道牆:在 0 處有一個吸收障壁,在 N 處還有另一個。漫步一碰到牆,賭局就停。底下的一切,不過是透過「公平賭局」這副鏡片,仔細地把那場漫步讀一遍。
第一個鞅:財富本身
這裡是整座拱橋的拱心石。因為硬幣公平,財富 X(n) 本身就是一個相對於「至今所玩各局所生成」之自然過濾的鞅。給定截至第 n 局的一切,下一步以相等的勝算為 +1 或 -1,所以 X(n+1) 的條件期望是 X(n) + (1/2)(+1) + (1/2)(-1) = X(n)。公平賭局平均上既不向上也不向下漂移——這正是「身為鞅」的全部內涵,而先前的指南已教會你一眼認出它。
令 T 為漫步首次碰到 0 或 N 的那一局。由第三篇你已知 T 是個停時:要決定是否在第 n 局停下,你只需要截至第 n 局的財富,從不必偷看未來。現在我們想說 E[X(T)] = X(0) = a——停下時的平均財富等於起始財富。這正是最佳停止定理的承諾,但僅當其條件成立時才對,所以我們必須去檢查條件,而非逕自假設。
適用於此處、最乾淨的那一版最佳停止定理,要求一個直到時間 T 為止都有界的鞅,而我們正好有:在兩牆之間財富始終落在 [0, N] 內,所以對所有 n 皆 |X(n 與 T 取小者)| <= N。(我們還需要 T 以機率 1 為有限——此處確實如此,因為從任一內部點出發,在停下前連續 N 步朝同一方向走的機率為正,所以賭局無法永遠閃避兩道牆。)有了有界的鞅與幾乎必然有限的停時,最佳停止定理便嚴格成立:E[X(T)] = a,到此為止。
讀出破產機率
賭局停下時,財富恰好就是兩道牆之一:X(T) 不是 0 就是 N,中間什麼也沒有。所以 X(T) 是個只取兩個值的小小隨機變數,它的期望輕鬆就能寫下。令 p 為賭徒抵達 N(圓滿結局)的機率。那麼她以機率 1 - p 在 0 處破產。由期望的線性,E[X(T)] = p * N + (1 - p) * 0 = p * N。
現在把 E[X(T)] 的兩個表達式畫上等號。最佳停止定理給了我們 E[X(T)] = a;兩點計算給了我們 E[X(T)] = p * N。於是 p * N = a,圓滿結局的機率就是簡單的 p = a / N。破產機率則是其補事件,1 - a / N = (N - a) / N。一個鞅、一條定理、一行代數——著名的答案便應聲落地。
Fair game, start at a, walls at 0 and N, T = first hitting time.
Martingale: X(n) is a martingale -> E[X(T)] = X(0) = a
Stopped value: X(T) in {0, N} -> E[X(T)] = p*N + (1-p)*0
Set equal: p * N = a
P(reach N) = p = a / N
P(ruin at 0)= 1 - p = (N - a) / N
Example a = 30, N = 100: P(reach 100) = 0.30, P(ruin) = 0.70拿這條公式對著直覺驗一下。從正中間出發,a = N/2,你會得到 p = 1/2——完美對稱,對公平硬幣而言恰恰正確。帶著 a = 30 去對賭一張值 N = 100 的賭桌,你掃空它的機會只有 0.30:即使在一場全然公平的賭局裡,錢少的玩家被破產的機率仍遠高得多,純粹因為她在觸底之前,能吸收連敗的餘地更小。公平存在於平均的那一步,而不在存活的勝算裡。
第二個鞅:賭局能撐多久?
破產機率用的是鞅 X(n)。要找出期望時長 E[T],我們需要第二個、稍微更聰明的鞅。考慮 M(n) = X(n)^2 - n。它是鞅嗎?每一步把財富改變 +1 或 -1,所以財富的平方改變 (X(n) +- 1)^2 - X(n)^2 = +- 2 X(n) + 1;其中 +- 2 X(n) 那一項因步伐對稱而平均為 0,留下 X(n)^2 平均每局恰好增加 +1。減去 n 恰恰抵消這份內建的漂移,於是 E[M(n+1) 給定過去] = M(n)。修正後的過程 M(n) = X(n)^2 - n 是個道道地地的鞅。
把最佳停止定理套用到 M 上。技術上的謹慎在精神上是一樣的:X(n 與 T 取小者)^2 以 N^2 為界,而雖然 -n 那一項無界,但此處 T 有有限期望(這個事實你可以姑且信之,或用同一套碰牆論證去證明),這就足以讓 E[M(T)] = M(0) 成立。它給出 E[X(T)^2 - T] = X(0)^2 - 0,即 E[X(T)^2] - E[T] = a^2。鞅裡頭那個減 T,正是把 E[T] 偷渡進一條我們解得開的方程的關鍵。
現在重用我們已知的結果作收尾。X(T) 是 0 或 N,所以 X(T)^2 是 0 或 N^2,而 E[X(T)^2] = p * N^2 + (1 - p) * 0 = p * N^2 = (a/N) * N^2 = a * N,這裡用了先前的 p = a/N。代入:a * N - E[T] = a^2,整理得 E[T] = a * N - a^2 = a (N - a)。期望局數就是簡單的 a 乘以 (N - a)。代入 a = 30、N = 100:賭局平均持續 30 * 70 = 2100 局。一個「小小的」公平賭注,可能要花上極久才見分曉。
這套方法會在哪裡出錯——以及偏心版本
這份俐落可能哄你跳過條件,而最佳停止定理是真有獠牙的。拿掉一道牆——讓賭徒玩公平硬幣、沒有上方目標、只一路向 0 ——答案就徹底變了。財富仍是鞅,但如今它不再有上界,而盲目套用最佳停止定理會「證出」E[X(T)] = a,儘管 X(T) 永遠等於 0(在單牆公平賭局裡她以機率 1 破產),這荒謬地說出 a = 0。這條天真的方程之所以崩潰,是因為無界的單側漫步違反了可積條件;缺的那味,正是兩牆版本免費奉送的一致可積性(或一個有界/有限停時條件)。
誠實的教訓是:最佳停止定理並非一張隨你高興就把 E[X(T)] 換成 E[X(0)] 的許可證。它需要一個真切的理由——一個有界的停止過程、一個一致可積的族、或一個有界的停時——而兩牆破產問題之所以如此乾淨,恰恰因為那兩道牆把這份有界性遞到你手上。在你寫下 E[X(T)] = X(0) 之前,永遠先說出你的理由。
最後,偏心賭局展示了為何這套鞅方法值得你費心。若正面機率為 q(而非 1/2),財富本身就不再是鞅——它成了一個會漂移的下鞅或上鞅。補救之道是著名的乘積鞅:令 r = (1-q)/q,盯著 Y(n) = r^(X(n))。一行條件期望就能證出 E[r^(X(n+1)) 給定過去] = r^(X(n)),所以即便有偏心 Y(n) 仍是鞅,而完全同一套「先最佳停止、再兩點」的套路,便交出 P(抵達 N) = (1 - r^a) / (1 - r^N)。差分方程法會逼你去解一條遞迴;鞅法只要求你找出那個「平均維持不變」的對的東西。