몬테카를로 시뮬레이션
난수를 뿌려서 해를 구하는 마법 — 적분·확률·AI의 대안.
원주율 π를 컴퓨터로 어떻게 구할까? 고차원 적분은 해석적으로 불가능한데 어떻게 계산할까? '수만 번 난수를 뽑아 평균내면 해가 나온다' — 2차 세계대전 맨해튼 프로젝트에서 태어난 이 아이디어가 지금은 금융·AI·원자력의 핵심 도구다.
몬테카를로 시뮬레이션은 '난수를 많이 뽑아 통계적으로 답을 추정'하는 방법이다. 결정론적으로 풀기 어려운 문제(다차원 적분, 복잡한 확률)를 확률의 힘으로 근사한다. 이름은 카지노 도시 몬테카를로에서 따왔다.
π를 구하는 고전 예제: 한 변 2인 정사각형에 반지름 1 원을 그린다. 정사각형 안에 N개 점을 무작위로 뿌리고, 원 안에 들어간 개수 M을 센다. π ≈ 4 · (M/N). N을 키우면 정확해진다.
| 단계 | 내용 |
|---|---|
| 1. 확률 모델 정의 | 문제를 확률변수로 표현 |
| 2. 난수 생성 | 균등분포·정규분포 등에서 샘플링 |
| 3. 계산 반복 | 각 샘플마다 결과값 계산 |
| 4. 평균 집계 | 표본평균 = 추정치 |
| 5. 오차 분석 | 표준오차 = σ/√N — N을 키워 정밀도 향상 |
수렴 속도: 표본 평균의 표준오차는 σ/√N에 비례한다. 즉 정밀도를 10배 올리려면 샘플을 100배 뽑아야 한다. 느리지만, 차원에 무관하게 동작한다는 점이 강력하다 (고차원 격자 적분은 차원 저주에 시달림).
실생활 응용: ① 금융 파생상품 가격(Black-Scholes 대안) ② 원자로 중성자 수송 시뮬레이션 ③ 3D 렌더링 광선추적(Ray Tracing) ④ 베이지안 추론 MCMC ⑤ 강화학습 몬테카를로 트리 탐색(MCTS, 알파고).
몬테카를로로 π를 추정할 때 샘플 100만개에서 785,398개가 원 안이었다면 π 추정값은?
몬테카를로 추정의 오차는 샘플 수 N에 반비례한다.
다음 중 몬테카를로 시뮬레이션이 특히 유리한 문제는?
알파고가 사용한 MCTS(Monte Carlo Tree Search)는 몬테카를로 시뮬레이션의 응용이다.