第一部分:一般性理論(注定的概率論)第一章引入
第1章 引言
1.1 生日問題
1.1.1 陳述問題
1.1.2 解決問題
1.1.3 對問題和答案的推廣:效率
1.1.4 數值檢驗
1.2 從投籃到幾何級數
1.2.1 問題和解答
1.2.2 相關問題
1.2.3 一般問題的解決技巧
1.3 賭博
1.3.1 2008年超級盃賭注
1.3.2 預期收益
1.3.3 對沖的價值
1.3.4 結論
1.4 總結
1.5 習題
第1章 引言
1.1 生日問題
這個問題是機率論入門的經典案例,不僅有趣,還能引出獨立性、互補機率、近似計算等核心概念。我們會一步步拆開問題的本質,從陳述到推廣,把每個環節講透。
1.1.1 陳述問題
生日問題的核心是:「房間裡需要多少人,才能保證至少兩人生日在同一天的機率不小於50%?」但這個看似簡單的問法,其實藏著很多隱藏假設,不把這些假設說清楚,計算結果會完全失真。 首先,我們需要明確三個關鍵假設:
1. **生日均勻分佈**:
每個人出生在一年中任何一天的機率相等(不考慮2月29日,一年按365天計)。現實中,生日可能因季節、節日等因素並非完全均勻,但這是簡化計算的基礎,後續會提到放寬假設的影響。
2. **生日獨立**:
一個人的生日不會影響其他人的生日(比如雙胞胎、家庭聚會中家人的生日可能相關,需排除這類特殊場景)。
3. **不考慮閏日**:
2月29日出生的人占比極低,暫時忽略,後續可擴充計算。 為什麼要強調這些假設?舉個例子:加拿大青少年曲棍球聯賽的選手生日多集中在1-2月(因為年齡分界點是1月1日,年齡稍大的選手更易脫穎而出),如果房間裡都是這類選手,生日分佈極不均勻,計算結果會完全不成立。 因此,生日問題的嚴謹陳述是:「假設客人的出生日期相互獨立,且每個人等可能地出生在一年365天中的任何一天(不含2月29日),房間裡至少需要多少人,才能使至少兩人生日相同的機率≥50%?」
1.1.2 解決問題
面對這類「至少一個」的機率問題,直接計算往往很麻煩(需要列舉「恰好2人相同」「恰好3人相同」等所有情況),此時**互補機率法**是救命稻草:先計算「所有人生日都不同」的機率,再用1減去這個機率,就是「至少兩人生日相同」的機率。
步驟1:
計算「n人生日都不同」的機率
第1個人:生日可以是365天中的任意一天,機率為 。
第2個人:生日不能與第1人相同,需從剩下的364天中選,機率為。
第3個人:生日不能與前2人相同,需從剩下的363天中選,機率為 。
...
第n個人:生日不能與前n-1人相同,需從剩下的 \( 365 - (n-1) \) 天中選,機率為。
由於生日獨立,「所有人生日都不同」的機率是上述機率的乘積: 用階乘符號簡化(記
:
分子是「從365天中選n天並排序」的方法數,即,因此: 
步驟2:
計算「至少兩人相同」的機率 根據互補機率公式: \[ P(\text{至少兩人相同}) = 1 - P(\text{全不同}) = 1 - \frac{365!}{365^n \times (365 - n)!} \]
步驟3:
試錯法找n的最小值 我們需要找到最小的n,使得。
直接計算階乘會溢出,因此採用逐項相乘的方式:
n=20:P(至少兩人相同)≈41.1%
n=23:P(至少兩人相同)≈50.7%
n=30:P(至少兩人相同)≈70.6%
n=50:P(至少兩人相同)≈97.0%
驚人的結論:只需23人,至少兩人生日相同的機率就超過50%!這也是為什麼大班授課的教授常和學生打賭——23人以上時,教授獲勝的機率已經很高。
程式驗證(Mathematica代碼解釋)
原書給出的代碼用於驗證上述結果,核心邏輯如下:
1. 初始化兩個列表:`noshare`(儲存「全不同」的機率)、`share`(儲存「至少兩人相同」的機率)。
2. 循環計算n從2到50的機率: - 每次計算新的乘積因子 \( \frac{365 - (n-1)}{365} \)。 - 更新「全不同」的機率,再計算「至少兩人相同」的機率(1 - 全不同機率)。
3. 繪圖展示機率隨n的變化(如圖1-2)。 這段代碼的好處是避免直接計算大階乘,通過逐項相乘節省記憶體,同時直觀展示機率增長趨勢。
1.1.3 對問題和答案的推廣:
效率 上述計算僅解決了「一年365天」的特殊情況,如果推廣到「一年D天」(如火星一年約687天),難道要重新計算嗎?當然不用!我們可以通過近似計算,得到通用公式。
關鍵工具:
泰勒展開與近似 當x很小時,對數函數的泰勒展開式為:(x越小,誤差越小)
對「全不同」的機率取對數,轉化為和的形式(對數將乘積轉化為和,是機率論常用技巧): \[ \log P(\text{全不同}) = \sum_{k=0}^{n-1} \log\left(1 - \frac{k}{365}\right) \approx \sum_{k=0}^{n-1} \left(-\frac{k}{365}\right) \]
利用等差數列求和公式,代入得:
\[ \log P(\text{全不同}) \approx -\frac{(n-1)n}{2 \times 365} \]
我們希望 \( P(\text{至少兩人相同}) = 1 - P(\text{全不同}) \geq 0.5 \),即 \( P(\text{全不同}) \leq 0.5 \)。
兩邊取對數(對數是單調遞增函數,不等號方向不變):
\frac{(n-1)n}{2 \times 365} \leq \log(0.5) \] 由於 \( \log(0.5) = -\log 2 \),
整理得: 
當n較大時,,因此: 
(D為一年的天數)
通用公式驗證
地球(D=365):\( n \approx \sqrt{2 \times 365 \times 0.693} \approx 22.49 \),與實際結果23幾乎一致。
火星(D=687):\( n \approx \sqrt{2 \times 687 \times 0.693} \approx 31 \),即火星上只需31人,至少兩人生日相同的機率就達50%。 如果想要更精確的近似,可使用 \( (n-1)n \approx (n - 0.5)^2 \),此時: \[ n \approx 0.5 + \sqrt{2 \times D \times \log 2} \] 代入D=365,得n≈22.99,與23的誤差僅0.01,幾乎可以忽略。
1.1.4 數值檢驗
理論計算後,需要通過數值模擬驗證結果是否可靠。原書給出的Mathematica代碼`birthdaycdf`核心邏輯如下:
程式步驟
1. 初始化參數:`num`(實驗次數)、`days`(一年天數)。
2. 循環進行`num`次實驗:
每次實驗模擬「逐人進房,直到出現生日相同」的過程。
記錄首次出現生日相同時的人數k,並更新相應計數。
3. 計算不同人數下「至少兩人相同」的累積機率,並與理論值對比(如圖1-4)。
實驗結果
當實驗次數為10萬次、D=365時,理論值與實驗值幾乎重疊,驗證了理論計算的正確性。其中,在 \( 0.5 + \sqrt{365 \times \log 4} \approx 23 \) 人時,實驗得到的機率約為47.8%,與理論值50.7%的誤差來自實驗誤差,增加實驗次數可進一步縮小誤差。
1.2 從投籃到幾何級數
這節通過籃球投籃競賽的問題,引入幾何級數、無記憶進程、代回法等核心技巧,這些技巧不僅能用於機率論,還能推廣到微積分、組合數學等領域。
1.2.1 問題和解答
問題陳述
拉里·伯德(命中率p)和魔術師約翰遜(命中率q)輪流投籃,伯德先投,先命中者獲勝。假設每次投籃獨立,且命中率不變,求伯德獲勝的機率。
關鍵觀察
伯德獲勝的情況分為:
1. 第1次投籃命中:機率p。
2. 第1次伯德未命中(機率1-p),魔術師也未命中(機率1-q),之後伯德獲勝:機率 \( (1-p)(1-q) \times P(\text{伯德獲勝}) \)。
這裡的核心是「無記憶性」:前兩人都未命中後,比賽回到初始狀態,伯德獲勝的機率不變。
解法1:
幾何級數求和 伯德獲勝的機率是無窮級數之和:
\[ P(\text{伯德獲勝}) = p + (1-p)(1-q)p + (1-p)^2(1-q)^2p + \cdots \] 這是一個首項a=p、公比r=(1-p)(1-q)的幾何級數。 幾何級數公式:當 \( |r| < 1 \) 時,\( \sum_{n=0}^{\infty} ar^n = \frac{a}{1 - r} \)。這裡r=(1-p)(1-q)≤1,且僅當p=0或q=0時r=1(此時比賽可能無限進行,但實際中p、q>0,故r<1)。
代入公式得: \[ P(\text{伯德獲勝}) = \frac{p}{1 - (1-p)(1-q)} \]
解法2:
代回法(無記憶性) 設x為伯德獲勝的機率,根據無記憶性: \[ x = p + (1-p)(1-q)x \]
第一項p:伯德第1次命中。
第二項(1-p)(1-q)x:前兩人都未命中,比賽重置,伯德獲勝機率仍為x。 解這個方程: \[ x - (1-p)(1-q)x = p \] \[ x = \frac{p}{1 - (1-p)(1-q)} \] 與幾何級數解法結果一致。
幾何級數公式的兩種證明
1. **標準證明**:
設 \( S_n = 1 + r + r^2 + \cdots + r^n \),則 \( rS_n = r + r^2 + \cdots + r^{n+1} \)。 兩式相減:\( S_n - rS_n = 1 - r^{n+1} \),即 \( S_n = \frac{1 - r^{n+1}}{1 - r} \)。 當 \( |r| < 1 \) 時,\( \lim_{n \to \infty} r^{n+1} = 0 \),故 \( \sum_{n=0}^{\infty} r^n = \frac{1}{1 - r} \)。
2. **機率證明**:
由解法1和解法2的結果相等,得 \( p \sum_{n=0}^{\infty} r^n = \frac{p}{1 - r} \)(p≠0),兩邊除以p即得幾何級數公式。
1.2.2 相關問題
例1:斐波那契數列的無窮級數求和
求,其中 \( F_n \) 是斐波那契數列(
)。
解法:
利用遞推關係+代回法 設,展開級數:
調整下標(令m = n-1和m = n-2):
 
 
代入原式得:解得
。
例2:三人抽牌獲勝問題
Alice、Bob、Charlie輪流抽牌,第一個抽到方塊的人獲勝。抽牌後若未中則放回洗牌,Alice先抽,求三人分別獲勝的機率。
關鍵:
避免錯誤假設
初始錯誤邏輯:
設x為Alice獲勝機率,則(第一輪都未中,重置),解得
。
但實際上,Bob獲勝的機率應為
(Alice先未中,之後Bob的獲勝機率等於Alice初始機率),
Charlie的機率。
正確計算:
由於 ,代入
、
:
程式驗證:模擬100萬次抽牌,Alice獲勝機率約43.2%,Bob約32.4%,Charlie約24.4%,與理論值一致。
1.2.3 一般問題的解決技巧
通過籃球投籃問題的推廣,總結出解決複雜機率問題的通用步驟:
1. 清晰定義問題與符號
符號要兼具描述性和簡潔性,例如用 \( x_{k;N}(p) \) 表示「第k個投籃者、共N人、命中率p時的獲勝機率」。 - 明確隱藏假設(如投籃命中率不變、獨立等)。
2. 從簡單情形入手
先分析N=1(僅1人投籃,必勝,)、N=2(兩人投籃,
)等簡單情況,找規律。
簡單情形的結果可作為驗證複雜情形的依據。
3. 利用遞推關係與無記憶性
若問題具有「重置性」(如前幾次失敗後回到初始狀態),可通過代回法建立方程,避免無窮級數求和。
遞推關係是連接簡單情形與複雜情形的橋樑。
4. 驗證結果合理性
通過極端值驗證(如p=0時,伯德獲勝機率為0;p=1時,伯德獲勝機率為1)。 - 編程模擬或數值計算,確定理論結果與實際一致。
1.3 賭博
賭博是機率論的重要起源之一,這節通過2008年超級盃賭注的真實案例,講解預期收益、對沖等核心概念,並強調「提出正確問題」的重要性——是最大化預期收益,還是最大化最低保證收益?
1.3.1 2008年超級盃賭注
背景
Bob下注500美元,押愛國者隊贏超級盃,賠率1000:1(若獲勝得50萬美元,輸則損失500美元)。比賽中,愛國者隊領先時,拉斯維加斯提出以300:1的賠率買回下注(給Bob15萬美元,終止下注),Bob拒絕,最終愛國者隊輸球,Bob一無所獲。
核心問題
Bob的選擇是否明智?從機率論角度,如何評估這個決策?
1.3.2 預期收益計算
預期收益是「每種結果的收益×對應機率」之和,用於衡量賭注的平均收益。
假設條件
愛國者隊獲勝機率p=0.8(拉斯維加斯給出的賠率隱含此機率)。
若押巨人隊贏,每下注1美元,獲勝則得x=3美元(鼓勵押弱隊,x>2)。
Bob額外下注B美元押巨人隊贏。
收益計算
愛國者隊獲勝(機率0.8):收益=50萬美元 - 500美元(初始下注)
B美元(額外下注)。
巨人隊獲勝(機率0.2):收益=3B美元 - 500美元 - B美元=2B - 500美元。
預期收益公式
化簡得:
從公式可見:押巨人隊的金額B越大,預期收益越低(因為p=0.8,愛國者隊獲勝機率更高)。但這是否意味著不該押巨人隊?
1.3.3 對沖的價值
預期收益的分析有誤導性——大多數人是「風險規避者」,更願意接受有保證的收益,而非高風險的高回報。此時需要計算「最低保證收益」:無論比賽結果如何,Bob至少能獲得的收益。
最低保證收益計算
最低收益是兩種結果中的較小值: \[ \text{最低收益} = \min(500000 - 500 - B, 2B - 500) - 500 - B \] (減去總下注額500+B,得到淨收益)
要最大化最低收益,需讓兩種結果的收益相等(臨界點): \[ 500000 - 500 - B = 2B - 500 \]
解得 \( B = \frac{500000}{3} \approx 166667 \) 美元。
此時,最低保證淨收益為: \[ 2 \times 166667 - 500 - (500 + 166667) = 332833 \] 美元。
這意味著:通過押166667美元在巨人隊上,Bob無論比賽結果如何,都能保證淨賺33萬美元,完全規避風險!
1.3.4 結論
Bob的錯誤在於過度關注「最大化最高回報」(50萬美元),而忽視了「最小化風險」。從風險規避的角度,對沖是更明智的選擇——即使預期收益略低,但能保證穩定盈利。
這節的核心啟示:機率論不僅是計算「平均收益」,更重要的是根據自身風險偏好,提出正確的決策問題(是追求高收益還是穩定收益)。
1.4 總結
第1章通過三個經典問題,引出了機率論的核心技巧和思想:
1. **互補機率法**:
解決「至少一個」類問題的利器(生日問題)。
2. **幾何級數求和**:
處理無窮次獨立重複試驗的收益/機率(投籃問題)。
3. **代回法與無記憶性**:
簡化遞推關係,避免複雜計算(投籃、抽牌問題)。
4. **對沖思想**:
在風險與收益之間尋找平衡(賭博問題)。 5. **從簡單情形入手**:通過特殊情況找規律,驗證複雜情形的結果。 這些技巧不僅能用於本章的問題,還會貫穿整個機率論課程。此外,本章還強調了「問題陳述的嚴謹性」——隱藏假設、符號定義都會影響最終結果,這是解決所有數學問題的基礎。
1.5 習題精選(附提示)
1. **習題1.5.1**:兩人出生在同一月的機率?最多相差一個月的機率?
提示:一年12個月,均勻獨立,同一月的機率=12×(1/12)×(1/12)=1/12;
最多相差一個月包含「同一月」「相鄰月」,相鄰月有12×2種(1月與12月相鄰),
故機率=(12 + 24)/(12×12)=3/12=1/4。
2. **習題1.5.3**:平均需要多少人,才能使至少兩人生日相同?
提示:計算期望 \( E = \sum_{n=1}^{366} n \times P(\text{第n人是首次出現生日相同}) \),利用生日問題的機率公式,最終結果約24.6人。
3. **習題1.5.14**:100人登機,第一人隨機選座位,其餘人優先坐自己的座位,
第100人坐自己座位的機率?
提示:從簡單情形入手(n=2、n=3),發現機率恆為1/2,與n無關。
4. **習題1.5.38**:兩種遊戲:A遊戲穩賺40美元,B遊戲50%機率賺100美元、50%賠0,玩1次、10次、100次時選哪個? 提示:玩1次時,風險規避者選A;玩100次時,根據大數定律,B的期望收益(50美元/次)高於A,選B。 -
