3장 — 온도

평형: ln W의 기울기가 같아지는 곳에서 멈춘다

표를 보면 가장 흔한 분배가 3 : 3이라는 것은 알 수 있지만, 왜 하필 그곳인지는 아직 드러나지 않는다. 덩어리를 하나씩 옮겨 가며 경우의 수가 어떻게 변하는지 살펴보면 그 이유가 보인다.

역사: 다니엘 베르누이와 돈의 쓸모

덩어리를 옮겨 보기 전에, 돈에서 먼저 알려진 비슷한 현상을 보자. 통장 잔고가 적은 사람에게 만 원은 큰 돈이지만 부자에게는 별것 아닌데, 이 흔한 경험이 수학의 문제가 된 것은 동전 던지기 내기 하나 때문이었다.

1713년 니콜라우스 베르누이가 편지에 적은 내기에서는 앞면이 나올 때까지 동전을 던지고, 뒷면이 한 번 나올 때마다 상금을 두 배로 올린다. 상금이 2, 4, 8, …로 커지는 동안 그 상금을 받을 확률은 1/2, 1/4, 1/8, …로 줄어서, 각 경우의 「확률 × 상금」은 늘 1이다. 이 1을 끝없이 더하면 기대 상금은 무한대가 된다. 기댓값대로라면 전 재산을 걸고라도 이 내기에 들어가야 하지만, 실제로는 누구도 큰돈을 내려 하지 않는다. 사촌인 다니엘 베르누이는 1738년 상트페테르부르크 학술원 논문집에 실은 글에서, 사람이 따지는 것은 상금의 액수가 아니라 그 돈이 주는 쓸모이고 "돈의 쓸모는 재산의 로그에 비례한다"고 가정해 이 수수께끼를 풀었다. 로그로 재면 뒤쪽의 큰 상금이 보태는 쓸모가 점점 작아져서 내기의 값이 유한해지는데, 이 내기는 논문이 실린 곳의 이름을 따 상트페테르부르크의 역설이라 불린다. 아래에서 보듯, 에너지 덩어리와 경우의 수의 로그 사이에도 이와 같은 관계가 있다.

다니엘 베르누이(1700–1782). 출처: Wikimedia Commons(작자 미상, 1720년 무렵, Bammesk 편집), CC BY-SA 4.0
다니엘 베르누이(1700–1782). 출처: Wikimedia Commons(작자 미상, 1720년 무렵, Bammesk 편집), CC BY-SA 4.0
김민준 M01
김민준

기댓값이 무한대인데 아무도 큰돈을 안 낸다면, 기댓값으로 따지는 게 틀렸다고 하면 끝 아니에요?

선생님 T03
선생님

그럼 기댓값 대신 무엇으로 따져야 하죠? 1713년에 편지를 주고받던 사람들도 거기서 막혔어요.

이서연 S04
이서연

음… 상금이 클수록 덜 쳐 준다는 건 느낌으로는 알겠는데, 얼마나 덜 쳐 줘야 하는지는 정할 근거가 없네요.

선생님 T01
선생님

그래요. 사람이 돈을 얼마나 반기는지 잰 자료가 없었어요. 다니엘 베르누이는 그 빈자리에 「재산의 로그」라는 가정을 놓았고, 니콜라우스의 편지에서 25년 뒤의 일이에요.

김민준 M02
김민준

지금이면 사람들한테 물어서 자료를 모으고 곡선을 맞춰 볼 텐데, 그때는 가정 하나로 버틴 거네요.

이서연 S02
이서연

로그면 적게 가진 사람한테 만 원이 더 크게 들어오니까 느낌하고는 맞아요. 그런데 에너지 덩어리에도 「적게 가진 쪽이 하나를 더 반긴다」가 성립할까요?

한 덩어리씩 옮겨 보기

B에서 A로 덩어리 하나를 옮기면 A의 ln W는 늘고 B의 ln W는 줄어든다. 두 변화량 가운데 어느 쪽이 큰지를 비교하면, 그 덩어리를 옮기는 것이 전체 경우의 수를 늘리는지 줄이는지 알 수 있다.

