一个数学问题求解

2016-06-24 17:59:17 +08:00
 ysmood

假设生男孩女孩的概率相同,每对夫妇会不断生孩子直到生出第一个女孩子,那么在有足够多的夫妇的情况下,最后男孩女孩比例是多少?

求简洁易懂的数学证明。

写了段代码,感觉是 1 ,但是没有想到简单的数学证明。

var count = 10000;
var boy = 0;
var girl = 0;

while (count--) {
    while (Math.random() < 0.5) boy++;
    girl++;
}

console.log(boy / girl); // 约等于 1
3610 次点击
所在节点    程序员
22 条回复
programgou
2016-06-26 02:05:47 +08:00
想了一下,用最基本的概率知识就可以解决这个问题。

我们不妨先求(~) [所有的夫妇平均生的孩子的个数] 吧,为了求出(~),我们先考虑样本空间,并且给每个样本点赋予概率值。我们用 0 表示女孩子, 1 表示男孩子,首先列出样本点:
0
10
110
1110
...
每一行代表一对夫妇生的孩子的总数,我们分布用 w1,w2,w3,...,wn 表示。现在考虑 w 的概率,由于 0 和 1 是等概的,所以 P(w1) =1/2 。又因为样本空间总概率为 1,所以剩下的{w2,w3,...,wn}概率为 1-1/2=1/2 。我们再考虑 w2,w2 的概率 P(w3)显然是 1/2-1/2*1/2=1/4 (由于 0 和 1 是等概的)……依此类推, w3,w4,...,wn 的概率 P(w3),P(w4),...,P(wn)分别是 1/8,1/16,...,1/2^n 。接下来我们求(~),(~)实际上就是数学期望,因此,

(~)=Σn*P(wn) = Σn*1/2^n = 2

因此最后所有夫妇平均剩下两个孩子。又由于男孩女孩是等概的,所以,男女比例还是 1:1 。白忙活一场...
证明完毕。
programgou
2016-06-26 02:22:21 +08:00
@Yvette 你这个思路很好很好,第一种情况, [每对夫妇会不断生孩子直到生出第一个女孩子] ,第二种情况, [每对夫妇会不断生孩子直到生出第一个男孩子] ,第一种情况+第二种情况=所有情况。因此最后男孩多还是女孩多,取决于每种情况的最后一个孩子,即男女概率,然而男女等概的,所以结论是 1:1 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX