몬테카를로 방법

몬테카를로 방법(Monte Carlo method) 또는 몬테카를로 실험은 반복된 무작위 추출(repeated random sampling)을 이용하여 함수의 값을 수리적으로 근사하는 알고리즘을 부르는 용어이다. 수학이나 물리학 등에 자주 사용되며, 계산하려는 값이 닫힌 형식으로 표현되지 않거나 복잡한 경우에 근사적으로 계산할 때 사용된다. 몬테카를로 방법은 주로 확률 분포에서 확률 변수값을 생성하는 작업, 수학적 최적화, 수치적분 등에서 활용된다. 알고리즘의 반복과 큰 수의 계산이 관련되기 때문에 몬테카를로 방법은 다양한 컴퓨터 모의 실험 기술을 사용하여 컴퓨터로 계산하는 것이 적합하다.

엔리코 페르미가 중성자의 특성을 연구하기 위해 이 방법을 사용한 것으로 유명하다. 맨해튼 계획의 시뮬레이션이나 수소폭탄의 개발에서도 핵심적인 역할을 담당하였다. 몬테카를로(Monte Carlo)라는 용어 또한 맨해튼 계획에 참여하고 있던 니콜라스 메트로폴리스가 맨해튼 계획이 끝나가던 1947년에 제안한 이름이다. 맨해튼 계획 당시 그의 동료였던 폴란드 출신 수학자 스타니스와프 울람에게는 삼촌이 있었는데, 그는 모나코의 유명한 도박의 도시 몬테카를로에서 도박을 하기 위해 친척들의 돈을 종종 빌려갔다. 몬테카를로 방법 또한 무작위성이 있으므로 이로부터 이름이 유래된 것이 지금까지 이어져 내려왔다.

물리 문제에서 몬테카를로 방법은 유체, 무질서한 물질, 강하게 결합한 고체 및 세포 구조와 같은 많은 결합 자유도를 가진 시스템을 모의실험하는 데 유용하다. 그 밖의 예로는 사업의 위험성 계산과 같은 입력 값에 상당한 불확실성이 있는 모델링 현상과, 수학에서는 복잡한 경계 조건을 가진 다차원의 정적분이 있다. 우주, 석유 탐사, 항공기 설계 등의 시스템 엔지니어링 문제에 적용할 경우, 실패, 비용 초과 및 스케줄 초과에 대한 몬테카를로 방법 기반의 예측은 많은 경우 인간의 직관 또는 수리적인 계산이 적은 다른 대안들보다 나은 결과를 가져온다.

대체적으로, 몬테카를로 방법은 확률론적 해석을 가진 문제를 해결하기 위해 사용될 수 있다. 큰 수의 법칙에 의해, 어떤 확률 변수의 기댓값으로 설명되는 적분는 랜덤표본(random sample)의 표본 평균을 취함으로써 근사치를 구할 수 있다. 변수의 확률 분포가 매개변수로 표현 가능할 때는 주로 마르코프 연쇄 몬테카를로(MCMC) 샘플러를 사용한다. MCMC 방법에 의해 생성되는 표본의 극한 분포는 원하는 (목표) 분포의 표본이 될 것이기 때문에 핵심 아이디어는 잘 규정된 정상(stationary) 확률 분포를 가진 마르코프 연쇄 모델을 설계하는 것이다. 에르고딕 정리에 의해, 정상(stationary) 확률 분포는 MCMC 샘플러의 무작위 상태의 경험적 측도에 의해 근사된다.

다른 문제에서의 목표는 비선형 발전 방정식(evolution equation)을 만족시키는 일련의 확률 분포에서 표본을 뽑는 것이다. 이러한 확률 분포의 흐름은 변환 확률이 현재 무작위 상태의 분포에 따라 달라지는 마르코프 연쇄의 무작위 상태의 분포로 항상 해석될 수 있다. (McKean – Vlasov 프로세스, 비선형 필터링 방정식 참조). 다른 경우에는 시간 지평선이 증가하는 경로 공간 모델, 온도 매개변수 감소와 관련된 Boltzmann – Gibbs 측도 등 표본 복잡도가 증가하는 확률 분포의 흐름이 주어진다. 이 모델들은 비선형 마르코프 연쇄의 무작위 상태의 법칙이 발전된 것으로도 볼 수 있다. 이러한 정교한 비선형 마르코프 연쇄를 시뮬레이션하는 자연스러운 방법은 해당 마르코프 연쇄의 많은 사본을 표집하여 발전 방정식(evolution equation)에서 무작위 상태의 알 수 없는 분포를 표본의 경험적 측도로 대체하는 것이다. 전통적인 몬테카를로 및 MCMC 방법과는 대조적으로, 이러한 평균-장 입자 방법은 순차적으로 상호작용하는 표본들에 의존한다. 평균-장이라는 용어는 각 표본(예: 입자, 개인, 보행자, 대리인, 생물 또는 표현형)이 마르코프 연쇄의 경험적 측도과 상호작용한다는 사실을 반영한다. 시스템의 크기가 무한대로 발산할 때, 이러한 무작위 경험적 측도는 비선형 마르코프 연쇄의 무작위 상태의 결정론적 분포로 수렴하여 입자 사이의 통계적 상호작용이 사라진다.

예제 

몬테카를로 방법은 다양하지만, 특정한 패턴을 따르는 경향이 있다.

표본 공간의 값으로 가능한 범위를 정의한다.
표본 공간의 확률 분포에서 임의로 표본을 뽑는다. (표집한다.)
표본에 대한 결정론적인 계산을 수행한다.
결과를 집계한다.

예를 들어 단위 정사각형에 새겨진 사분원(원형 부분)을 생각해 보자. 몬테카를로 방법을 사용해서 의 값을 근사치로 추정할 수 있다.

정사각형을 그린 다음, 그 안에 사분원을 삽입한다.
정사각형 위에 일정한 개수의 점을 균일하게 분포한다.
사분원 내부의 점(즉, 원점으로부터 1 미만)의 개수를 센다.
내부의 개수와 전체 개수의 비율은 두 영역의 비율을 나타낸다. 그 값에 4를 곱하여 를 만든다.

여기서 두 가지의 중요한 점이 있다.

점이 균일하게 분포되지 않으면 근사치가 떨어진다.
평균적으로 더 많은 점을 배치할수록 근사치가 개선된다.

다음은 원주율을 계산하는 몬테카를로 알고리즘의 한 예시이다.

 에서 점 를 표집한다.
 표집한 점이 중심이 에 있고 반지름이 1인 원에 속하는지 계산한다. 이는 원의 정의에 따라 와 1을 비교함으로써 계산할 수 있다.
 위의 두 과정을 충분히 반복하여, 원에 속한 점들의 개수를 계산한다.

표집 영역과 원의 공통 영역은 의 넓이를 가지며, 원에 속한 점 개수를 전체 점 개수로 나눈 비율은 를 근사한다.

같이 보기 
 몬테카를로 알고리즘
 준몬테카를로 방법

참고 문헌

인용

출처

외부 링크 
 

 
수치해석학
통계역학
계산물리학
확률적 알고리즘