一道概率題,塗黑白球?
有n個白球排成一排。執行以下操作:
在剩餘的白球中等概率選擇一個白球塗黑直到不存在兩個相鄰的白球。(也就是說任何一個白球左右相鄰的位置要麼是黑球要麼沒有球)求此時黑球個數的期望。
如評論中 @舒自均 提到的,如果在一排白球中求期望,會有很多邊界問題需要處理。不失一般性,我們考慮下面這個問題:
問題:假設有個白球(),用編號表示。一開始的時候,這個白球排成了一個圓,即。其中,表示與相鄰。如果每次我們都隨機地從剩餘白球中挑選一個變成黑色,直到剩餘的白球均不相鄰。問黑球的個數的期望是多少?
在這個問題中,在我們第一次將某個白球變成黑球之後,剩下的個球就相當於變成了一排。因此,這個問題的最終黑球個數的期望等於原問題中最終黑球個數期望加1。我們定義隨機變數,表示結束時黑球的數量;定義隨機變數,表示結束時白球的數量。易知:
因此,我們只需要求出即可。下面我們算的概率,表示為。我們另外定義一個隨機變數,表示最後一個被染成黑色的白球的編號。我們有:
其中第二個等式可以由對稱性得到(我們是在一個圓上)。下面我們假設。根據的定義,在白球變黑前,球與球中至少有一個是白球。此外,其他白球(除,和之外)均兩兩不相鄰。那麼,當球變黑前,只可能有以下三種情況(其他沒顯示的白球均兩兩不相鄰):
當球變黑後,所有白球均不相鄰,且球和球至少一個為白球。滿足這些條件的樣本數量一共有 。這裡,是球是黑球的情況下,其他個球中有個不相鄰的白球的數量;是球,,是黑球的情況下,其他個球中有個不相鄰的白球的數量。這兩個式子相減就是滿足以上條件的樣本的數量。這些樣本中,每個樣本的概率都是一樣的:前面次都必須只抽到最終的黑球中除以外的編號;在第次抽到編號1。因此,每個的概率均為。其中,是先抽到那個黑球的概率;是在第次抽到球的概率。我們最終得到:
從而有:
這個式子目前我不知道能不能進一步化簡成很簡單的形式。對於比較小的,利用這個公式可以得到:(注意原題中的期望為)- 當,有和;
- 當,有和;
- 當,有和;
- 當,有和。
設 為染了 次色後遊戲依然沒有結束的概率,顯然答案為 ,現在要計算每個 。
方便起見,我們去計算染了 次色後遊戲已經結束的概率 ,則 。
在計算 時,設 表示前 個球中放了 個球,前 個球中不存在兩白球相鄰,並且第 個球是白/黑球( 表示白, 表示黑)的放法數量,則
現考慮 的轉移。
邊界條件為 ,
時間複雜度 ,我很慚愧,一開始看錯題了
HINT:在 過程中將所有 以 存儲可避免高精度計算。
#include &
int N;
double dp[1001][1001][2], ANS;
int main()
{
scanf("%d", N);
dp[0][0][1] = 1;
for (int i = 1; i &<= N; i++)
{
for (int j = 0; j &<= i; j++)
dp[i][j][0] = dp[i - 1][j][1] / i * (i - j);
for (int j = 1; j &<= i; j++)
dp[i][j][1] = (dp[i - 1][j - 1][0] + dp[i - 1][j - 1][1]) / i * j;
}
for (int i = 0; i &<= N; i++)
ANS += 1 - dp[N][i][0] - dp[N][i][1];
printf("%.10lf
", ANS);
return 0;
}
如 @K-ZhY大神提到,當n不大時情況已經很複雜了,精確求解越來越困難。
但是我發現,如果當N很大時,這個問題能夠精確地與複雜網路中的percolation問題對應起來。
相當於一個網路(這裡網路是由白球組成的一條長鏈),隨機attack其中的節點(塗黑),在攻擊一定數量的節點之後(塗黑小球的平均值),網路崩塌(最大連通集大小=1,即白球沒有相鄰)
關於解這個問題的數學方法在我組一篇文章的SI有講
http://www-levich.engr.ccny.cuny.edu/webpage/hmakse/wp-content/uploads/sites/2/2015/06/nature14604-s1.pdf
由於是長鏈,因此裡面的non-backtracking matrix的形式簡單,直覺告訴我應該可以比較精確地求解。等我有時間再填坑把(x
希望有幫助~~手機不方便 但好像就是個等可能的遞歸問題吧 只要算2個白和1個白的情況 接下來那之前的數學期望就可以算出來了
幾年級的題目啊
Ew(n)=2/n + (1-2/n) *Ew(n-1) + 2(n-2)/n/(n-1)*Ew(n-2)
其中,n&>=3,Ew(1)=1,Ew(2)=1E(n)= n - Ew(n)-------------------我找不到解析解,期待大神關注------------反其道行之n個黑球排成一排,
隨機將黑球打白,如果出現兩個相鄰白球就停止。立即恢復到上一個時刻,就是原問題的終止狀態。求此時白球個數的期望。預計可以打多少次白炮,不會出現連續的白球。假設元問題的答案是Eb(n),這個問題的答案是Ew(n),易知Eb(n)+Ew(n)=n (n&>=2時才成立)上圖為第一個球打白時的情況。下一球,如果落在粗線框範圍內(下簡稱禁區),即上一個白球的旁邊,流程就結束了,最終成績是1。如果不在禁區內,那還有的玩。第一種情況下,還可以打次白?
0* 1/(n-1) + Ew(n-2) (n-2)/(n-1)
有 1/(n-1)的概率打在禁區內,遊戲結束,成績被鎖定在上一回合,這一炮白打,額外預期是0;有 (n-2)/(n-1)概率打在禁區外,那麼接下來的打法與連續n-2個黑球是一樣的,預期可以再打Ew(n-2)炮。第二種情況下,還可以打次白?
0* 2/(n-1) + Ew(n-3)*(n-3)/(n-1)第三種情況下,還可以打次白?
Ew(1)*1/(n-1)+0* 2/(n-1) +Ew(n-4)*(n-4)/(n-1)累積起來
Ew(n)=1+ {1/(n-1) *sum{ Ew(1)*1 , Ew(2)*2 , ... ,Ew(n-2)*(n-2) )*2}/n (第一炮每個位置都是1/n的概率,加上第一炮)Ew(1)=1
Ew(2)=1
Ew(3)=4/3=1+1/3Ew(4)=1.5=1+1/2Ew(5)=1/4*(1*1+2*1+3*4/3)*2/5+1=34/20=1+7/10Ew(6)=1/5*(1*1+2*1+3*4/3+4*1.5)*2/6+1=28/15=1+13/15Ew(7)=1/6*(1*1+2*1+3*4/3+4*1.5+5*34/20)*2/7+1=1+21.5/21Ew(8)=1/7*(1*1+2*1+3*4/3+4*1.5+5*34/20+6*28/15)*2/8+1Ew(9)=1/8*(1*1+2*1+3*4/3+4*1.5+5*34/20+6*28/15+7*42.5/21)*2/9+1...為了簡化,令S(n-2)=sum{ Ew(1)*1 , Ew(2)*2 , ... ,Ew(n-2)*(n-2) )*2}
Ew(n)-Ew(n-1)
=S(n-2)*2/n/(n-1) - S(n-3)*2/(n-2)/(n-1) =- S(n-3)*4/n/(n-1)/(n-2) + Ew(n-2)*(n-2)*2/n/(n-1)同時有
Ew(n-1)=1+ S(n-3)*2/(n-1)/(n-2)S(n-3)=(Ew(n-1)-1) *(n-1)/(n-2)/2Ew(n)-Ew(n-1)
= -(Ew(n-1)-1)*(n-1)*(n-2)/2*4/n/(n-1)/(n-2) + 2(n-2)/n/(n-1)*Ew(n-2)=-2/n*(Ew(n-1)-1)+2(n-2)/n/(n-1)*Ew(n-2)Ew(n)=2/n + (1-2/n) *Ew(n-1) + 2(n-2)/n/(n-1)*Ew(n-2)
=2/n+ (n-2)*{ 1/n*Ew(n-1) +2/n/(n-1)*Ew(n-2) } =2/n+(n-2)/n*{ Ew(n-1)+2/(n-1)*Ew(n-2)}n*Ew(n)=2+ (n-2)*Ew(n-1)+2*(n-2)/(n-1)*Ew(n-2)
令U(n)=n*Ew(n)
U(n)= 2+ U(n-1)-Ew(n-1)+2/(n-1)* U(n-2)U(n-1)=(n-1)*Ew(n-1)
Ew(n-1)=U(n-1)/(n-1)U(n)= 2+ U(n-1)-U(n-1)/(n-1)+2/(n-1)* U(n-2)
= 2+ {(n-2)*U(n-1) +2* U(n-2)}/(n-1)=2+ (n-2)/(n-1) *U(n-1) + 2/(n-1)* U(n-2)令D(n)= U(n)-U(n-1)
D(n)=2-U(n-1)/(n-1)+2/(n-1)* U(n-2)D(n)=2+1/(n-1)*(2*U(n-2)-U(n-1))D(n)=2+1/(n-1)*(U(n-2)-D(n-1))(D(n)-2)=1/(n-1)*(U(n-2)-D(n-1))(D(n)-2)*(n-1)=U(n-2)-D(n-1)U(n-2)=(D(n)-2)*(n-1)+D(n-1)U(n)=(D(n+2)-2)*(n+1)+D(n+1)
U(n-1)=(D(n+1)-2)*(n)+D(n)D(n)=(n+1)*D(n+2)-2*(n+1)+D(n+1)-n*D(n+1)+2n-D(n)D(n)=(n+1)/2*D(n+2)- (n-1)/2*D(n+1)-1
D(n+2)=2/(n+1)*D(n)+ (n-1)/(n+1)*D(n+1) +2/(n+1)
D(n)= 2/(n-1)*D(n-2)+ (n-3)/(n-1)*D(n-1) +2/(n-1)令T(n)=D(n)-D(n-1)
T(n)= 2/(n-1)*D(n-2)-2/(n-1)*D(n-1) +2/(n-1)= 2/(n-1)*(D(n-2)-D(n-1))+2/(n-1)=-2/(n-1)*T(n-1)+2/(n-1)=(1-T(n-1))*2/(n-1) (n&>4)T(n+1)=(1-T(n))*2/n看到希望了,只有一項迭代了
驗證一下,沒錯T(4)=0T(5)=2/4T(6)=(1-1/2)*2/5=1/5T(7)=(1-1/5)*2/6=4/15T(8)=(1-4/15)*2/7=22/105通項中看來會有n!
Vn=1-(2-2v)*2/n
--------找不到規律啊---------
下圖是前1000項Ew(n)的樣子,估計解析解會是形如 a(n)/b(n)+ ln(c(n)) ,a(n),b(n),c(n)是關於n的多項式。
上圖是Ew(n)第3至20項的增量上圖是Ew(n)第3至1000項增量的倒數看起來會是調和級數的變種============原答案,以下推導是錯誤的,謝謝題主提醒========================
第n個球時,有1/n的概率,第一個黑球在左邊第一個,這樣剩下的就是n-1個白球了,同樣,有1/n的概率,第一個黑球在左邊第二個,這樣剩下的就是1個和n-2個白球了,同樣,有1/n的概率,第一個黑球在左邊第三個,這樣剩下的就是2個和n-3個白球了,以此類推,可以得到n個白球的期望E(n)遞推公式E(0)=0E(1)=0E(2)=1E(3)=5/3E(4)=7/3E(5)=9/3....E(n)=1/n*(E(n-1)+1)+1/n*((E(1)+E(n-2)+1)+....+1/n*(E(n-1)+1) =1+{E(n-1)+E(1)+E(n-2)+E(2)+E(n-3)+E(3)+....+E(i)+E(n-i-1)+....+E(n-1)+E(0)}/n =1+sum(E(0),E(1),E(2),...,E(n-1))*2/n不知道對不對,反正我是搞不定了
當操作完全後,白球最多時,應該是白 黑 白黑 白 黑~~~~白 黑 白 連續n個。其它的情況有很多種白 黑 黑 白 黑 白 黑黑 黑 白 黑 黑 白 黑 黑 黑 黑 黑 白~~~~ 不可記的。
推薦閱讀:
※可以給考試加 2 分或者 6 分,但如果選 6 分的人大於 10%,那麼大家都不能加分,如何分析?
※n個1~n的隨機數,出現重複數字個數的期望是多少?
※如何通俗易懂的解答雙信封悖論?
※無限猴子定理與進化論相悖?
※要是一件事服從了正態分布,能夠說明什麼呢?