Problém narozenin
Teď pomocí simulace vyřešíme slavný pravděpodobnostní hlavolam – problém narozenin. Zní docela jednoduše: Kolik lidí musí být v místnosti, aby byla alespoň 50% šance, že dva z nich slaví narozeniny ve stejný den?
Při 366 lidech v roce s 365 dny si můžeme být 100% jistí, že alespoň dva mají narozeniny ve stejný den – ale nám stačí jistota 50 %. Simulace nám nabízí elegantní způsob, jak tento problém vyřešit.
Po dokončení tohoto cvičení začneš chápat, jak převádět problémy do simulačního rámce.
Toto cvičení je součástí kurzu
Statistické simulace v Pythonu
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Draw a sample of birthdays & check if each birthday is unique
days = ____
people = 2
def birthday_sim(____):
sims, unique_birthdays = 2000, 0
for _ in range(sims):
draw = np.random.choice(days, size=____, replace=True)
if len(draw) == len(set(draw)):
unique_birthdays += 1
out = 1 - unique_birthdays / sims
return out