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