잘못된 결정적 계산
이번 연습 문제와 다음 문제에서는 영상에서 다룬 원주율(pi) 계산을 변형해 보면서, 시뮬레이션 과정에서 각 단계가 왜 중요한지 더 깊이 이해해 보겠습니다.
아래 그림처럼, pi를 구하는 시뮬레이션은 $x$와 $y\(가 -1부터 1 사이인 무작위 점 \)(x, y)$를 생성합니다.

만약 circle_points에 점을 추가할지 확인하는 결정적 계산을 잘못 바꾼다면 어떻게 될까요? 최종 결과에 어떤 영향을 주는지 살펴보세요. 몬테카를로 시뮬레이션에서는 결정적 계산을 올바르게 지정하는 것이 얼마나 중요한지, pi가 터무니없는 값으로 나오는 것을 통해 확인하실 수 있어요!
random는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Monte Carlo 시뮬레이션
연습 안내
- 원점으로부터의 거리가 1이 아니라, 0.75보다 작은 모든 점에 대해
circle_points를 증가시키세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
n = 10000
circle_points = 0
square_points = 0
for i in range(n):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
dist_from_origin = x**2 + y**2
# Increment circle_points for any point with a distance from origin of less than .75
if ____:
circle_points += 1
square_points += 1
pi = 4 * circle_points / square_points
print(pi)