
화산이 햇빛을 가린다, 화산 겨울(Volcanic Winter)

끓는점의 차이로 나눈다, 증류(Distillation)
동전을 천 번 던지면 앞면이 몇 번 나올지 계산하는 일은 어렵지 않습니다. 하지만 카드 52장으로 하는 혼자 놀이가 성공할 확률처럼 경우의 수가 너무 많은 문제는 공식으로 풀기가 막막합니다. 이럴 때 계산을 포기하는 대신 직접 여러 번 해 보고 결과를 세어 보는 방법이 있습니다. 그것이 바로 ‘몬테카를로 방법(Monte Carlo Method)’입니다.
몬테카를로 방법이란 쉽게 말해 ‘무작위로 수많은 시도를 반복한 뒤, 그 결과를 모아 평균을 내서 답을 어림하는 계산법’을 의미합니다. 정확한 공식을 몰라도 우연을 충분히 많이 모으면 진짜 답에 가까워진다는 생각이 이 방법의 바탕입니다.
본 자료에서는 몬테카를로 방법이 태어난 배경부터 작동 원리와 대표 예시, 그리고 오늘날 쓰이는 분야와 주의할 점까지 차례로 살펴보겠습니다.

우연을 모아 답을 찾는 계산법
몬테카를로 방법은 어떻게 탄생했는가?

1946년, 폴란드 출신 수학자 스타니스와프 울람(Stanisław Ulam)은 병을 앓고 회복하던 중 카드 혼자 놀이를 하다가 한 가지 궁금증을 품었습니다. 이 놀이가 성공할 확률은 얼마일까 하는 질문이었습니다. 경우의 수를 따져 계산하려다 지친 그는 ‘차라리 백 번쯤 직접 해 보고 성공한 횟수를 세는 편이 더 현실적이지 않을까’ 하고 생각했습니다.
울람은 이 생각을 미국 로스앨러모스 연구소에서 함께 일하던 존 폰 노이만(John von Neumann)에게 들려주었습니다. 두 사람은 당시 풀리지 않던 중성자 확산 문제에 이 방법을 적용하기로 했습니다. 연구가 비밀이어서 암호명이 필요했는데, 동료 니컬러스 메트로폴리스(Nicholas Metropolis)가 울람의 삼촌이 친척에게 돈을 빌려 도박을 하러 가던 모나코의 몬테카를로 카지노에서 이름을 따왔습니다. 1948년 봄에는 초기 전자계산기 에니악(ENIAC)으로 처음 자동 계산이 이루어졌습니다.
몬테카를로 방법의 4단계 작동 원리

방법마다 세부는 다르지만, 몬테카를로 방법은 대체로 같은 흐름을 따릅니다.
(1) 가능한 범위를 정한다
먼저 답을 찾기 위해 입력값이 놓일 수 있는 범위를 정합니다. 예를 들어 판매량, 원자재 가격, 날씨처럼 결과에 영향을 주는 변수와 그 범위를 정하는 단계입니다.
(2) 무작위로 값을 뽑는다
정한 범위 안에서 확률에 따라 입력값을 무작위로 뽑습니다. 오늘날에는 컴퓨터가 만드는 난수를 쓰는데, 고르게 뽑히지 않으면 결과가 크게 틀어질 수 있습니다.
(3) 한 번씩 계산한다
뽑은 값을 넣어 정해진 방식대로 결과를 계산합니다. 이 과정을 수천 번, 수백만 번 되풀이합니다.
(4) 결과를 모은다
모든 결과를 모아 평균이나 분포를 구합니다. 큰 수의 법칙에 따라 시도가 많아질수록 평균은 진짜 값에 가까워집니다. 단순히 평균 하나만 얻는 것이 아니라 ‘손해를 볼 확률은 몇 %인가’처럼 결과가 어떻게 퍼져 있는지도 함께 볼 수 있다는 점이 큰 장점입니다.
쉬운 예시로 이해하는 몬테카를로 방법

