생일 문제
이제 시뮬레이션을 사용해 확률 분야의 유명한 퍼즐인 생일 문제를 풀어 보겠습니다. 질문은 간단해 보여요. 두 사람이 같은 생일일 확률이 최소 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