몬테 카를로 방법
몬테 카를로 방법은 무작위 추출된 난수를 이용하여 원하는 함수의 값을 계산하기 위한 시뮬레이션 방법이다. 자유도가 높거나 닫힌꼴(closed form)의 해가 없는 문제들에 널리 쓰이는 방법이지만, 어느 정도의 오차를 감안해야만 하는 특징이 있다.
몬테카를로 방법의 간단한 예시로 원의 면적을 구하는 것을 들 수 있다.[* 물론 미적분을 배우면 어려운 일이 아니지만, 가장 고전적으로 사용되는 예시이다.] [math] x^2 + y^2 = 1 [/math]이라는 식으로 표현되는 원의 면적을 구하고 싶다고 하자. 이 원은 [math] -1 \leq x \leq 1, -1 \leq y \leq 1 [/math]으로 표현되는, 넓이가 4인 정사각형 공간 안에 완전히 포함되는데, 이 공간 안에서 무작위로 (예를 들어) 10,000개의 난수 순서쌍 [math] (x, y) [/math]을 추출한다.
10,000개의 난수 순서쌍 [math] (x, y) [/math] 가운데에는 [math] x^2 + y^2 \leq 1 [/math]을 만족하여 원 안의 범위에 포함되는 것들이 있을 것이다. 그런 순서쌍들의 개수를 세어 전체 난수에 대한 비율을 계산하면 대략적인 원의 면적을 구할 수 있다. 무작위로 뽑힌 난수의 개수가 늘어날수록 더 정확한 결과를 얻을 수 있으나, 그만큼 더 많은 시간이 걸리는 것을 감안해야 한다. 또한 시뮬레이션 기반 방법이기 때문에, 해석적인 방법과 달리 항상 어느 정도 오차가 있을 수 있음을 감안해야만 한다.