"** Wie viele Personen haben eine 50% ige Chance, zwei (oder mehr) Personen mit demselben Geburtstag zu haben? **" Das ist.
――Die Wahrscheinlichkeit, dass sich Personen mit derselben Geburtstagskombination in der Gruppe befinden, übersteigt ** 50% ** von ** 23 Personen **.
[Geburtstagsparadox-Wikipedia](https://ja.wikipedia.org/wiki/%E8%AA%95%E7%94%9F%E6%97%A5%E3%81%AE%E3%83% 91% E3% 83% A9% E3% 83% 89% E3% 83% 83% E3% 82% AF% E3% 82% B9)
Selbst wenn sich nur 70 Personen versammeln, liegt die Wahrscheinlichkeit bei über 99,9%, und nur 23 Personen werden benötigt, um 50% zu überschreiten.
** * Wir berücksichtigen nicht das Jahr des Schwertes oder der Zwillinge **
birthday_paradox.py
import math
from random import random
n_trials = 50000 #Anzahl der Versuche pro Versuch
max_people = 100 #Maximale Anzahl zu überprüfender Personen
print('Anzahl der Personen,Wie oft gab es eine Gruppe mit demselben Geburtstag,Anzahl von Versuchen,Wahrscheinlichkeit')
for n_people in range(2, max_people + 1):
count = 0 #Wie oft gab es Menschen mit demselben Geburtstag
for _ in range(n_trials):
#Speichern Sie eine zufällige Ganzzahl von 1 bis 365, die wie ein Geburtstag aussieht, in der Liste.
births = []
for __ in range(n_people):
birthday = math.ceil(random() * 365)
births.append(birthday)
#Wenn die Anzahl der Elemente ohne Duplikate nicht mit der ursprünglichen Anzahl der Elemente übereinstimmt, liegt ein doppelter Geburtstag vor.
if len(births) != len(set(births)):
count += 1
print(f'{n_people},{count},{n_trials},{count / n_trials}')
Anzahl der Personen,Wie oft gab es eine Gruppe mit demselben Geburtstag,Anzahl von Versuchen,Wahrscheinlichkeit
2,105,50000,0.0021
3,390,50000,0.0078
4,773,50000,0.01546
5,1370,50000,0.0274
6,1992,50000,0.03984
7,2853,50000,0.05706
8,3686,50000,0.07372
...
17,15850,50000,0.317
18,17422,50000,0.34844
19,18898,50000,0.37796
20,20602,50000,0.41204
21,22207,50000,0.44414
22,23795,50000,0.4759
23,25531,50000,0.51062 # <-50 bei über 23 Personen%Darüber hinaus
24,27170,50000,0.5434
25,28517,50000,0.57034
26,29820,50000,0.5964
27,31400,50000,0.628
...
68,49925,50000,0.9985
69,49940,50000,0.9988
70,49952,50000,0.99904 # <-99 bei über 70 Personen.9%Darüber hinaus
71,49971,50000,0.99942
72,49970,50000,0.9994
73,49971,50000,0.99942
74,49985,50000,0.9997
75,49987,50000,0.99974
76,49989,50000,0.99978
77,49994,50000,0.99988
78,49994,50000,0.99988
79,49994,50000,0.99988
...
99,50000,50000,1.0
100,50000,50000,1.0 # <-Nicht mehr 100%!!
Recommended Posts