| 몬테카를로 방법 Monte Carlo method | |
|---|---|
| 분야 | 수치해석 × 통계 × 계산물리 |
| 핵심 아이디어 | 무작위 표본추출 |
| 수렴률 | $\sim 1/\sqrt{N}$ (차원 무관) |
| 기원 | 맨해튼 프로젝트 (1940년대) |
| 대표 알고리즘 | 메트로폴리스 알고리즘 |
1. 개요[편집]
모르겠으면 주사위를 던져라. 충분히 많이 던지면 진실이 나온다.
몬테카를로 방법(Monte Carlo method)은 무작위로 뽑은 표본(random sample)을 이용해 수치적 문제를 푸는 계산 기법의 총칭이다. 결정론적으로 정확히 풀기 어려운 적분, 최적화, 확률 분포 문제를 난수를 대량으로 던져 통계적으로 근사한다. 이름은 도박으로 유명한 모나코의 카지노 도시 몬테카를로에서 따왔는데, “무작위성으로 답을 구한다”는 정신을 이만큼 잘 담은 작명도 드물다.1
기원은 1940년대 맨해튼 프로젝트다. 스타니스와프 울람, 존 폰 노이만, 니콜라스 메트로폴리스가 로스앨러모스에서 중성자가 물질 속을 어떻게 확산하는지를 계산하려다, 해석적으로는 도저히 안 풀리니 “그냥 중성자 하나하나를 난수로 따라가 보자”는 발상에서 출발했다.2 이후 물리·화학·금융·컴퓨터 그래픽스까지 온갖 분야로 퍼졌다.
2. 기본 원리와 수렴률[편집]
가장 직관적인 예는 적분이다. 함수 의 기댓값 형태 적분
를, 분포 에서 뽑은 표본 들에 대한 평균으로 근사한다. 대수의 법칙(law of large numbers)이 에서 이 평균이 참값으로 수렴함을 보장한다. 그리고 중심극한정리에 따라 오차는 다음처럼 줄어든다:
즉 정밀도를 10배 높이려면 표본을 100배 늘려야 한다. 얼핏 느려 보이지만, 여기에 몬테카를로의 진짜 마법이 있다.
이 수렴률은 차원과 무관하다.
격자 기반 수치적분은 차원 가 올라가면 격자점 수가 로 폭발하는 차원의 저주에 걸리지만, 몬테카를로는 100차원이든 1000차원이든 여전히 로 수렴한다. 그래서 고차원 문제에서는 몬테카를로가 사실상 유일한 선택지가 된다.
3. 메트로폴리스와 중요도 표본[편집]
단순히 균등 난수를 뿌리는 것으로는 부족한 경우가 많다. 적분값에 크게 기여하는 영역이 좁게 몰려 있으면, 그 영역을 집중적으로 표본추출하는 것이 훨씬 효율적이다. 이것이 중요도 표본추출(importance sampling)의 발상이다.
문제는 통계역학처럼 볼츠만 분포 를 따르는 표본을 뽑아야 하는데, 정규화 상수(분배함수)를 몰라서 직접 뽑을 수 없을 때다. 여기서 메트로폴리스 알고리즘(Metropolis algorithm, 1953)이 등장한다. 마르코프 연쇄(Markov chain)를 굴려 원하는 분포를 표본추출하는 MCMC의 원조로,3 규칙은 놀랍도록 단순하다.
- 현재 상태에서 새 상태를 무작위로 제안한다.
- 에너지가 낮아지면() 무조건 받아들인다.
- 에너지가 높아지면 확률 로 받아들이고, 아니면 거부한다.
이 “가끔은 손해 보는 이동도 허용한다”는 규칙 덕분에 국소 최소에 갇히지 않고 상태 공간을 제대로 훑을 수 있다. 정규화 상수를 몰라도 되는 이유는 받아들임 확률에 에너지 차이만 들어가기 때문이다. 이 우아한 트릭 하나로 통계역학 계산의 문이 열렸다.
4. 응용 분야[편집]
몬테카를로가 손대지 않은 계산 분야를 찾는 게 더 빠를 정도다.
| 분야 | 쓰임새 |
|---|---|
| 고차원 적분 | 격자법이 무너지는 다차원 수치적분 |
| 통계역학 | 스핀 모형(이징 모형), 상전이, 자유에너지 |
| 입자 수송 | 중성자·광자 확산, 방사선 선량 계산 |
| 금융공학 | 옵션 가격 결정, 위험 시뮬레이션(VaR) |
| 컴퓨터 그래픽스 | 경로 추적(path tracing) 기반 사실적 렌더링 |
| 베이즈 통계 | 사후분포 표본추출(MCMC) |
특히 영화·게임의 사실적인 조명을 만드는 경로 추적 렌더링은 빛이 장면 속에서 튕기는 경로를 무작위로 수없이 추적해 픽셀 색을 추정하는, 그 자체로 거대한 몬테카를로 적분이다. 픽사나 언리얼 엔진의 화려한 영상 뒤에는 사실 조용히 주사위를 던지는 몬테카를로가 있다.4
5. 분자동역학과의 관계[편집]
통계역학적 평형 성질을 구한다는 목표에서 몬테카를로는 분자동역학(MD)과 쌍벽을 이룬다. 둘의 차이는 명확하다.
- 분자동역학 — 뉴턴 방정식을 시간에 따라 적분해 실제 궤적을 따라간다. 확산계수 같은 동역학적 정보를 준다.
- 몬테카를로 — 시간을 버리고 볼츠만 분포를 무작위로 표본추출한다. 오직 평형 성질만 주지만, 에너지 장벽을 뛰어넘는 이동이 자유로워 상태 공간 탐색이 효율적일 때가 많다.
두 방법 모두 통계역학의 앙상블 평균을 계산하지만, 하나는 “시간 평균”으로, 다른 하나는 “앙상블 평균”으로 접근한다. 에르고딕 가설이 성립하면 둘이 같은 답에 수렴한다는 것이 이론적 배경이다.
6. 게임과 그래픽스에서[편집]
렌더링 외에도 몬테카를로는 게임·시뮬레이션 곳곳에 스며 있다. 유체·연기·물보라를 표현하는 SPH(Smoothed Particle Hydrodynamics) 같은 입자 기반 시뮬레이션은 확률적 요소와 결합되기 쉽고, 보드게임 AI에서는 몬테카를로 트리 탐색(MCTS)이 알파고의 핵심 엔진 중 하나였다. “무작위로 끝까지 게임을 여러 번 둬보고 승률이 높은 수를 고른다”는 발상이 바로 몬테카를로 정신의 게임판 버전이다.5 진지한 물리 계산부터 오락까지, 주사위 하나로 이렇게 넓은 세계를 커버하는 기법은 흔치 않다.
7. 관련 문서[편집]
8. Footnotes[편집]
-
작명한 사람은 울람의 삼촌이 몬테카를로 카지노에서 돈을 자주 잃었다는 데서 착안했다는 설이 있다. 무작위성과 도박, 그리고 결국 대수의 법칙 앞에서 카지노가 이긴다는 사실까지 생각하면 절묘한 이름이다. ↩
-
울람이 병상에서 카드 게임 솔리테어의 승률을 계산하려다 “경우의 수를 다 따지느니 그냥 여러 번 해보고 세는 게 낫겠다”고 깨달은 것이 시초라는 일화가 유명하다. 그리고 그 게임판이 곧 핵무기 설계로 옮겨갔다. ↩
-
정확히는 메트로폴리스, 로젠블루스 부부, 텔러 부부의 1953년 공동 논문이다. 다만 알고리즘의 실제 착상 기여도를 두고 후대에 논쟁이 있었다. 이름은 관행적으로 메트로폴리스가 대표로 붙었다. ↩
-
몬테카를로 렌더링의 고질병은 “노이즈”다. 표본이 부족하면 화면에 지글지글한 얼룩이 낀다. 수렴이 여기서는 저주로 돌아와, 노이즈를 절반으로 줄이려면 렌더링 시간을 네 배로 늘려야 한다. 최근엔 이 노이즈를 AI 디노이저로 지우는 것이 대세다. ↩
-
MCTS는 이후 딥러닝과 결합되며 순수 무작위 롤아웃 비중이 줄었지만, “불확실할 땐 무작위 시뮬레이션으로 가치를 추정한다”는 뼈대만큼은 여전히 몬테카를로의 후예다. ↩