開始使用免費開始

生日悖論

現在我們要用模擬來解一個知名的機率謎題——生日悖論。問題看起來很直接:在同一個房間裡需要幾個人,才能讓其中至少兩人的生日相同的機率達到至少 50%?

在一年有 365 天的情況下,如果房間裡有 366 人,我們可以 100% 確定至少有兩人的生日相同,但我們只需要達到 50% 的把握即可。模擬提供了一種優雅的解法。

完成這個練習後,你會開始理解如何把問題轉化為模擬框架來思考。

本練習屬於課程

Python 的統計模擬

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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
編輯並執行程式碼