몬테카를로 방법을 가장 쉽게 보여 주는 예는 원주율 구하기입니다.
[사례 1] 점을 뿌려 원주율 구하기
한 변이 1인 정사각형 안에 반지름 1인 사분원을 그립니다. 두 넓이의 비율은 원주율을 4로 나눈 값입니다. 이제 정사각형 위에 점을 고르게 무작위로 뿌리고, 사분원 안에 들어간 점의 비율을 셉니다. 이 비율에 4를 곱하면 원주율에 가까운 값이 나오고, 점을 많이 뿌릴수록 3.14에 점점 가까워집니다. 점이 100개쯤일 때는 3.0이나 3.3처럼 들쭉날쭉한 값이 나오기 쉽지만, 수십만 개를 넘기면 소수 둘째 자리까지 맞는 경우가 많아집니다. 복잡한 계산 없이 점을 세는 것만으로 원주율을 구한 셈입니다.
[사례 2] 바늘을 떨어뜨리는 실험
비슷한 생각은 훨씬 오래전에도 있었습니다. 18세기 프랑스 박물학자 뷔퐁(Comte de Buffon)은 평행선이 그어진 바닥에 바늘을 떨어뜨렸을 때 바늘이 선에 걸칠 확률을 계산했습니다. 이 확률에 원주율이 들어 있어서, 바늘을 수없이 던지고 걸친 횟수를 세면 원주율을 어림할 수 있습니다. 이 ‘뷔퐁의 바늘(Buffon’s Needle)’ 문제는 몬테카를로 방법의 초기 형태로 꼽힙니다.
몬테카를로 방법이 쓰이는 곳과 한계

몬테카를로 방법은 변수가 많고 불확실성이 큰 문제에서 특히 힘을 발휘합니다. 변수가 수십, 수백 개로 늘어나면 모든 경우를 하나씩 따지는 계산은 금세 불가능해지지만, 무작위로 뽑는 방식은 변수의 수와 상관없이 같은 방식으로 쓸 수 있기 때문입니다.
- 금융(Finance): 주가와 금리가 움직일 수 있는 길을 수없이 만들어 투자 위험과 옵션 가격을 따집니다.
- 일기예보(Weather Forecasting): 처음 조건을 조금씩 바꾼 여러 예측을 한꺼번에 돌리는 앙상블 예보의 바탕이 됩니다.
- 컴퓨터 그래픽(Computer Graphics): 빛이 지나가는 길을 무작위로 추적해 사진 같은 장면을 그립니다.
- 바둑 인공지능(Game AI): 몬테카를로 트리 탐색으로 수많은 가상 대국을 두어 좋은 수를 고릅니다.
- 해상 수색(Search and Rescue): 미국 해안경비대는 바람과 해류를 반영해 실종 선박이 있을 만한 위치를 수천 개씩 만들어 보고 수색 구역을 정합니다.
다만 한계도 분명합니다. 오차는 시도 횟수의 제곱근에 반비례해서 줄어들기 때문에, 오차를 절반으로 줄이려면 시도를 네 배로 늘려야 합니다. 한 번 계산이 무거운 문제라면 시간이 엄청나게 걸릴 수 있습니다. 또 입력값의 범위나 확률을 잘못 정하면 아무리 많이 반복해도 틀린 답에 가까워질 뿐입니다.
몬테카를로 방법은 정답을 단번에 구할 수 없을 때, 우연을 충분히 모으면 믿을 만한 답에 다가갈 수 있다는 사실을 보여 줍니다. 카드 놀이에서 시작된 작은 궁금증이 핵물리학과 금융, 인공지능까지 바꾼 셈입니다.
완벽한 공식이 없다고 멈추지 않고 수많은 가능성을 직접 시험해 보는 것, 그것이 불확실한 세상에서 더 나은 판단을 내리기 위한 지혜의 첫걸음입니다.


