IniziaInizia gratis

Il problema dei compleanni

Ora useremo una simulazione per risolvere un famoso rompicapo di probabilità: il problema dei compleanni. Sembra piuttosto semplice: Quante persone devono esserci in una stanza per avere almeno il 50% di probabilità che due di loro compiano gli anni lo stesso giorno?

Con 366 persone in un anno di 365 giorni, siamo sicuri al 100% che almeno due condividano la stessa data di compleanno, ma a noi basta essere sicuri al 50%. La simulazione ci offre un modo elegante per risolvere questo problema.

Completando questo esercizio, inizierai a capire come inquadrare i problemi all'interno di un framework di simulazione.

Questo esercizio fa parte del corso

Simulazione statistica in Python

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
Modifica ed esegui il codice