撲克牌中的八個3,四個人隨機分,已知我方沒有3,問其他三方某一方獲得不少於4個3的概率?

進一步,如果我方有1個3呢,其他某一方獲得不少於4個3概率多大?

……自己算了會,先算出frac{11}{12} ,又覺得算得不對,請教下該怎麼算才正確呢?

關鍵在於學的概率論中,都是p
eg p,而這個是p_{1} ,p_{2} ,p_{3} (sum_{}^{}{p_{i} } =1),煩各位指教。


古典概率本質是計數問題,八張牌分給三個人的不同分發可以用

(a+b+c)^8來表示,a的指數是第一個人得牌數,b是第二個人,c是第三個人,展開之後每一項是

C_8^{n}C_{8-n}^ka^nb^kc^{8-n-k}

然後去數一下有一項不小於4的項數前面係數的和就可以了,要除以的底數是所有項的和,把a=b=c=1代入就可以得到是3^8

自己有一個的時候,把8換成7就行了。

=================================================================

原答案的確沒有考慮分牌方式的問題,如果按照正常撲克牌玩法,一共108張牌,每個人分到數量均等的牌,答案需要修正。當然,修正完仍然是一個比較簡單的計數問題。

108張牌,每個人分到27張,這27張牌看作27個位置。有一個人沒有8,那麼有效的位置還剩下81個,把8張牌放到這81個位置中,一共有C_{81}^8种放法。有一個人有4條的總數則為:

3 cdot sum_{k=4}^8C_{27}^kC_{54}^{8-k} - 3C_{27}^4C_{27}^4

最後減去的3是因為可能出現有兩家同時拿到4條,共三種情況,這三種情況重複計算了一次因此要減去。

計算結果為0.7199

8張換成7張,方法不變,不過不再出現重複計算因此不用減了


理論計算

假設牌的張數是4n+8,因為有8個4,所以根據題目意思,應該是兩副牌,也就是說n=25,並假設下面事件

A:我沒有4

B:另外三個人至少一個人有4個4

ar{B} :另外三個人至多只有3個4。

題目要求得是 :

P(B|A)=frac{P(AB)}{P(A)}=frac{P(A)-P(Aar{B} )}{P(A)}=1-frac{P(Aar{B} )}{P(A)}

事件Aar{B} 即我沒4,且另外三個人都至多有3個4,那麼另外三個人必然是一個人2個4,另外兩個人3個4,則

P(Aar{B})=P(AC_{1} )+P(AC_{2} )+P(AC_{3} )

其中事件AC_{i}表示我沒有4,另外三個人第i個人有2個4,另外兩個人3個4,顯然有

P(AC_{1})=P(AC_{2})=P(AC_{3})

對於事件A

P(A)=frac{C_{4n}^{n+2} ast C_{3n+6}^{n+2} ast C_{2n+4}^{n+2} ast C_{n+2}^{n+2} }   {C_{4n+8}^{n+2} ast C_{3n+6}^{n+2} ast C_{2n+4}^{n+2} ast C_{n+2}^{n+2}} =frac{C_{4n}^{n+2}}{C_{4n+8}^{n+2}}=frac{(3n-1)(3n)cdot cdot cdot (3n+6)}{(4n+1)(4n+2)cdot cdot cdot (4n+8)}

P(Aar{B} )=3P(AC_{1})=frac{3 ast C_{4n}^{n+2} ast C_{3n-2}^{n} ast  C_{8}^{2}ast C_{2n-1}^{n-1} ast  C_{6}^{3} ast C_{n-1}^{n-1}ast  C_{3}^{3} }   {C_{4n+8}^{n+2} ast C_{3n+6}^{n+2} ast C_{2n+4}^{n+2} ast C_{n+2}^{n+2}}

可以得到

P(B|A)=1-frac{1680n^{2}(n+1)^3(n+2)^3}{(3n-1)ast (3n)cdot cdot cdot (3n+6)}

代入本題中n=25,得到

