시작하기무료로 시작하기

생일 문제

이제 시뮬레이션을 사용해 확률 분야의 유명한 퍼즐인 생일 문제를 풀어 보겠습니다. 질문은 간단해 보여요. 두 사람이 같은 생일일 확률이 최소 50%가 되려면 한 방에 몇 명이 있어야 할까요?

1년이 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
코드 편집 및 실행