1. 몬테 카를로 방법이란?
https://ko.wikipedia.org/wiki/%EB%AA%AC%ED%85%8C%EC%B9%B4%EB%A5%BC%EB%A1%9C_%EB%B0%A9%EB%B2%95
2. 프로그래밍 예시 - pi 근사값 구하기
:Define mc_pi(r,n)= :Prgm :Local point :For j,1,r :0→inner :For i,1,n : rand(2)→point : If point[1]^(2)+point[2]^(2)≤1 Then : inner+1→inner : EndIf :EndFor :approx(((inner)/(n))*4)→thispi :Disp "#",j,"/",r,", pi=",thispi :augment(pilist,{thispi})→pilist :EndFor :EndPrgm
- 1라운드 당 n회 random 하게 point 를 생성하고 원 내부의 점(inner point)인지를 카운트
- 1라운드 종료시 inner point 갯수로 pi 값 추정 및 저장
- r 라운드 반복 실시하여 통계 분석
3. 결과
mc_pi(5000,1000)
* 꽤 오래 걸리네요.
mc_pi(5000,10000)
구해진 pi 값은 오히려 (5000,1000)보다 더 부정확하게 나왔습니다.