Bắt đầu ngayBắt đầu miễn phí

Bài toán ngày sinh

Giờ chúng ta sẽ dùng mô phỏng để giải một câu đố xác suất nổi tiếng – bài toán ngày sinh. Nghe có vẻ đơn giản: Cần bao nhiêu người trong một phòng để đảm bảo có ít nhất 50% khả năng có hai người trùng ngày sinh?

Với 366 người trong một năm 365 ngày, bạn chắc chắn 100% sẽ có ít nhất hai người trùng ngày sinh, nhưng ở đây ta chỉ cần chắc 50%. Mô phỏng là một cách tao nhã để giải bài toán này.

Sau khi hoàn thành bài tập này, bạn sẽ bắt đầu hiểu cách chuyển một bài toán sang khung mô phỏng.

Bài tập này là một phần của khóa học

Mô phỏng Thống kê bằng Python

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
Chỉnh sửa và Chạy Mã