몬테카를로 방법

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

몬테카를로 방법(Monte Carlo method)은 난수를 이용하여 함수의 값을 확률적으로 계산하는 알고리즘을 부르는 용어이다. 수학이나 물리학 등에 자주 사용되며, 계산하려는 값이 닫힌 형식으로 표현되지 않거나 복잡한 경우에 근사적으로 계산할 때 사용된다. 스타니스와프 울람모나코의 유명한 도박의 도시 몬테카를로의 이름을 본따 명명하였다.

1930년 엔리코 페르미중성자의 특성을 연구하기 위해 이 방법을 사용한 것으로 유명하다. 맨해튼 계획의 시뮬레이션이나 수소폭탄의 개발에서도 핵심적인 역할을 담당하였다.

알고리즘의 반복과 큰 수의 계산이 관련되기 때문에 몬테카를로는 다양한 컴퓨터 모의 실험 기술을 사용하여 컴퓨터로 계산하는 것이 적합하다.

예제[편집]

몬테카를로 방법으로 원주율을 계산하는 과정

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

  • [0,1] \times [0,1]에서 점 (x,y)표집한다.
  • 표집한 점이 중심이 (0,0)에 있고 반지름이 1인 원에 속하는지 계산한다. 이는 원의 정의에 따라 x^2 + y^2와 1을 비교함으로써 계산할 수 있다.
  • 위의 두 과정을 충분히 반복하여, 원에 속한 점들의 갯수를 계산한다.

표집 영역과 원의 공통 영역은 \pi/4의 넓이를 가지며, 전체 점 갯수를 원에 속한 점 갯수로 나눈 비율은 이 값을 근사화한다.