Statistics and Probability2012. 7. 11. 01:40
반응형

몬테카를로 법 (Monte Carlo Method)

 

위키피디아에 의하면, 몬테카를로 법은 물리적 수학적 시스템의 행동을 시뮬레이션하기 위한 계산 알고리즘 이라고 합니다. 다른 알고리즘과는 달리 통계학적이고, 일반적으로 무작위의 숫자를 사용하는 비결정적인 방법이라네요.

몬테카를로 시뮬레이션의 응용분야는 높은 자유도를 갖는 액체, 무질서한 물질, 강결합된 고체 등의 시스템을 연구하는데 유용하다고 합니다.

 

이게 뭔소리야? 라고 생각해서 위키피디아의 영문판을 살펴보았습니다.

 

몬테카를로 법은 결과를 계산하기 위해 랜덤한 샘플의 반복으로 구하는 계산 알고리즘입니다. 자유도(degrees of freedom)이 높은 시스템을 시뮬레이션하기 위해 주로 쓰여지구요.

 

몬테카를로 법의 계산은 다양하지만, 주로 4가지의 절차를 따릅니다.

1. 가능한 입력상수의 범위를 정의합니다.

2. 입력상수의 범위 안에서 확률분포를 통해 입력상수를 생성합니다.

3. 생성된 입력상수에 대한 계산을 합니다.

4. 계산 결과를 종합합니다.

 

예를 들어볼까요?

가로세로가 1인 정사각형안에 접하는 원을 그려봅시다. 원과 정사각형의 넓이가 pi : 4 의 비율일때(간단히 계산가능하죠?), pi는 몬테카를로 법에의해 추측될 수 있습니다. 위의 네가지 절차를 따라보죠.

 

 1. 일단 정사각형을 그리고 그안에 원을 그립니다.

 (내접하는 원 그렸음 ㅋ)

2. 정사각형위에 같은 크기의 가진 물질(모래나 쌀 등)을 골고루 분포합니다.

3. 분포한 쌀(혹은 모래)의 전체 갯수를 세고, 원안에 들어가있는 갯수를 셉니다.

4. 그 두 갯수의 비율이 정사각형과 원의 넓이의 비율이겠죠. 정사각형의 넓이가 4 이므로, 앞의 측정한 비율을 4에 맞춰준다면 pi(원주율)을 추측할 수 있습니다.

 

아니 이게 뭐야? 이게다야? 라고 생각하실 수도 있는데, 저는 그렇게 생각했답니다.

그래서 좀 더 자세히 들여다 봤습니다.

첫번째로 정사각형을 그리고 내접하는 원을 그리는 것은 입력상수의 범위를 제한하는 겁니다.

두번째로 쌀알을 골고루 분포하는데, 여기서 분포는 확률분포의 개념이 들어갈 수가 있겠죠. 분포를 랜덤하게 하는가, 아니면 일반분포를 쓰는가에 따라 분포의 종류가 많이 바뀌겠네요.

세번째와 네번째로 분포된 입력상수를 계산하고 결과를 종합하는게 숫자를 세고 비율을 곱하는 거겠죠.

실제로 원주율을 컴퓨터로 구한다고 했을 때 여러가지 어려운 계산방법으로 완전 복잡한 계산을 해야된다고 합니다.

그런데 방금 말한 간단한 방법으로 원주율을 정확하게는 아니더라도 어느정도 가깝게 구할 수가 있는거죠.

물론 쌀알보다 작은 모래알로 하면(횟수를 늘리면) 더욱 정확한 추측이 되겠죠.

이런 식으로 몬테카를로법은 이론적인 지식만으로 계산하기 어려운 수치들을 구할 필요가 있을때에 널리 쓰인다고 합니다.

 

 

 

 

728x90
반응형
Posted by Gun들지마