日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

抛硬币直到连续若干次正面

發布時間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 抛硬币直到连续若干次正面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 問題描述

連續拋一枚硬幣,連續出現若干次正面即停止,求所拋總次數的期望。

2. 求解期望

記硬幣出現正面的概率為$p$,停止條件中連續出現正面的次數為$n$,所拋總次數的期望為$\mu_n$。考慮如下情形:首次出現連續$n-1$次正面,此時所拋總次數的期望為$\mu_{n-1}$。再拋一次,結果有且只有一下兩種:

  • A. 出現正面,則滿足停止條件,所拋總次數的期望為$\mu_{n-1}+1$
  • B. 出現反面,則立即回到初始狀態,相當于從0開始再拋出$n$次連續正面,因此總次數的期望為$\mu_{n-1}+1+\mu_n$。A、B兩種情況的概率分別為$p,1-p$。因此有

$$\begin{equation} \label{munAB} \mu_n=p(\mu_{n-1}+1)+(1-p)(\mu_{n-1}+1+\mu_n) \end{equation}$$

$$\begin{equation} \label{munDev} \mu_n=\frac{1}{p}(\mu_{n-1}+1) \end{equation}$$

展開,得通項公式

$$\begin{equation} \label{} \end{equation}$$

$$\begin{equation} \label{munGen} \mu_n=\frac{s(1-s^n)}{1-s}, \quad s=\frac{1}{p} \end{equation}$$

特別的,對于一枚均勻硬幣,$p=1/2$,因此$\mu_n=2^{n+1}-2$。

3. 概率計算

進一步考慮該問題,嘗試求解連續拋出$n$次正面時,所拋總次數為$m$的概率$P(n,m)$。顯然,

$$P(n,m)=0 \quad m<n \\ P(0,m)=\left\{ \begin{array}{P0m} 1 & m=0 \\ 0 & m \ge 1 \end{array} \right. $$

依然考慮第2節中的兩種情況。

  • 對于A,在首次連續出現$n-1$次正面的情況下,再拋一次出現正面,滿足停止條件,因此需要前面總共拋了$m-1$次,這一概率為$P(n-1,m-1)$。
  • 對于B,設首次連續出現$n-1$次正面時,已經拋了$k$次,再拋一次出現反面,立即回到初始狀態,因此,要滿足總次數為$m$,需要在后續的步驟里,恰好用$m-k-1$次拋出$n$次連續正面。因此B情況下的條件概率為$\sum_{k}P(n-1,k)P(n,m-k-1)$。

由全概率公式,得

$$\begin{equation} \label{PnmDev} P(n,m)=pP(n-1,m-1)+(1-p)\sum_{k}P(n-1,k)P(n,m-k-1) \end{equation}$$

實際上,可以由$P(n,m)$的遞推式($\ref{PnmDev}$)得出$\mu_n$的遞推式($\ref{munDev}$)。依據期望的定義

$$\mu_n=\sum_{m}mP(n,m) \\ =p\sum_{m}mP(n-1,m-1)+(1-p)\sum_{m}\sum_{k}mP(n-1,k)P(n,m-k-1) $$

第一項中的求和式可以寫成

$$\sum_{m-1}(m-1+1)P(n-1,m-1)=\sum_{m-1}(m-1)P(n-1,m-1)+\sum_{m-1}P(n-1,m-1) \\ =\mu_{n-1}+1$$

第二項中的求和式可以寫成

$$\sum_{m}\sum_{k}(k+1+m-k-1)P(n-1,k)P(n,m-k-1) \\ =\sum_k kP(n-1,k)\sum_m P(n,m-k-1) + \sum_k P(n-1,k)\sum_m P(n,m-k-1) + \sum_k \sum_m (m-k-1)P(n-1,k)P(n,m-k-1) \\ = \mu_{n-1}+1+\mu_{n}$$

可證。

4. 數值結果

根據$P(n,m)$的遞推式($\ref{PnmDev}$),寫出對應的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:Nfor mm = 1:Mtmp = 0;for kk = nn-1:mm-nn-1tmp = tmp + P(nn-1+1,kk+1)*P(nn+1,mm-kk-1+1);endP(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)$的半對數圖如下。

?

為了驗證$\sum_{m}P(n,m)=1$,以及根據此概率求期望$\sum_{m}mP(n,m)$,將$N,M$增大至$6,5000$。程序輸出為

Check the sum of probability:1.0000 1.0000 1.0000 1.0000 1.0000 1.0000Compute the expectation of total times:2.0000 6.0000 14.0000 30.0000 62.0000 126.0000

顯然,驗證了概率之和為1。另外,容易驗證所求出的期望與$\mu_n$的通項公式($\ref{munGen}$)給出的結果是一致的。

5. 模擬驗證

使用Mote Carlo模擬的方法對這一問題進行仿真,代碼如下

len = 2e8; % length of random numbers N = (1:6)'; % numbers of continuous positive in stop conditionsfor pp = 1:length(N)res = rand(len,1)>0.5; % uniform distribution, >0.5 stands for positivecurrTotalTime = 0; % total times when stop condition satisfiedcontPosCntr = 0; % continuous positive appearsnumExper = 0;totalTimeRcd = nan(len,1);for ii = 1:lencurrTotalTime = currTotalTime+1;if (res(ii))contPosCntr = contPosCntr+1;elsecontPosCntr = 0;endif (contPosCntr>=N(pp))numExper = numExper+1;totalTimeRcd(numExper) = currTotalTime;contPosCntr = 0;currTotalTime = 0;endendmeanT = 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次成功的平均時間。

轉載于:https://www.cnblogs.com/aquastone/archive/2012/10/19/Prob_CoinContinuousNPositive.html

總結

以上是生活随笔為你收集整理的抛硬币直到连续若干次正面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。