현재 q_A A가 하나 더 받을 때 ln W_A 증가 B가 하나 잃을 때 ln W_B 감소 전체 ln W 변화
0 1.10 0.29 +0.81
1 0.69 0.34 +0.36
2 0.51 0.41 +0.11
3 0.41 0.51 −0.11
4 0.34 0.69 −0.36

표에서 눈에 띄는 것은 덩어리를 적게 가진 계일수록 하나를 더 받았을 때 담는 방법이 크게 늘어난다는 점이다. 이미 많이 가진 계는 하나를 더 받아도 별로 늘지 않는다. 그러므로 덩어리는 "받았을 때 경우의 수가 더 많이 늘어나는 쪽"으로 옮겨 가고, 두 증가량이 같아지는 q_A = 3 근처에서 더 이상 옮겨 갈 이유가 없어진다. 이렇게 덩어리가 오가기는 해도 어느 쪽으로도 더 쏠리지 않는 상태를 평형 (주고받기가 한쪽으로 쏠리지 않는 상태, equilibrium)이라 한다.

적게 가진 쪽이 하나를 더 반긴다. 2만 원에 1만 원을 더하면 ln(재산)이 0.41 늘지만 200만 원에서는 0.005 늘고, 칸 3개인 계도 덩어리 0개일 때와 4개일 때 하나를 더 받으면 ln W가 각각 1.10과 0.34 는다.
적게 가진 쪽이 하나를 더 반긴다. 2만 원에 1만 원을 더하면 ln(재산)이 0.41 늘지만 200만 원에서는 0.005 늘고, 칸 3개인 계도 덩어리 0개일 때와 4개일 때 하나를 더 받으면 ln W가 각각 1.10과 0.34 는다.

큰 계에서는 날카로워진다

이제 계를 키워 보자. A의 칸을 300개, B의 칸을 200개로 늘리고 덩어리 100개를 나눠 갖게 하면 다음과 같은 결과를 얻는다.

값
가장 흔한 q_A 60
q_A의 표준편차 약 5.4
50 ≤ q_A ≤ 70일 확률 약 95%
q_A ≤ 40일 확률 약 0.02%
q_A = 60에서 A의 증가량 / B의 증가량 1.775 / 1.767

여기서 두 가지를 읽어낼 수 있다. 첫째, 분배는 칸 수의 비 300 : 200과 같은 60 : 40이므로, 평형에서 같아지는 것은 에너지 총량이 아니라 표 마지막 줄의 증가량이다. 둘째, 계가 커지자 분배가 거의 하나로 정해졌다. 칸이 3개일 때는 가장 흔한 분배가 21.6%에 불과했지만, 여기서는 60 근처를 벗어난 분배가 거의 일어나지 않는다.

그렇다면 계를 더 키우면 분배의 표준편차를 가장 흔한 값으로 나눈 비율은 어떤 규칙으로 줄어들까? 칸 수와 덩어리 수를 모두 10배씩 키워 가며 같은 계산을 해 보면 다음과 같다.

칸 A · B, 덩어리 가장 흔한 q_A q_A의 표준편차 표준편차 ÷ 가장 흔한 값
300 · 200, 100 60 5.4 8.9%
3,000 · 2,000, 1,000 600 17.0 2.8%
30,000 · 20,000, 10,000 6,000 53.7 0.89%

표준편차 자체는 커지지만 가장 흔한 값보다 훨씬 느리게 커져서, 표준편차 ÷ 가장 흔한 값은 계를 10배 키울 때마다 약 √10 ≈ 3.2배씩 줄어든다. 칸이 10²³개쯤인 실제 물체라면 표준편차 ÷ 가장 흔한 값은 10⁻¹¹보다도 작아져서 어떤 측정으로도 볼 수 없다.

연속으로 쓰면

덩어리가 충분히 많으면 "하나를 옮길 때의 변화"를 미분으로 바꿔 쓸 수 있다. 전체 에너지 E = E_A + E_B가 고정되어 있을 때 ln W_A(E_A) + ln W_B(E − E_A)를 E_A로 미분해 0으로 놓으면 다음을 얻는다.

