Python的生日悖论
在概率部分,生日悖论是一个非常著名的问题。
问题陈述-生日聚会上有几个人,有些人发生相同的生日碰撞。我们需要在有相同生日的基础上找到一个生日聚会的大概人数。
很有可能,我们知道前进的机会是1/2,就好像我们有一些硬币一样,获得10个正面的机会是1/100或0.001。
让我们了解一下这个概念。
两个人生日不同的机会为$$\frac{364}{365}$$,这是在非year年中的$$\lgroup1-\frac{1}{365}\rgroup$$。
因此,我们可以说具有特定生日可能性的第一个人为“1”,而对于其他人而言,这将是不同的,即,
P(different)=$$1\times\lgroup1-\frac{1}{365}\rgroup\times\lgroup1-\frac{2}{365}\rgroup\times\lgroup1-\frac{3}{365}\rgroup\times\lgroup1-\frac{4}{365}\rgroup...$$
因此,
P(same)=1-P(different)
例如,具有相同生日的人的概率为0.70。
N=√2×365×对数(1-1/p)
N=√2×365×log(1-1/0.70)=30
因此,总的近似值为。相同生日的人是30岁。
示例
import math def findPeople(p): return math.ceil(math.sqrt(2*365*math.log(1/(1-p)))) print(findPeople(0.70))输出结果
运行上面的代码将生成如下输出:
30
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下