เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ปัญหาวันเกิด

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