∂ln⁡WA∂EA=∂ln⁡WB∂EB\frac{\partial \ln \textcolor{#d62728}{W_A}}{\partial \textcolor{#ff7f0e}{E_A}} = \frac{\partial \ln \textcolor{#d62728}{W_B}}{\partial \textcolor{#ff7f0e}{E_B}}
WAA에 에너지를 담는 방법의 수EAA가 가진 에너지WBB에 에너지를 담는 방법의 수EBB가 가진 에너지\begin{array}{ll} \textcolor{#d62728}{W_A} & \text{A에 에너지를 담는 방법의 수} \\ \textcolor{#ff7f0e}{E_A} & \text{A가 가진 에너지} \\ \textcolor{#d62728}{W_B} & \text{B에 에너지를 담는 방법의 수} \\ \textcolor{#ff7f0e}{E_B} & \text{B가 가진 에너지} \end{array}
직접 움직여 보기두 계가 덩어리를 나눠 갖기크게 열기

코드로 확인하기

앞에서 손으로 세어 본 결과를 이번에는 코드로 확인해 보자. 아래 코드는 칸 수와 덩어리 수를 정해 주면 가능한 모든 분배의 확률을 계산하고, 분배가 어디에 모이는지, 그리고 그곳에서 두 계의 증가량(코드의 beta)이 정말 같아지는지를 출력한다. 칸 수와 덩어리 수를 바꿔 가며 돌려 보면 분배가 모이는 자리가 어떻게 달라지는지 직접 볼 수 있다.

from math import comb, log

def W(N, q):                      # 칸 N개에 덩어리 q개를 담는 방법의 수
    return comb(q + N - 1, q)

def beta(N, q):                   # 덩어리 하나를 더 받을 때 ln W 증가량
    return log(W(N, q + 1)) - log(W(N, q))

NA, NB, q = 300, 200, 100
total = sum(W(NA, a) * W(NB, q - a) for a in range(q + 1))
prob = [W(NA, a) * W(NB, q - a) / total for a in range(q + 1)]

best = max(range(q + 1), key=lambda a: prob[a])
print(best)                                   # 60
print(sum(prob[50:71]))                       # 약 0.95
print(beta(NA, best), beta(NB, q - best))     # 약 1.775, 1.767

NA, NB, q를 10배씩 키워 돌리면 앞의 표처럼 분배의 폭이 상대적으로 좁아지는 것을 직접 확인할 수 있다. 다만 이렇게 키우면 이항계수가 매우 커지므로, W를 직접 구하는 대신 ln W를 math.lgamma로 계산하는 것이 좋다.

문제 1. 용돈 10만 원 나누기

돈의 쓸모가 재산의 로그에 비례한다고 하자. 재산이 1만 원인 동생과 5만 원인 형에게 부모님이 용돈 10만 원을 만 원 단위로 나눠 주려 한다. 두 사람의 ln(재산)을 더한 값이 가장 커지게 하려면 동생에게 얼마를 주어야 하는가? 그때 두 사람의 재산은 각각 얼마인가?

재산이 1만 원인 동생과 5만 원인 형이 ln(재산) 곡선 위에 놓인 자리와, 만 원 단위로 나눠 줄 용돈 10만 원
재산이 1만 원인 동생과 5만 원인 형이 ln(재산) 곡선 위에 놓인 자리와, 만 원 단위로 나눠 줄 용돈 10만 원
김민준 M01
김민준

공평하게 5만 원씩이요. 동생은 6만 원, 형은 10만 원이 되고요.

선생님 T01
선생님

5만 원씩 나눈 상태에서 형이 받은 5만 원 가운데 만 원 한 장을 동생에게 옮기면, 두 사람의 ln(재산)은 각각 얼마나 변하죠?

김민준 M04
김민준

동생은 6만에서 7만이 되니까 ln(7/6) ≈ 0.154 늘고, 형은 10만에서 9만이 되니까 ln(10/9) ≈ 0.105 줄어요. 합이 늘었네요. 반반이 가장 좋은 게 아니었어요.

선생님 T01
선생님

그럼 언제까지 옮기면 될까요?

김민준 M01
김민준

동생 7만 원, 형 3만 원을 주면 둘 다 8만 원이에요. 여기서 한 장 더 옮기면 동생은 ln(9/8) ≈ 0.118 늘고 형은 ln(8/7) ≈ 0.134 줄어서 손해예요. 동생에게 7만 원이네요.

이서연 S09
이서연

똑같이 나눈 건 용돈이 아니라 마지막 만 원의 쓸모였네. 그게 같아지는 자리에서 멈춘 거고.

문제 2. 덩어리 8개는 어떻게 나뉘나

칸이 3개씩인 계 A, B가 에너지 덩어리 8개를 나눠 가질 때, A가 덩어리를 하나도 갖지 않을 확률과 4개를 가질 확률을 구하라. (풀어 본 뒤 위젯 1의 「문제 2 불러오기」로 가장 흔한 분배를 확인해 보자.)

칸이 3개씩인 계 A, B가 덩어리 8개를 나눠 가질 때, A가 덩어리 0개인 배치와 4개인 배치를 하나씩 예로 그린 것
칸이 3개씩인 계 A, B가 덩어리 8개를 나눠 가질 때, A가 덩어리 0개인 배치와 4개인 배치를 하나씩 예로 그린 것
김민준 M01
김민준

q_A가 0부터 8까지 9가지니까 둘 다 1/9 아니에요?

선생님 T14
선생님

q_A = 0이 되는 담는 방법은 모두 몇 가지이고, q_A = 4가 되는 담는 방법은 몇 가지죠? 칸마다 덩어리가 몇 개인지까지 다 적은 배치를 하나하나 센다고 생각해 보세요.

김민준 M04
김민준

q_A = 0이면 A는 칸 셋이 다 비니까 1가지예요. B는 칸 3개에 8개를 담아야 하는데… 별과 칸막이로 늘어놓으면 별 8개, 칸막이 2개라서 C(10, 8) = 45가지요.

선생님 T02
선생님

그 45를 무엇으로 나눠야 확률이 될까요?

김민준 M07
김민준

전체 배치 수요. 칸 6개에 8개를 담는 C(13, 8) = 1287가지니까 45/1287 ≈ 0.035예요.

선생님 T01
선생님

q_A = 4는요?

김민준 M08
김민준

A와 B가 둘 다 칸 3개에 4개씩이니까 15 × 15 = 225, 225/1287 ≈ 0.175이네요. 9가지 결과마다 들어 있는 배치 수가 다르니까 확률도 다르고요.

선생님 T01
선생님

맞아요. 같은 확률을 주는 건 미시상태예요, 거시상태가 아니라. 칸마다 덩어리가 몇 개인지까지 다 적은 배치 하나하나가 미시상태이고, q_A처럼 묶어서 본 요약값이 거시상태예요.

이서연 S12
이서연

민준아, 그거 주사위 두 개 합이랑 같은 실수다. 합이 2인 것과 7인 것이 같은 확률이 아니잖아. 그런데 선생님, 그럼 에너지는 두 계가 똑같이 나눠 갖는 게 법칙이네요. 4 : 4가 가장 많고, 아까 용돈도 결국 8만 원씩 똑같아졌으니까요.

선생님 T14
선생님

가장 흔한 건 맞지만 17.5%예요. 나머지 82%는 다른 분배예요. 법칙이라고 부르려면 거의 항상 그렇게 돼야 하죠. 칸을 300개, 200개로 늘리고 덩어리 100개를 나누면 분배가 50~70 사이에 95% 모여요. 계가 커야 확률이 법칙처럼 보여요.

이서연 S06
이서연

그런데 그때 가장 흔한 건 60 : 40이잖아요. 똑같이 나누는 것도 아니네요.

선생님 T01
선생님

칸 수가 300 : 200이라서예요. 같아지는 건 덩어리 하나를 더 받을 때 ln W가 늘어나는 양이에요. 양쪽 원자가 같은 종류라 칸당 덩어리가 같아진 겁니다.

이서연 S10
이서연

그럼 용돈 문제에서 재산이 똑같아진 것도 ln(재산)의 기울기가 1/재산이라 재산에만 달려 있어서였네요. 덩어리는 칸 수가 다르면 칸당 덩어리가 같아지는 거고요. 같아지는 건 늘 하나 더의 값이에요.

선생님 T01
선생님

위젯 1에서 문제 2 설정을 불러와 4 : 4가 정말 가장 흔한지, 그 막대가 전체에서 얼마나 되는지 확인해 보세요.

위젯 1 · 문제 2 설정
위젯에서 열기: 위젯 1 · 문제 2 설정