ปัญหาวันเกิด
คราวนี้จะใช้การจำลองเพื่อแก้ปริศนาความน่าจะเป็นที่มีชื่อเสียง นั่นคือ ปัญหาวันเกิด ฟังดูไม่ซับซ้อน — ต้องมีคนกี่คนในห้องถึงจะมั่นใจได้อย่างน้อย 50% ว่ามีสองคนที่เกิดวันเดียวกัน?
หากมีคน 366 คนในปีที่มี 365 วัน เราแน่ใจ 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