問題
- 假設有一個硬幣,拋出字(背面)和花(正面)的概率都是0.5,而且每次拋硬幣與前次結果無關。現在做一個游戲,連續地拋這個硬幣,直到連續出現兩次字為止,問平均要拋多少次才能結束游戲?注意,一旦連續拋出兩個“字”向上游戲就結束了,不用繼續拋。
上面這個題目我第一次見到是在pongba的TopLanguage的一次討論上,提出問題的人為Shuo Chen,當時我給出了一個解法,自認為已經相當簡單了,先來考慮一下拋硬幣的過程:首先先拋一枚硬幣,如果是花,那么需要重頭開始;如果是字,那么再拋一枚硬幣,新拋的這枚如果也是字,則游戲結束,如果是花,那么又需要重頭開始。根據這個過程,設拋硬幣的期望次數為T,可以得到關系
T = 1 + 0.5T + 0.5( 1 + 0.5 * 0 + 0.5T)
解方程可得到 T = 6. 由於上面這個方法只能得到期望,而無法得到方差以及具體某個事件的概率,后來我又仔細分析了一下,推出了概率生成函數為(推導的過程暫時略過,后面你會看到一個更一般、更簡單的推導)
於是可以算出方差 V = G''(1) + G'(1) - G'(1)^2 = 22。將G(z)根據Rational Expansion Theorem [CMath 7.3]展開,可以得到需要拋n次硬幣的概率為
其中Fn是Fibonacci數列的第n項。到這里,我覺得這個問題似乎已經完全解決了,直到昨天看到Matrix67的牛B帖。在此帖中Matrix67大牛用他那神一般的數學直覺一下將需要連續拋出n個字的一般情形給解決了,而且得出的結果相當簡潔:Tn = 2^(n+1) - 2,其中Tn為首次出現連續的n個字的期望投擲數。這也給了我一些啟發,我試着將上面的過程進行推廣,居然得到一個簡單得出人意料的解法(甚至比上面n=2的推導過程還簡單)。這個解法的關鍵在於下面這個遞推關系
Tn = Tn-1 + 1 + 0.5 * Tn
也即是有 Tn = 2 * Tn-1 + 2。由於 T1 = 2,因此可以得到 Tn = 2^(n+1) – 2。上面的遞推關系是怎么來的呢,一個直觀的理解是這樣的:首先先拋擲Tn-1次,得到連續的n-1個字,然后再拋一次,若是字,則游戲結束;否則需要重頭開始,也就是說又需要 Tn 次。
期望投擲次數已經得出來了,但是我們還想知道方差、恰好需要投擲 m 次的概率等其它一些更具體的性質。為了方便理解概率的分布情況,我先用程序生成了一個概率表如下所示。在下表中,第n行、第m列的元素為 Pnm,表示首次出現連續n個字的投擲數為m的概率。
| 1/2 | 1/4 | 1/8 | 1/16 | 1/32 | 1/64 | 1/128 | 1/256 | 1/512 | 1/1024 |
| 0 | 1/4 | 1/8 | 2/16 | 3/32 | 5/64 | 8/128 | 13/256 | 21/512 | 34/1024 |
| 0 | 0 | 1/8 | 1/16 | 2/32 | 4/64 | 7/128 | 13/256 | 24/512 | 44/1024 |
| 0 | 0 | 0 | 1/16 | 1/32 | 2/64 | 4/128 | 8/256 | 15/512 | 29/1024 |
| 0 | 0 | 0 | 0 | 1/32 | 1/64 | 2/128 | 4/256 | 8/512 | 16/1024 |
仔細觀察上表,你發現什么有趣的性質沒?如果忽略掉分母的話,那么第n行恰好是一個n階Fibonacci數列。例如可以考查各行的最后一列,有
第一行:1 = 1
第二行:34 = 21 + 13
第三行:44 = 24 + 13 + 7
第四行:29 = 15 + 8 + 4 + 2
第五行:16 = 8 + 4 + 2 + 1 + 1
怎么解釋這個現象呢?我們再來仔細考慮一下擲硬幣的過程,為方便在下文中用1表示字,用0表示花,於是我們的目標是要恰好使用m次投擲,得到連續的n個1.
若第一次的結果為 0,那么剩下的任務就是恰好使用m-1次投擲得到到連續的n個1.
若前兩次的結果為 10, 那么剩下的任務就是恰好使用m-2次投擲得到到連續的n個1.
若前三次的結果為 110, 那么剩下的任務就是恰好使用m-3次投擲得到到連續的n個1.
若前四次的結果為 1110, 那么剩下的任務就是恰好使用m-4次投擲得到到連續的n個1.
…
若前n-1次的結果為 1…10(n-2個1), 那么剩下的任務就是恰好使用1次投擲得到到連續的n個1.
你或許已經看出來了,這里實際上是在枚舉首次出現0的位置。由於首個0出現在位置i的概率為1/2^i,於是得到Pnm的遞推公式
於是根據初始條件:
,
,我們可以推出所有事件的概率。現在來推一下概率生成函數,設需要得到連續n個1的投擲數的概率生成函數為Gn(z),於是有
根據上面的遞推公式和初始條件,可以得到
於是可解得
分別代入 n = 1 和 n = 2 可以得到
以我們前面得到的結果一致,這證明這個概率生成函數的確是正確的。有了生成函數后,我們又多了一種計算期望的方式
而方差也可以非常容易的得到
至此,這個拋硬幣的問題終於應該算是被完全解決了,完。
————————————————————————————————————————————————
題目: 一個骰子,6面,1個面是 1, 2個面是2, 3個面是3, 問平均擲多少次能使1、2、3都至少出現一次。
方法: 面對面試概率題幾乎屢試不爽的分叉樹遞歸列方程法。
這是一個求數學期望的問題,最終是求1,2,3出現至少一次的最短長度的期望。
這樣分叉樹的每個節點是一個期望狀態,而每個分叉是一次投擲結果。將后續期望出現1、2、3各至少一次的情形記作L123(即題目所求),將后續期望出現1、2各至少一次(3無關)情形記作L12,而1至少一次(2,3無關)情形L1,其余數值符號類推,則樹結構如下(列出4級結構已經足夠):
| 第一級(樹根) | 第二級 | 第三級 | 第四級別 |
| L123 | 擲1->L23 | 擲1->L23 | 同狀態 |
| 擲2->L3 | 根據投擲結果,或繼續期待L3,或已經達到目標 | ||
| 擲3->L2 | 根據投擲結果,或繼續期待L2,或已經達到目標 | ||
| 擲2->L13 | 擲1->L3 | 根據投擲結果,或繼續期待L3,或已經達到目標 | |
| 擲2->L13 | 同狀態 | ||
| 擲3->L1 | 根據投擲結果,或繼續期待L1,或已經達到目標 | ||
| 擲3->L12 | 擲1->L2 | 根據投擲結果,或繼續期待L2,或已經達到目標 | |
| 擲2->L1 | 根據投擲結果,或繼續期待L1,或已經達到目標 | ||
| 擲3->L12 | 同狀態 |
接下來,就是要排出方程,因為一共7個未知數,如果排出7個線性方程就能解決問題。
這方程組里的未知數對應上述的狀態,而其數值則是一個對長度(投擲次數)的數學期望。
根據這個樹狀結構和其中的遞歸關系,這個方程組就是:
L123 = p1 (L23+ 1) + p2 (L13+1) + p3 (L12 + 1) = p1 L23 +p2 L13+ p3 L12 + 1
(以這個L123為例,解釋,投擲1的概率是p1而由此得到的結果是需要期待后續2和3各至少出現一次,於是長度期望是L23+ 1,加1是因為投擲了一次,亦即即增進一級)
L23 = p1 L23 +p2 L3+ p3 L2 + 1
L13 = p1 L3 +p2 L13+ p3 L1 + 1
L12 = p1 L2 +p2 L1+ p3 L12 + 1
L1 =p1 + p2 L1+ p3 L1 + 1
(這里實際上是 L1 =p1 ·1 + p2 (L1+1) + p3 (L1 +1) =p2 L1+ p3 L1 + 1,因為對L1情形,如果投了1就目的達到終止了)
L2 =p2 + p1 L2 + p3 L2 + 1
L3 =p3 + p1 L3 +p2 L3+ 1
(以上一開始沒注意,多加了懸空的概率項,故計算有誤)
其中 p1,p2 和 p3分別是擲出1,2和3的概率,即1/6,1/3,1/2。
於是求解這個方程,得到:
L1 = 6, L2 = 3, L3 = 2
L12 = 7, L13 = 13/2, L23 = 19/56
L123 = 219/30 = 7.3 259/36 ~= 7.14
故以上如果沒有計算錯誤,該題結果是,平均擲7.3 約7.14次可出現這些面值各至少一次。
——————————————————————————————————————————————
(轉自:http://www.cnblogs.com/atyuwen/archive/2010/09/12/coin.html)
問題:
一個骰子,6面,1個面是 1, 2個面是2, 3個面是3, 問平均擲多少次能使1,2,3都至少出現一次?
一共有三種方法可以解此問題:概率公式、分叉樹遞歸列方程法、指示器變量法。
1. 方法一:概率公式
化為概率的表示是:
1發生 的概率是1/6, 2發生的概率是2/6, 3發生的概率是3/6,求1,2,3至少出現一次的投擲次數的期望。
思路:
第一二次肯定不可能出現這種情況
第x(x > 2)次三個都出現的情況分三種(x ^ y 表示 x 的 y 次方)
1:第x次出現 1,那么前面出現的必然是 2 和 3 ,且至少出現一次
出現1的概率為 1 / 6,前面x-1次不出現1的概率為(1 - 1 / 6) ^ (x - 1),但是其中包含全是 2 和全是 3 的情況,去掉全 2 的概率 (1 / 2) ^ (x - 1),全部為3的概率(1 / 3) ^ (x - 1),那么情況 1 的概率為 ((1 - 1 / 6) ^ (x - 1) - (1 / 2) ^ (x - 1) - (1 / 3) ^ (x - 1)) * (1 / 6)
2:第x次出現2,那么前面出現的必然是 1 和 3 ,且至少出現一次
同樣,概率為 ((1 - 1 / 3) ^ (x - 1) - (1 / 2) ^ (x - 1) - (1 / 6) ^ (x - 1)) * (1 / 3)
3:第x次出現3,那么前面出現的必然是 1 和 2 ,且至少出現一次
同樣,概率為 ((1 - 1 / 2) ^ (x - 1) - (1 / 3) ^ (x - 1) - (1 / 6) ^ (x - 1)) * (1 / 2)
p(x)就為上面三種情況的和
那么,根據期望公式,平均值就等於從x = 3 到 n(無窮)求(x * p(x))的和
利用錯位相減法計算極限值


到此可以算出期望為7.3。
2. 方法二:分叉樹遞歸列方程法
方法: 面對面試概率題幾乎屢試不爽的分叉樹遞歸列方程法。
這是一個求數學期望的問題,最終是求1,2,3出現至少一次的最短長度的期望。
這樣分叉樹的每個節點是一個期望狀態,而每個分叉是一次投擲結果。將后續期望出現1、2、3各至少一次的情形記作L123(即題目所求),將后續期望出現1、2各至少一次(3無關)情形記作L12,而1至少一次(2,3無關)情形L1,其余數值符號類推,則樹結構如下(列出4級結構已經足夠):
| 第一級(樹根) | 第二級 | 第三級 | 第四級別 |
| L123 | 擲1->L23 | 擲1->L23 | 同狀態 |
| 擲2->L3 | 根據投擲結果,或繼續期待L3,或已經達到目標 | ||
| 擲3->L2 | 根據投擲結果,或繼續期待L2,或已經達到目標 | ||
| 擲2->L13 | 擲1->L3 | 根據投擲結果,或繼續期待L3,或已經達到目標 | |
| 擲2->L13 | 同狀態 | ||
| 擲3->L1 | 根據投擲結果,或繼續期待L1,或已經達到目標 | ||
| 擲3->L12 | 擲1->L2 | 根據投擲結果,或繼續期待L2,或已經達到目標 | |
| 擲2->L1 | 根據投擲結果,或繼續期待L1,或已經達到目標 | ||
| 擲3->L12 | 同狀態 |
接下來,就是要排出方程,因為一共7個未知數,如果排出7個線性方程就能解決問題。
這方程組里的未知數對應上述的狀態,而其數值則是一個對長度(投擲次數)的數學期望。
根據這個樹狀結構和其中的遞歸關系,這個方程組就是:
L123 = p1 (L23+ 1) + p2 (L13+1) + p3 (L12 + 1) = p1 L23 +p2 L13+ p3 L12 + 1
(以這個L123為例,解釋,投擲1的概率是p1而由此得到的結果是需要期待后續2和3各至少出現一次,於是長度期望是L23+ 1,加1是因為投擲了一次,亦即即增進一級)
L23 = p1 L23 +p2 L3+ p3 L2 + 1
L13 = p1 L3 +p2 L13+ p3 L1 + 1
L12 = p1 L2 +p2 L1+ p3 L12 + 1
L1 =p2 L1+ p3 L1 + 1
(這里實際上是 L1 =p1 ·1 + p2 (L1+1) + p3 (L1 +1) =p2 L1+ p3 L1 + 1,因為對L1情形,如果投了1就目的達到終止了)
L2 = p1 L2 + p3 L2 + 1
L3 = p1 L3 +p2 L3+ 1
其中p1,p2和p3分別是擲出1,2和3的概率,即1/6,1/3,1/2。
於是求解這個方程,得到:
L1 = 6, L2 = 3, L3 = 2
L12 = 7, L13 = 13/2, L23 = 19/5
L123 = 219/30 = 7.3
平均擲7.3 次可出現這些面值各至少一次。
3. 方法三:指示器變量法
【另一解法】感謝4樓aaaxingruiaaa同學提供的答案(指示器變量法),整理如下:
定義隨機變量Xn,其可能值為0或1,其值為1表示“前n次擲骰子,1,2,3沒能都至少出現一次”的事件,其值為0表示這個事件沒有發生,即“前n次擲骰子,1,2,3各至少出現一次”。
令pn為“擲n次骰子,1,2,3沒能都至少出現一次”的概率,所以顯然pn = Pr{Xn=1},於是pn = 1·Pr{Xn=1} + 0·Pr{Xn=1} = E[Xn],即這個隨機變量的數學期望。
令隨機變量X表示1,2,3剛好全部出現過需要的投擲次數。可見題目要求的就是E[X]。
關鍵等式:X = Sigma(n=0 to Inf; Xn) (這里Sigma是求和號,求和范圍是n從0到無窮大)
說明一下,等式兩邊都是隨機變量,假設對於某個隨機實例(例如,這里指一次具體的投擲序列),其對應事件是:“投了K次恰好1,2,3都出現了”,於是等式左邊顯然等於K;而等式右邊,對於n < K,由於這些項的對應定義事件發生了(即1,2,3沒能出現),所以他們的實例值是1,而對於n⩾K,則由於對應定義事件都沒發生,實例值為0,可見這個和也是K。故兩側相等。(為了達到這個相等關系,可以看出需要把X0包含在內的必要性)
值得注意的是(但對於解這道題也可以不去注意,但注意一下有利於比較深入地理解),對n < 3,Xn顯然恆為1。而對於n⩾3,這些隨機變量不是獨立的。他們的相關性是不容易求出的,唯一容易知道的是,當序列中一個項為0時,其后的項均為0。好在對於這題我們不需要擔憂這個相關性。
由於數學期望的加性與隨機變量的相關性無關(這是數學期望一個很令人高興的性質),所以即便這樣,E[X]也能容易求出:
E[X] = Sigma(n=0 to Inf; E[Xn]) = Sigma(n=0 to Inf; pn)
pn的比較直觀的求法也由aaaxingruiaaa同學提供了,即所謂容斥原理。稍微解釋一下,由於pn考慮的是n次投擲三者沒有全部出現,於是就是其中兩者出現或僅一者出現。假設單次投擲1,2和3出現的概率分別為:r1,r2和r3。於是(r1+r2)n表征n次投擲只出現1或2的概率,這其中包括了出現全1和全2的情形,於是求pn可由這樣的項求和並剔除重復計算的單面值情形,於是:
pn = (r1+r2)n+ (r1+r3)n+ (r2+r3)n-r1n-r2n-r3n,當n > 0; 而p0 = 1 (由定義;同時也可以檢驗看出,這個pn在n為1和2的時候都是1)
於是由等比級數(等比數列求和)公式:
E[X] = 1 + Sigma(n=1 to Inf; (r1+r2)n+ (r1+r3)n+ (r2+r3)n-r1n-r2n-r3n= 1 + (1 - r3) / r3 + (1 - r2) / r2 + (1 - r1) / r1- r1 / (1 - r1) - r2 / (1 -r2) -r3 / (1 - r3) = 7.3
http://blog.csdn.net/quanben/article/details/6918209
假設有一個硬幣,拋出字(背面)和花(正面)的概率都是0.5,而且每次拋硬幣與前次結果無關。現在做一個游戲,連續地拋這個硬幣,直到連續出現兩次字為止,問平均要拋多少次才能結束游戲?注意,一旦連續拋出兩個“字”向上游戲就結束了,不用繼續拋。
上面這個題目我第一次見到是在pongba的TopLanguage的一次討論上,提出問題的人為Shuo Chen,當時我給出了一個解法,自認為已經相當簡單了,先來考慮一下拋硬幣的過程:首先先拋一枚硬幣,如果是花,那么需要重頭開始;如果是字,那么再拋一枚硬幣,新拋的這枚如果也是字,則游戲結束,如果是花,那么又需要重頭開始。根據這個過程,設拋硬幣的期望次數為T,可以得到關系:
T = 1 + 0.5T + 0.5( 1 + 0.5 * 0 + 0.5T)
解方程可得到 T = 6。
或者根據公式,需要連續拋出n個字的一般情形,結果相當簡潔:Tn = 2^(n+1) - 2,其中Tn為首次出現連續的n個字的期望投擲數。
公式證明如下:
方法一:
設出現連續k次正面的期望是a[k]
則出現連續k+1次正面的期望為a[k+1]
在出現連續k次正面后,有下面幾種情況:
i)下一個是正面,概率1/2,總次數a[k]+1;
ii)下一個是反面,概率1/2,則接下來平均仍需a[k+1],總次數a[k]+1+a[k+1]。
因此a[k+1]=(a[k]+1)/2+(a[k]+1+a[k+1])/2
整理得(a[k+1]+2)/(a[k]+2)=2
a[n]=(a[1]+2)*2^(n-1)-2
顯然a[1]=2;a[n]=2^(n+1)-2
方法二:
轉自matrix67 http://www.matrix67.com/blog/archives/3638
設想有這么一家賭場,賭場里只有一個游戲:猜正反。游戲規則很簡單,玩家下注 x 元錢,賭正面或者反面;然后庄家拋出硬幣,如果玩家猜錯了他就會輸掉這 x 元,如果玩家猜對了他將得到 2x 元的回報(也就是凈賺 x 元)。
讓我們假設每一回合開始之前,都會有一個新的玩家加入游戲,與仍然在場的玩家們一同賭博。每個玩家最初都只有 1 元錢,並且他們的策略也都是相同的:每回都把當前身上的所有錢都押在正面上。運氣好的話,從加入游戲開始,庄家拋擲出來的硬幣一直是正面,這個玩家就會一直贏錢;如果連續 n 次硬幣都是正面朝上,他將會贏得 2^n 元錢。這個 2^n 就是賭場老板的心理承受極限——一旦有人贏到了 2^n 元錢,賭場老板便會下令停止游戲,關閉賭場。讓我們來看看,在這場游戲中存在哪些有趣的結論。
首先,連續 n 次正面朝上的概率雖然很小,但確實是有可能發生的,因此總有一個時候賭場將被關閉。賭場關閉之時,唯一賺到錢的人就是賭場關閉前最后進來的那 n 個人。每個人都只花費了 1 元錢,但他們卻贏得了不同數量的錢。其中,最后進來的人贏回了 2 元,倒數第二進來的人贏回了 4 元,倒數第 n 進來的人則贏得了 2^n 元(他就是賭場關閉的原因),他們一共賺取了 2 + 4 + 8 + … + 2^n = 2^(n+1) - 2 元。其余所有人初始時的 1 元錢都打了水漂,因為沒有人挺過了倒數第 n + 1 輪游戲。
另外,由於這個游戲是一個完全公平的游戲,因此賭場的盈虧應該是平衡的。換句話說,有多少錢流出了賭場,就該有多少的錢流進賭場。既然賭場的錢最終被贏走了 2^(n+1) - 2 元,因此賭場的期望收入也就是 2^(n+1) - 2 元。而賭場收入的唯一來源是每人 1 元的初始賭金,這就表明游戲者的期望數量是 2^(n+1) - 2 個。換句話說,游戲平均進行了 2^(n+1) - 2 次。再換句話說,平均拋擲 2^(n+1) - 2 次硬幣才會出現 n 連正的情況。
——————————————————————————————————————————————————————
轉自 http://www.cnblogs.com/aquastone/archive/2012/10/19/Prob_CoinContinuousNPositive.html
1. 問題描述
連續拋一枚硬幣,連續出現若干次正面即停止,求所拋總次數的期望。
2. 求解期望
記硬幣出現正面的概率為p,停止條件中連續出現正面的次數為n,所拋總次數的期望為μn。考慮如下情形:首次出現連續n−1次正面,此時所拋總次數的期望為μn−1。再拋一次,結果有且只有一下兩種:
- A. 出現正面,則滿足停止條件,所拋總次數的期望為μn−1+1
- B. 出現反面,則立即回到初始狀態,相當於從0開始再拋出n次連續正面,因此總次數的期望為μn−1+1+μn。A、B兩種情況的概率分別為p,1−p。因此有
得
展開,得通項公式
特別的,對於一枚均勻硬幣,p=1/2,因此μn=2n+1−2。
3. 概率計算
進一步考慮該問題,嘗試求解連續拋出n次正面時,所拋總次數為m的概率P(n,m)。顯然,
依然考慮第2節中的兩種情況。
- 對於A,在首次連續出現n−1次正面的情況下,再拋一次出現正面,滿足停止條件,因此需要前面總共拋了m−1次,這一概率為P(n−1,m−1)。
- 對於B,設首次連續出現n−1次正面時,已經拋了k次,再拋一次出現反面,立即回到初始狀態,因此,要滿足總次數為m,需要在后續的步驟里,恰好用m−k−1次拋出n次連續正面。因此B情況下的條件概率為∑kP(n−1,k)P(n,m−k−1)。
由全概率公式,得
實際上,可以由P(n,m)的遞推式(5)得出μn的遞推式(2)。依據期望的定義
第一項中的求和式可以寫成
第二項中的求和式可以寫成
可證。
4. 數值結果
根據P(n,m)的遞推式(5),寫出對應的Matlab程序如下。
N = 6; % numbers of continuous positive in stop conditions M = 3000; % total times when stop condition satisfied p = 1/2; % probability of positive % Initial Conditions. P is a matrix in size of N+1,M+1 and the element % with index n+1,m+1 stands for P(n,m) because there are no index 0. P = zeros(N+1,M+1); P(1,1) = 1; % Iteration for nn = 1:N for mm = 1:M tmp = 0; for kk = nn-1:mm-nn-1 tmp = tmp + P(nn-1+1,kk+1)*P(nn+1,mm-kk-1+1); end P(nn+1,mm+1) = P(nn-1+1,mm-1+1)*p + tmp*(1-p); end end P=P(2:end,2:end)'; % get rid of P(0,m) & P(n,0) semilogy(P); % no plot of P(0,m) disp(['Check the sum of probability:']); disp(sum(P)); disp(['Compute the expectation of total times:']); disp((1:M)*P);
為了產生直觀的印象,對p=1/2的情況計算前面幾項的結果。計算N=3,M=16,作出P(n,m)的半對數圖如下。

