AllGoMath

몬테카를로 방법 Monte Carlo

무작위 샘플링으로 적분값을 근사하는 몬테카를로 방법 시각화.

균등 난수를 흩뿌려 영역 안에 떨어진 비율로 원주율과 적분값을 추정합니다. 표본 수를 늘릴수록 추정값이 참값으로 수렴하는 속도를 직접 확인합니다.

곡선/영역 아래에 균등분포 난수를 뿌려, 영역 내부에 떨어진 비율로 적분값을 추정한다. 표본 수 N이 커질수록 O(1/√N)로 참값에 수렴한다.

시간복잡도 O(N), error O(1 / sqrt(N))

I ~= (b - a) * (1/N) * sum f(x_i)

응용

표본 조사

전수 조사 없이도 무작위 표본 1,000명이면 오차 ±3% 수준으로 전체를 추정할 수 있다. 무작위 점을 뿌려 넓이 비율을 세는 이 화면과 같은 원리다.

레이트레이싱과 금융 리스크

영화 렌더링은 픽셀마다 광선을 무작위로 쏘아 평균하고, 금융권은 시장 시나리오를 수만 번 시뮬레이션해 리스크를 계산한다. 해석적 적분이 불가능한 영역에서 몬테카를로가 실전 해법이 된다.

수렴 속도 1/√n

오차는 1/√n으로 줄어들어, 정밀도를 한 자리 높이려면 표본이 100배 필요하다. 차원과 무관하다는 점이 고차원 적분을 가능하게 하는 동시에 느린 수렴의 원인이 된다.