Das Geburtstagsparadoxon¶
Fragestellung¶
Wie viele Personen sind erforderlich damit die Wahrscheinlichkeit über 50% liegt, dass zwei Personen am selben Tag Geburtstag haben?
- Zur Vereinfachung wird von 365 Tagen pro Jahr ausgegangen, d.h. Schaltjahre werden ignoriert.
- Wenn zwei Personen an einem Tag Geburtstag haben wird dies als "Treffer" bennant.
Lösungsweg¶
Wenn PersonA den Raum betritt und noch ganz alleine is, kann es noch zu keinem Treffer kommen. Daher sind alle 365 Tage Treffer frei. $$ 365 $$
Wenn PersonB den Raum betritt muss dessen Geburtstag an genau dem selben Tag liegen wie bei PersonA damit es zu einem Treffer kommt. D.h. für PersonB gibt es noch 364 trefferfreie Tage. $$ 364 $$
Wenn PersonC den Raum betritt muss dessen Geburstag an genau dem selben Tag liegen wie bei PersonA oder PersonB damit es zu einem Treffer kommt: $$ 363 $$
Dieses Vorgehen lässt sich für alle weiteren Personen so fortsetzen. Mit jeder in den Raum kommenden Person nimmt die Anzahl an trefferfreien Tagen ab.
Diess Vorghen lässt sich mittels einer Formel ausdrücken.
Implementierung¶
import pandas as pd
def prob(persons):
days = 365
u = 1
m = days ** persons
for n in range(0,persons):
u *= (days - n)
probability = 1-u/m
return probability
Visualisierung - Tabelle¶
x = list()
y = list()
for person in range(0, 25):
probability = prob(person)
x.append(person)
y.append(probability)
df = pd.DataFrame(list(zip(x,y)), columns=["Personen", "Wahrscheinlichkeit"])
print(df)
Visualisierung - Grafik¶
import matplotlib.pyplot as plt
x = []
y = []
for person in range(0, 100):
probability = prob(person)
x.append(person)
y.append(probability)
plt.scatter([23], [prob(23)])
plt.plot(x, y, color='red')
plt.xlabel("Personen")
plt.ylabel("Wahrscheinlichkeit")
plt.show()
Ergebnis¶
Sowohl aus der Tabelle als auch dem Graphen lässt sich erkennen, dass bei einer Personenanzahl von 23 die Wahrscheinlichkeit über 50% liegt.