P(B|A)=frac{879589}{1221814}

另外,當n
ightarrow infty 時,可以得到前面 @木水小亭的結果,也就是frac{1627}{2187}

模擬

對於108張牌,假設編號0~107,我們的8個4編號為0~7,每次從0~107中隨機選出8個互不相同的數作為這8個4在108張牌中的位置,然後假設我得到編號4k的牌,其它三人4k+14k+24k+3,統計每個人得到4的張數,模擬多次,用頻率來近似P(B|A)

package cards;

import java.util.Arrays;
import java.util.Random;

public class Test {
public static int[] generate(int[] arr,int n){
int i=0;
int exclusive=0;
int choose=-1;
int size=arr.length;
for(i=0;i&=4||count[2]&>=4||count[3]&>=4){ //有人3個4
m2+=1;
}
}

Arrays.fill(count, 0);
}
System.out.println("共模擬次數"+n);
System.out.println("第一個人沒起到4次數 "+m1);
System.out.println("第一個人沒起到4,其它人有大於3個4 "+m2);
double p=m2*1.0/m1;
System.out.println("估計概率值"+p);
double e=m2*1.0/m1-879589.0/1221814;
System.out.println("與計算值誤差"+e);
}
public static void main(String[] args) {
int n=1000000;
simulate(n);
}

}

一次運行截圖


自己回答自己的問題了!感謝 @靈劍的回答分享,很有幫助(公式其實是一樣的),謝謝!

實在沒臉,剛剛看完概率論這本書,又翻了一下,發現這不就是書本上的多項分布的內容嗎?真是獻醜,無顏面對自己。

以下說明多項分布:

進行n次獨立重複試驗,每次有r個互不相容結果:A_{1},A_{2},...,A_{r},每次A_{i}發生的概率為p_{i}=P(A_{i}),i=1,2,...,r,記X_{i}為n次獨立重複試驗中A_{i}出現的次數。

貼公式:(X_{1},X_{2},...,X_{r})取值為(n_{1},n_{2},...,n_{r})的概率如下:

P(X_{1} =n_{1} ,X_{2}=n_{2},...,X_{r}=n_{r})=frac{n!}{n_{1}!n_{2}!...n_{r}!} p_{1}^{n_{1}} p_{2}^{n_{2}} ...p_{r}^{n_{r}}

其中n=n_{1}+n_{2}+...+n_{r}

依照本問,其他三人A_{1},A_{2},A_{3}每次獲得1張3的概率各為frac{1}{3} ,即p_{1}=p_{2}=p_{3}=frac{1}{3},而其對立事件為(X_{1},X_{2},,X_{3})=(2,3,3)cup (3,2,3)cup (3,3,2)。由此可知:

P(max(X_{i})geq 4)=1-3*frac{8!}{2!3!3!} *(frac{1}{3}) ^8

(自己沒有3時)算出來的結果是0.7439,並沒有想像中的那麼大。

而自己有1個3時,其對立事件為:

(X_{1},X_{2},,X_{3})=(1,3,3)cup (3,1,3)cup (3,3,1)cup (3,2,2)cup (2,3,2)cup (2,2,3)

由此可知:

P(max(X_{i})geq 4)=1-3*frac{7!}{1!3!3!} *(frac{1}{3}) ^7-3*frac{7!}{2!2!3!} *(frac{1}{3} )^7

(自己有1個3時)算出來的結果是0.5199。

打算用程序來模擬下,先把坑放這,回頭來填。

如果有錯誤,還望告知。


推薦閱讀:

一個概率/博弈問題?
概率(Probability)的本質是什麼?
從正方體的一個頂點出發,沿著棱到達另一個頂點,經過n條棱後首次回到出發點。求n的數學期望?
如何理解概率為1的事情不一定發生,而概率為0的事情不一定不發生?
為什麼概率為1的事件不一定是必然事件?

TAG:撲克 | 組合數學Combinatorics | 概率論 | 統計學分布 |