北京大学生物信息平台论坛

 找回密码
 立即注册
搜索
热搜: 通知 活动

生活中的概率:男孩和女孩比例

[复制链接]
licheng 发表于 2016-1-16 16:13:22 | 显示全部楼层 |阅读模式
某个非洲国家的人民非常封建,偏好生养女孩,每个家庭采取的生孩子的策略是:

如果第一个孩子是女孩,就不再生了。如果第一个孩子是男孩,就再生第二个孩子。

如果第二个孩子是女孩,就不再生了。如果第二个孩子是男孩,就再生第三个孩子。依此类推,直到生了女孩为止。

这样看起来,有些家庭只有一个女孩,但很多家庭都是男孩数大于或等于女孩数。对整个国家来说,如果过了许多代,男女比例会不平衡吗,如果不平衡有什么办法解决?


回复

使用道具 举报

funger 发表于 2016-1-17 12:54:49 | 显示全部楼层
不少人对这个问题都感到困惑,说男孩多、女孩多的都有。有的时候很难跟别人解释清楚,我再尝试一次。
(问题中的这个部落重女轻男)

1)两种错误的直觉
错误直觉一:男孩多
理由:很多家庭男孩多于女孩,比如10个男孩1个女孩
错误直觉二:女孩多
理由:每家都有一个女孩,但不一定有男孩


2)假设
为了把问题阐述清楚,做一些假设,但这些假设都非常合理,符合人们的直觉。
假设一:每次生育,生男孩和女孩的概率相同
假设二:前后两次生育是相互独立的


3)几何分布
设随机变量X是一个家庭生育孩子的总数,X服从几何分布(p=1/2
E(X) = 1 / p = 2
所以每个家庭的孩子总数期望是2。又由于每个家庭都有1个女孩,故男孩的期望为1


4)枚举法
F代表女孩,M代表男孩
tree.png
女孩的数量肯定是每家一个,下面计算男孩的数量:
  
子女序列
  
家庭出现概率
男孩数量
F
1/2
0 * 1/2
MF
(1/2)2
1 * (1/2)2
MMF
(1/2)3
2 * (1/2)2
MMMF
(1/2)4
3 * (1/2)2
(M)n-1F
(1/2)n
(n-1) * (1/2)n
简单推导一下,设男孩数量之和为S
proof.png
男孩数量也是1


5)用R做个模拟实验
  1. # gender

  2. N = 10000 # family number

  3. # number of boys in a random family
  4. sim_male_num <- function(){
  5.     n.male <- 0
  6.     # give birth to another child until having a girl
  7.     # 0 is female, 1 is male
  8.     while(sample(0:1, 1) == 1)
  9.         n.male <- n.male + 1
  10.     return(n.male)
  11. }

  12. n.male.expected <- mean(replicate(N, sim_male_num()))
复制代码
结果如下
> n.male.expected

[1] 0.9875

回复 支持 反对

使用道具 举报

北京大学生物信息平台论坛

GMT+8, 2017-9-20 13:39 , Processed in 0.092159 second(s), 28 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表