為了驗證∑mP(n,m)=1,以及根據此概率求期望∑mmP(n,m),將N,M增大至6,5000。程序輸出為
Check the sum of probability: 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 Compute the expectation of total times: 2.0000 6.0000 14.0000 30.0000 62.0000 126.0000
顯然,驗證了概率之和為1。另外,容易驗證所求出的期望與μn的通項公式(4)給出的結果是一致的。
5. 模擬驗證
使用Mote Carlo模擬的方法對這一問題進行仿真,代碼如下
len = 2e8; % length of random numbers N = (1:6)'; % numbers of continuous positive in stop conditions for pp = 1:length(N) res = rand(len,1)>0.5; % uniform distribution, >0.5 stands for positive currTotalTime = 0; % total times when stop condition satisfied contPosCntr = 0; % continuous positive appears numExper = 0; totalTimeRcd = nan(len,1); for ii = 1:len currTotalTime = currTotalTime+1; if (res(ii)) contPosCntr = contPosCntr+1; else contPosCntr = 0; end if (contPosCntr>=N(pp)) numExper = numExper+1; totalTimeRcd(numExper) = currTotalTime; contPosCntr = 0; currTotalTime = 0; end end meanT = mean(totalTimeRcd(1:numExper)); end
結果如下:
N=1: 2.000015 N=2: 6.000249 N=3: 14.001627 N=4: 29.985933 N=5: 62.000438 N=6: 126.052749
與理論結果一致。
6. 附注
該問題還有其他表現形式,如:
- 有一個通關游戲,設每關所需的時間固定為1,而通關概率為p。如果某關失敗,則必須重新從第一關打起。問通關的平均時間。
這類問題本質上是一致的,都可以歸結為在一系列連續實驗中,首次連續出現n次成功的平均時間。


![[z^n]G(z)=\frac{1}{2\sqrt{5}}(\frac{1+\sqrt{5}}{4})^{n-1}-\frac{1}{2\sqrt{5}}(\frac{1-\sqrt{5}}{4})^{n-1}=\frac{1}{2^n}F_{n-1}](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_W3pebl1HKHopPVxmcmFjezF9ezJcc3FydHs1fX0oXGZyYWN7MStcc3FydHs1fX17NH0pXntuLTF9LVxmcmFjezF9ezJcc3FydHs1fX0oXGZyYWN7MS1cc3FydHs1fX17NH0pXntuLTF9PVxmcmFjezF9ezJebn1GX3tuLTF9.png)








