På Wikipedia beskrivs födelsedagsparadoxen som ”det för många intuitivt oväntade faktum, att sannolikheten är större än femtio procent för att det i en grupp om 23 slumpmässigt utvalda personer finns minst två med samma födelsedag”.
Spontant kändes det faktiskt oväntat. Jag illustrerade problemet med Python, och då kändes det genast lite klarare. Knepet är att vända på frågan och tänka: hur stor är sannolikheten för att det i en grupp av ett givet antal slumpmässigt utvalda personer, inte finns någon som delar födelsedag. Den sannolikheten minskar snabbt med ökat antal personer. På samma sätt ökar sannolikheten för att minst två personer ska dela födelsedag snabbt med ökat antal personer. Men helt säkra kan vi förstås inte vara förrän antal personer överstiger antalet dagar på ett år.
from matplotlib import pyplot as plt import numpy as np DAYS_IN_A_YEAR = 365 def probability_birthday_problem(number_of_people): if number_of_people > DAYS_IN_A_YEAR: return 1 else: return 1 - np.prod([float(i)/DAYS_IN_A_YEAR for i in range(DAYS_IN_A_YEAR, DAYS_IN_A_YEAR - number_of_people, -1)]) x = range(1, 100) y = [probability_birthday_problem(i) for i in x] plt.scatter(x,y) plt.xlabel('Antal personer') plt.ylabel('Sannolikhet för att två personer delar födelsedag') plt.show()
