이웃 수: 이웃이 많을수록 평균장이 정확하다
평균장 근사는 언제 믿을 수 있을까? 이 근사가 버리는 것은 평균장의 흔들림이다. 스핀 i가 실제로 받는 편향 bᵢ + ΣⱼJᵢⱼsⱼ는 이웃 스핀들이 뒤집힐 때마다 흔들리는데, 근사는 이것을 평균값 하나로 바꾼다. 그러니 이 편향이 덜 흔들릴수록 근사는 정확하다. 작은 결합 여러 개가 더해진 편향은 큰 수의 법칙(서로 독립인 값을 많이 모아 평균 낼수록 그 평균이 덜 흔들린다는 법칙)에 따라 거의 흔들리지 않고, 큰 결합 몇 개가 더해진 편향은 크게 흔들린다.
일상 사례: 공연장의 박수
공연이 끝난 공연장을 떠올려 보자. 관객 한 사람 한 사람은 박수를 계속 칠지를 실제로는 바로 옆 사람들이 치는지를 보고 정한다. 평균장 근사는 모든 관객이 객석 전체에서 들려오는 박수 소리의 평균 크기에만 반응한다고 보는 것이다. 수천 명의 소리가 섞인 큰 공연장이라면 그 평균은 거의 흔들리지 않아 이 어림이 잘 맞지만, 두 사람만 앉은 작은 방에서는 옆 사람이 박수를 멈추는 순간이 평균과 전혀 다르게 들린다.

모든 쌍을 묶은 스핀 N개
가장 극단적인 경우는 모든 쌍을 J/N으로 묶은 스핀 N개다. 결합을 J가 아니라 J/N으로 두는 까닭은 스핀 하나가 받는 편향의 크기를 N과 상관없이 J 안팎에 묶어 두기 위해서다. 짝마다 J로 묶으면 이웃이 N − 1개이니 편향이 N에 비례해 커지고, 스핀을 늘릴수록 자성이 사라지는 온도도 끝없이 올라가 「스핀이 많을 때」를 말할 수 없다. 스핀 하나가 받는 편향은 나머지 N − 1개의 평균 방향에 J를 곱한 것이어서, 공연장의 박수처럼 N이 클수록 덜 흔들린다. 모든 스핀의 평균 방향을 m으로 같게 두면 스핀 하나당 −βF[q]는 H((1 + m)/2) + βJm²/2(N이 클 때)이고 자기 일관 방정식은 m = tanh(βJm)이다. 한편 이 모형의 정확한 ln Z는 위를 향한 스핀 수별로 묶어 정확히 셀 수 있으므로 둘을 직접 비교할 수 있다.
| N | βJ = 0.5의 틈 ln Z + βF[q] | 스핀 하나당 | βJ = 1.5의 틈 | 스핀 하나당 |
|---|---|---|---|---|
| 10 | 0.076 | 0.0076 | 0.783 | 0.078 |
| 100 | 0.094 | 0.00094 | 0.756 | 0.0076 |
| 1000 | 0.096 | 0.00010 | 0.748 | 0.00075 |
| 10000 | 0.097 | 0.00001 | 0.747 | 0.00007 |
틈 전체는 N을 키워도 줄지 않고 βJ = 0.5에서 0.097, βJ = 1.5에서 0.747 근처에 머물지만, 스핀 하나당으로 나누면 N에 반비례해 0으로 간다. 스핀이 많은 계에서는 스핀 하나당 자유에너지와 평균 방향이 평균장으로 정확히 나온다는 뜻이다. βJ = 1.5에서 남는 0.747의 대부분은 ln 2 = 0.693, 곧 곱 분포가 두 봉우리 가운데 하나를 버린 몫이다.
문제 7. 몇 명이 모여야 박수 소리가 고르게 들릴까
관객마다 시간의 70% 동안 박수를 치고, 언제 치고 언제 멈출지는 서로 상관없이 정한다. (가) 30명이 모인 강의실에서 어느 순간 박수를 치는 사람의 비율은 평균 0.7 둘레에서 표준편차로 얼마나 흔들리는가? (나) 이 흔들림을 0.05 아래로 줄이려면 몇 명이 모여야 하는가?

