정사각형 안에 무작위 점을 찍는 것만으로 원주율 π를 근사할 수 있습니다. 가로와 세로가 1인 정사각형의 왼쪽 아래 모서리를 중심으로 반지름 1인 사분원을 그립니다. 정사각형의 넓이는 1이고 사분원의 넓이는 π/4입니다. 점이 정사각형 전체에 균일하고 서로 독립적으로 놓인다면 사분원 안에 들어갈 확률도 π/4입니다.
전체 점 N개 가운데 x²+y²≤1을 만족하는 점이 H개라면 H/N이 π/4에 가까워집니다. 따라서 π̂=4H/N을 계산합니다. 이 방식은 몬테카를로 적분의 가장 친숙한 예입니다. 다만 결과는 난수에 따라 흔들리는 근삿값이며, 점을 10배 늘린다고 보통 오차가 10분의 1로 줄지는 않습니다.
π̂ = 4 × (사분원 안의 점 수 H / 전체 점 수 N)
넓이의 비율이 확률이 되는 이유
(X,Y)를 [0,1]×[0,1]에서 균일하게 고른다고 하겠습니다. 균일하다는 말은 같은 넓이의 영역이 같은 선택 확률을 갖는다는 뜻입니다. 전체 정사각형의 넓이가 1이므로 어떤 부분 영역에 점이 들어갈 확률은 그 영역의 넓이와 같습니다.
사분원은 x²+y²≤1인 점의 집합입니다. 반지름 1인 원의 넓이는 π이고 그 4분의 1은 π/4입니다. 따라서 P(X²+Y²≤1)=π/4입니다. 기하학의 넓이 문제를 확률 문제로 바꾼 셈입니다.
| 영역 | 넓이 | 점이 들어갈 확률 |
|---|---|---|
| 단위 정사각형 | 1 | 1 |
| 반지름 1인 사분원 | π/4 | π/4 |
| 사분원 밖 정사각형 부분 | 1−π/4 | 1−π/4 |
알고리즘을 한 단계씩 따라가기
- 0≤x≤1, 0≤y≤1인 난수 한 쌍을 생성합니다.
- x²+y²≤1인지 검사합니다.
- 조건을 만족하면 사분원 안의 점 H를 1 늘립니다.
- 이 과정을 N번 반복합니다.
- 마지막에 4H/N을 계산합니다.
제곱근을 계산할 필요는 없습니다. 원점까지의 거리가 1 이하인지 보려면 √(x²+y²)≤1 대신 x²+y²≤1을 검사하면 됩니다. 계산 결과는 같고 제곱근 연산을 피할 수 있습니다.
작은 표본으로 계산해 보기
점 100개를 찍어 79개가 사분원 안에 들어갔다면 π̂=4×79/100=3.16입니다. 다른 실행에서 76개가 들어가면 3.04가 됩니다. 둘 중 하나가 계산 실수인 것이 아니라 무작위 표본의 차이입니다. N이 작을 때는 실행마다 흔들림이 큽니다.
| 전체 N | 내부 H | π 근삿값 4H/N |
|---|---|---|
| 100 | 79 | 3.1600 |
| 1,000 | 786 | 3.1440 |
| 10,000 | 7,856 | 3.1424 |
표의 H 값은 계산법을 보여 주는 예시이며 특정 난수열의 필연적인 결과가 아닙니다. 실제 실행에서는 다른 숫자가 나옵니다. 알고리즘의 성능은 한 번의 보기 좋은 결과가 아니라 여러 독립 실행의 평균, 분산, 신뢰구간으로 평가해야 합니다.
큰 수의 법칙이 비율을 π/4로 보낸다
각 점에 대해 사분원 안이면 Iᵢ=1, 밖이면 Iᵢ=0인 지시변수를 정의합니다. Iᵢ의 성공확률은 p=π/4이고, H=I₁+···+Iₙ입니다. 표본비율 H/N은 지시변수의 평균입니다. 독립적인 균일 표본이라는 조건에서 큰 수의 법칙은 N이 커질수록 H/N이 p에 수렴함을 말합니다.
E[H/N]=p=π/4, 따라서 E[4H/N]=π
이 추정량은 기댓값이 π와 같은 불편추정량입니다. 그렇다고 한 번 계산한 값이 반드시 π에 가깝다는 뜻은 아닙니다. 기댓값은 같은 절차를 매우 많이 반복했을 때 결과의 평균에 관한 말이고, 개별 실행의 오차는 분산으로 설명합니다.
오차는 왜 1/√N 속도로 줄어드나
H는 성공확률 p=π/4인 이항분포를 따릅니다. H/N의 분산은 p(1−p)/N이고, π̂=4H/N의 분산은 16p(1−p)/N입니다. 표준편차는 4√(p(1−p)/N)입니다. p≈0.7854를 넣으면 표준편차는 약 1.642/√N입니다.
| 표본 N | π̂의 표준편차 근사 | 약 95% 범위의 반폭 |
|---|---|---|
| 1,000 | 0.0519 | 약 0.102 |
| 10,000 | 0.0164 | 약 0.032 |
| 1,000,000 | 0.00164 | 약 0.0032 |
표본 수를 100배 늘려야 표준 오차가 약 10분의 1이 됩니다. 소수점 자릿수를 하나 더 안정적으로 얻으려면 대략 100배의 점이 더 필요하다는 의미입니다. 이 때문에 몬테카를로 π는 원주율의 많은 자릿수를 빠르게 구하는 경쟁적인 알고리즘은 아닙니다.
95% 신뢰구간을 만드는 방법
N이 충분히 크면 중심극한정리에 따라 π̂는 평균 π, 표준편차 4√(p(1−p)/N)인 정규분포에 가깝게 움직입니다. p를 모르므로 실제 계산에서는 p̂=H/N을 넣어 표준오차를 추정할 수 있습니다. 근사적인 95% 신뢰구간은 π̂±1.96×4√(p̂(1−p̂)/N)입니다.
신뢰구간은 특정 계산에서 π가 확률적으로 움직인다는 뜻이 아닙니다. π는 고정된 상수입니다. 같은 표본 추출 절차를 반복해 만든 구간 가운데 약 95%가 참값을 포함하도록 설계된 절차라는 뜻입니다. N이 작거나 난수가 독립적이지 않으면 정규근사가 부정확할 수 있습니다.
난수의 품질이 계산의 전제다
컴퓨터의 일반적인 난수 생성기는 결정적인 알고리즘으로 만든 의사난수입니다. 좋은 의사난수열은 필요한 범위에서 균일성과 독립성에 가까운 통계적 성질을 가집니다. 같은 시드를 사용하면 같은 점열을 재현할 수 있어 실험과 디버깅에 유용합니다.
좌표가 균일하지 않거나 x와 y가 강하게 상관되어 있으면 면적 비율이 확률을 제대로 나타내지 못합니다. 저해상도 난수, 짧은 주기, 잘못된 범위 변환도 편향을 만들 수 있습니다. 암호학적으로 안전한 난수가 반드시 필요한 계산은 아니지만, 사용할 생성기의 통계적 성질과 재현 조건은 기록해야 합니다.
무작위 점 그림이 균일해 보여도 충분하지 않다
몇백 개 점을 화면에 그려 고르게 보인다고 해서 독립성과 균일성이 증명되는 것은 아닙니다. 사람의 눈은 군집을 비정상으로 느끼기 쉽지만 완전한 무작위 표본에서도 가까운 점들이 뭉칩니다. 반대로 규칙적인 격자는 보기에는 고르지만 무작위 표본이 아닙니다.
계산 검증에는 알려진 난수 테스트, 여러 시드의 반복, 이론적 표준오차와 관측 분산의 비교를 사용할 수 있습니다. 결과 그림은 직관을 돕지만 통계적 검증을 대신하지 않습니다.
고차원에서 몬테카를로 방법이 쓰이는 이유
π 예제는 2차원이라 격자 적분이나 원주율 전용 공식이 훨씬 효율적입니다. 몬테카를로 방법의 장점은 차원이 높아져도 기본적인 표본 오차가 대체로 1/√N 꼴이라는 데 있습니다. 격자 방식은 차원마다 점을 촘촘히 놓을 때 전체 점 수가 급격히 늘어나는 ‘차원의 저주’를 겪습니다.
물리학, 금융, 불확실성 전파, 베이즈 계산에서는 적분 영역이나 확률모형이 복잡해 직접 적분하기 어려울 수 있습니다. 이때 확률분포에서 표본을 만들고 함수값을 평균내는 방식이 실용적입니다. π 계산은 그 구조를 평면 도형으로 단순하게 보여 줍니다.
단순 몬테카를로와 더 정교한 표본법
점들을 완전히 독립적으로 뽑는 방법 외에도 층화추출, 중요도추출, 대조변량, 준몬테카를로 수열 같은 분산 감소 기법이 있습니다. 층화추출은 영역을 나누고 각 구역에서 표본을 골라 특정 구역에 점이 몰리는 현상을 줄입니다. 준몬테카를로는 난수 대신 공간을 고르게 채우는 저불일치 수열을 사용합니다.
이 방법들은 목적과 전제가 다릅니다. 준몬테카를로 점은 독립 난수가 아니므로 단순 이항분포 신뢰구간을 그대로 붙일 수 없습니다. 분산 감소를 적용했다면 추정량과 오차 계산도 그 설계에 맞춰 바꿔야 합니다.
아르키메데스 계산과 무엇이 다른가
아르키메데스가 내접·외접 96각형으로 π의 범위를 좁힌 방법은 기하학적 상한과 하한을 제공합니다. 다각형의 변 수와 계산 오차를 관리하면 참값을 끼워 넣을 수 있습니다. 몬테카를로 방식은 무작위 표본에 따라 값이 위아래로 흔들리며 확률적 오차를 제공합니다.
둘 다 원의 넓이나 둘레를 단순한 계산 대상으로 바꾼다는 공통점이 있지만 보증 방식은 다릅니다. 다각형법은 결정적이고, 단순 몬테카를로법은 확률적입니다. 원주율 자체를 고정밀로 계산하려면 두 방법 외에도 빠르게 수렴하는 급수와 산술기하평균 같은 전용 알고리즘이 쓰입니다.
생일 역설과 같은 확률 계산을 시뮬레이션할 때
확률을 공식으로 구할 수 있는 문제도 시뮬레이션으로 확인할 수 있습니다. 예를 들어 23명 가운데 같은 생일이 있을 확률을 구하는 생일 역설은 이론값과 반복 실험 비율을 비교하기 좋습니다. 다만 시뮬레이션 결과는 수학적 증명을 대체하지 않습니다. 알고리즘이나 가정을 점검하는 별도의 도구입니다.
자주 하는 실수
- 정사각형 전체가 아니라 원을 둘러싼 다른 영역에서 같은 4배 공식을 그대로 씁니다.
- x와 y를 균일하고 독립적으로 뽑지 않습니다.
- 점 하나가 경계 위에 놓이는 경우가 연속분포에서는 확률 0이라는 점과 유한 정밀도 구현을 구분하지 않습니다.
- 한 번 우연히 좋은 근삿값이 나온 것을 알고리즘의 일반 정확도로 판단합니다.
- N을 10배 늘리면 오차도 10분의 1이 된다고 생각합니다. 표준오차는 약 1/√N입니다.
- 몬테카를로 π를 고정밀 원주율 계산의 가장 빠른 방법이라고 설명합니다.
몬테카를로 π FAQ
점이 많아지면 반드시 이전보다 더 정확해지나요?
장기적으로 오차 규모는 줄지만 매번 단조롭게 가까워지는 것은 아닙니다. N에서 우연히 매우 가까운 값이 나왔다가 점을 더 추가했을 때 잠시 멀어질 수도 있습니다. 수렴은 확률적·장기적인 성질입니다.
왜 결과에 4를 곱하나요?
단위 정사각형 안 사분원의 넓이가 π/4이기 때문입니다. 내부 비율 H/N이 π/4를 추정하므로 4배 하면 π 추정량이 됩니다.
이 방법으로 π의 몇 자리까지 구할 수 있나요?
표본 수와 난수 품질에 따라 달라집니다. 표준오차가 약 1.642/√N이므로 자릿수 하나를 더 안정화하려면 표본을 대략 100배 늘려야 합니다. 고정밀 계산에는 비효율적입니다.
핵심 정리
단위 정사각형에서 균일하게 고른 점이 사분원 x²+y²≤1 안에 들어갈 확률은 넓이비 π/4입니다. N개 가운데 H개가 내부에 들어가면 π̂=4H/N입니다. 독립적인 균일 표본이라는 조건에서 큰 수의 법칙이 이 값을 π로 수렴시킵니다.
추정량의 표준오차는 약 1.642/√N이므로 수렴은 느립니다. 몬테카를로 π의 가치는 π의 신기록을 세우는 데 있지 않고, 복잡한 넓이와 적분을 무작위 표본의 평균으로 바꾸는 몬테카를로 방법의 핵심을 눈으로 확인하는 데 있습니다.