공정한 주사위 던지기
시뮬레이션 설계의 기본을 이해하면, 어떤 시스템이나 프로세스에도 적용할 수 있어요. 이제 몇 가지 간단한 예제를 통해 각 단계가 어떻게 구현되는지 살펴보겠습니다.
앞서 배운 것처럼, 시뮬레이션은 무작위 표본추출을 반복하는 과정입니다. 따라서 첫 단계는 하나의 무작위 표본을 얻는 것입니다. 그것만 준비되면 같은 과정을 여러 번 반복하면 됩니다. 이 연습 문제에서는 하나의 무작위 표본을 어떻게 얻는지에 집중합니다. 공정한 6면체 주사위를 던지는 상황을 예로 들어 살펴보죠.
이 연습 문제를 마치면 시뮬레이션 실행의 처음 두 단계인 무작위변수 정의와 확률 할당을 어떻게 구현하는지 익히게 됩니다.
이후 강의에서는 설정된 시드를 확인하려면 IPython 셸을 참고하세요.
이 연습은 강의의 일부입니다
Python으로 하는 통계 시뮬레이션
연습 안내
- 가능한 모든 결과를 요소로 하는 6면체 주사위 리스트를 만들고 변수
die에 저장하세요. - 여섯 면이 모두 같은 확률로 나올 수 있도록 확률을 정의하고 변수
probabilities에 저장하세요. - 마지막으로
np.random.choice()를 사용해 주사위를 한 번 던지는 상황을 모의하고, 그 결과를 변수outcome에 기록하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define die outcomes and probabilities
die, probabilities, throws = [____], [____], 1
# Use np.random.choice to throw the die once and record the outcome
outcome = ____(___, size=____, p=____)
print("Outcome of the throw: {}".format(outcome[0]))