한 사람은 치거나(1) 안 치거나(0)니까 분산이 0.7 × 0.3 = 0.21이고 표준편차가 0.458이에요. 그러니까 비율도 0.458만큼 흔들려요.

그 말대로라면 2000명이 모인 공연장에서도 비율이 0.46만큼 흔들리겠네요?

아, 그럼 공연장이 2명짜리 방이랑 똑같이 들려야 하는데요. 비율은 30명의 평균이니까 분산이 30으로 나뉘어요. √(0.21/30) = 0.084예요.

(나)는 0.458을 몇 명으로 나눠야 0.05가 되는지 보면 되니까, 0.458/0.05 = 9.2라서 열 명이요.

열 명이면 실제로 얼마나 흔들리는지 넣어 볼래요?

√(0.21/10) = 0.145네요. 나누는 건 사람 수가 아니라 그 제곱근이었어요. √(0.21/N) < 0.05에서 N > 0.21/0.0025 = 84, 그러니까 85명은 모여야 해요.

흔들림을 반으로 줄이려면 사람이 네 배 있어야 하는 거네요. 조 평가를 할 때 평가자를 두 명에서 여덟 명으로 늘려야 점수 흔들림이 반이 되는 것처럼요.

수학 시간에 배운 표본평균의 표준오차가 σ/√n이었던 것과 같은 거야.
문제 8. 이웃이 모두일 때
모든 쌍을 J/N으로 묶은 스핀 N개에서 편향은 0이다. (가) βJ = 0.3, 0.9에서 평균장 해와 틈 ln Z + βF[q]를 N = 100, 10000에서 구하라. (나) 곱 분포가 예측하는 N × Var(m)을 정확한 값과 비교하라. (다) 평균장 해 m의 응답 ∂m/∂(βb)를 구하라.

평균장은 βJ < 1에서 m = 0이고, −βF[q] = N ln 2예요. 정확한 ln Z와의 틈은 βJ = 0.3에서 0.0279, 0.0283이고 βJ = 0.9에서 0.587, 0.699예요.

이웃이 모두인 모형에서는 평균장이 정확하다면서요. 그럼 틈이 0으로 가야 하는데, N을 백 배 늘려도 오히려 조금 커졌어요. 제가 뭘 잘못 돌렸나요?

스핀 하나당으로 나눠 봐. βJ = 0.3에서 0.00028이 0.000003으로 가잖아. 정확해지는 건 스핀 하나당 값이고, 전체 틈은 상수로 남는 거야.

그 상수는 어디서 올까요? (나)가 힌트예요.

곱 분포에서는 스핀들이 독립이니까 Var(m) = (1 − m²)/N이고, N × Var(m) = 1이에요. 정확한 값은 N이 클 때 βJ = 0.3에서 1.43, 0.9에서 9.91이었고요. 요동을 0.7배, 10분의 1로 줄여서 보는 거네요.

정확한 계산에서는 m이 0 근처에서 흔들리는 폭만큼 ln Z에 몫이 더해지는데, 그 흔들림을 가우스 적분으로 계산하면 −½ ln(1 − βJ) − βJ/2가 나와요. βJ = 0.3이면 0.028, 0.9면 0.701이라 N이 클수록 틈이 이 값으로 다가가요. 평균장은 평균은 맞히고 평균 둘레의 흔들림만 통째로 버린 거예요.

그럼 (다)요. 평균장 해에 편향을 조금 걸면 m은 얼마나 움직일까요?

m = tanh(βJm + βb)를 βb로 미분하면, 응답을 χ라 하면 m = 0에서 χ = 1 + βJχ니까 χ = 1/(1 − βJ)예요. βJ = 0.3이면 1.43, 0.9면 10… 어? 정확한 N × Var(m)이랑 같아요.

곱 분포 자체는 요동이 1이라고 말하는데, 그 평균이 편향에 따라 움직이는 정도는 정확한 요동을 알고 있네. 요동과 응답이 같다는 관계를 평균장 해에 쓰면 버린 요동이 돌아오는 거야.

그걸 마지막 문제에서 실제 데이터에 써 봅시다.