Kom igångKom igång gratis

Födelsedagsproblemet

Nu ska vi använda simulering för att lösa ett känt sannolikhetspussel – födelsedagsproblemet. Det låter ganska enkelt: Hur många personer behövs i ett rum för att det ska vara minst 50% chans att två av dem delar samma födelsedag?

Med 366 personer och ett år på 365 dagar är vi till 100% säkra på att minst två delar födelsedag, men vi behöver bara vara 50% säkra. Simulering ger oss ett elegant sätt att lösa det här problemet.

När du har slutfört den här övningen börjar du förstå hur man formulerar problem inom ett simuleringsramverk.

Den här övningen är en del av kursen

Statistisk simulering i Python

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
Redigera och kör kod