概率论中的几个有趣问题

本文介绍概率论中一些有趣的问题,其中很多是反直觉的

三门问题

两个男孩

基本比率谬误

假设同性恋染上某病的概率是异性恋的9倍。已知小明染上某病,求小明同性恋的概率。
错误的答案是$\frac{9}{10}$。正确答案是无法计算,因为我们并不知道同性恋和异性恋的比例。

令同性恋是$S$,异性恋是$H$,患某病是$X$。已知

$$
P(X|S) = 9 \quad P(X|H)
$$

求$P(S|X)$

我们计算

$$
P(S|X) = \frac{P(S)P(X|S)}{P(X)}
$$

辛普森悖论

我们考虑另一个问题,我们统计篮球比赛中两个球员的三分球和二分球命中率,假如A的三分球命中率比B高,二分球命中率也比B高,那么A的总命中率比B高么?
答案是不确定。我们不如考虑下面这个极端情况:

  1. A的二分球命中率是100%,B的是99%
  2. A的三分球命中率是1%,B的是0%

那B说好的,我田忌赛马了,我就直投二分球,你A只投三分球。结果B的总命中率是99%,而A的是1%。
辛普森悖论告诉我们如果一个人犯的错误多,很可能是因为他在做难的事情。所以如果我们老板不懂这个,而只追求bug少,那就会变成no code no bug的场面。

婚姻/秘书问题或者博士后问题

我们在海滩捡贝壳,必须在捡贝壳的时候决定留不留下,并且只有一次选择留下的机会,问如何最大化选到最佳贝壳的概率。

贝特朗悖论

凯利公式

Arrow不可能原理

Zipf 分布

Zipf 分布是一种幂律分布,指的是频率乘上频率的位次是一个常数。
如果有很多个请求满足 zipf 分布,落在一些 bucket 里面。下面的代码计算至少有多少个 bucket 中有至少 1% 的请求。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def g(i):
return 1.0 / i
def s(n):
# harmonic sum
l = 0
for i in range(1, n + 1):
l += g(i)
return l
def more_than_1_percent():
N = 2000
R = 0
S = s(N)
for i in range(1, N + 1):
if g(i) / S > 0.01:
R += 1

Refernce

  1. https://blog.csdn.net/itnerd/article/details/107348933
  2. https://zh.wikipedia.org/wiki/%E5%9F%BA%E6%9C%AC%E6%AF%94%E7%8E%87%E8%AC%AC%E8%AA%A4
  3. https://www.zhihu.com/question/330408241