허브는 어디서 오는가 — 성장과 선호적 연결
SNA 이론 · 단계별 학습 차례

단원 4-6The Barabasi-Albert Model

허브는 어디서 오는가 — 성장과 선호적 연결

SNA 이론 · 단계별 학습STAGED+ 스터디
오늘 배우는 것 한 줄 요약
4-5에서 우리는 "허브가 있다"를 측정하는 법을 배웠다. 가라테의 분산/평균은 3.28, BA 그래프는 5.29, 무작위는 1.02였다.
그런데 그런 분포가 생기는지는 아직 모른다. 오늘은 딱 두 가지 규칙 — 새 사람이 들어온다(성장), 이미 인기 있는 쪽으로 붙는다(선호적 연결) — 만으로 γ=3\gamma=3인 거듭제곱 분포가 필연적으로 나온다는 것을 손으로 유도한다.
그리고 그 두 규칙 중 어느 쪽이 진짜 원인인지를 통제 실험으로 가른다.

1. 오늘의 질문: 허브는 어디서 오는가 (Where Do Hubs Come From?)

지금까지 만난 모형은 전부 정적이었다. G(n,p)G(n,p)nn명을 한꺼번에 세워 놓고 동전을 던졌고, 와츠–스트로가츠는 완성된 고리를 놓고 간선을 재배선했다. 둘 다 사람 수가 처음부터 정해져 있다.

그런데 실제 교실은 그렇지 않다. 3월 2일에 서른 명이 동시에 서로를 알게 되는 게 아니라, 관계가 하나씩 시간에 걸쳐 생긴다. 전학생은 4월에 들어온다. 동아리는 5월에 만들어진다.

바라바시와 알버트(1999)의 주장은 이것이다 — 차수 분포가 거듭제곱이 되는 이유는 그래프가 어떻게 생겼는지가 아니라 어떻게 자랐는지에 있다.

4-5에서 남긴 숙제
가라테의 분산/평균 3.277, 최대 차수 17(평균의 3.7배), 무작위 200회 중 그만큼 쏠린 경우 0회. 쏠림이 있다는 것은 확인했다. 원인은 아직 모른다.
오늘 답할 질문 세 개:
① 어떤 규칙이 쏠림을 만드는가? ② 그 규칙에서 γ\gamma는 몇이 나오는가? ③ 규칙 중 어느 것이 진짜 원인인가?

2. 정의 — 성장과 선호적 연결 (Growth and Preferential Attachment)

BA 모형은 규칙이 두 개뿐이다.

규칙 ① 성장 (Growth)

시각 t=1,2,3,t=1,2,3,\dots마다 정점 한 개가 새로 들어온다. 들어올 때 간선 mm개를 들고 온다. 따라서 시각 tt에 정점은 tt개, 간선은 대략 mtmt개, 차수 합은 idi2mt\sum_i d_i \approx 2mt이다.

규칙 ② 선호적 연결 (Preferential Attachment)

새 정점이 상대를 고를 때, 정점 ii를 고를 확률은 ii의 현재 차수에 비례한다.

Π(i)  =  dijdj \Pi(i) \;=\; \frac{d_i}{\displaystyle\sum_{j} d_j}

이게 전부다. "친구가 많은 애한테 더 붙는다" — 흔히 부익부(rich-get-richer), 머튼의 용어로는 마태 효과(Matthew effect)라 부른다.

분모를 정확히 세어 두자 (손 계산에서 계속 쓴다)
m=1m=1이고 정점 2개·간선 1개에서 시작한다고 하자. 정점 tt들어오려는 순간 그래프에는 정점 t1t-1개, 간선 t2t-2개가 있다. 따라서 jdj  =  2×(간선 수)  =  2(t2) \sum_j d_j \;=\; 2\times(\text{간선 수}) \;=\; 2(t-2) t=3t=3이면 2, t=4t=4면 4, t=5t=5면 6… 매 시각 정확히 2씩 늘어난다. (간선 하나가 양 끝의 차수를 1씩 올리므로.)

확률의 합이 1인지 확인하는 것도 매번 해 두자. iΠ(i)=idi/jdj=1\sum_i \Pi(i)=\sum_i d_i/\sum_j d_j = 1 — 자동으로 1이다. 손 계산 표에서 이 열을 검산에 쓴다.

3. 손 계산 ① 일곱 명이 들어오는 동안 (Hand Simulation: Seven Arrivals)

m=1m=1, 시작은 정점 1–2가 연결된 상태(차수 1, 1). 정점 3부터 7까지 다섯 명을 넣어 본다. 매 시각 모든 정점의 Π\Pi를 하나도 빼놓지 않고 쓴다.

t=3t=3 — 차수 합 2 (Degree Sum 2)

정점 ii차수 did_iΠ(i)=di/2\Pi(i)=d_i/2소수
111/21/20.5000
211/21/20.5000
22/22/21.0000 ✓

뽑힌 상대: 1번. 새 차수 → 1번=2, 2번=1, 3번=1.

t=4t=4 — 차수 합 4 (Degree Sum 4)

정점 ii차수 did_iΠ(i)=di/4\Pi(i)=d_i/4소수
122/42/40.5000
211/41/40.2500
311/41/40.2500
44/44/41.0000 ✓

뽑힌 상대: 1번. 새 차수 → 1번=3, 나머지 1.

t=5t=5 — 차수 합 6 (Degree Sum 6)

정점 ii차수 did_iΠ(i)=di/6\Pi(i)=d_i/6소수
133/63/60.5000
211/61/60.1667
311/61/60.1667
411/61/60.1667
66/66/61.0000 ✓

뽑힌 상대: 1번. 새 차수 → 1번=4, 나머지 1.

t=6t=6 — 차수 합 8 (Degree Sum 8)

정점 ii차수 did_iΠ(i)=di/8\Pi(i)=d_i/8소수
144/84/80.5000
211/81/80.1250
311/81/80.1250
411/81/80.1250
511/81/80.1250
88/88/81.0000 ✓

뽑힌 상대: 4번 — 확률 1/81/8짜리 사건이 실제로 일어났다. 새 차수 → 1번=4, 4번=2, 나머지 1.

t=7t=7 — 차수 합 10 (Degree Sum 10)

정점 ii차수 did_iΠ(i)=di/10\Pi(i)=d_i/10소수
144/104/100.4000
211/101/100.1000
311/101/100.1000
422/102/100.2000
511/101/100.1000
611/101/100.1000
1010/1010/101.0000 ✓

뽑힌 상대: 5번. 최종 차수 → (4, 1, 1, 2, 2, 1, 1).

정점 2개에서 7개까지 선호적 연결로 자라는 그래프 여섯 단계
그림 45. 손으로 돌린 다섯 단계. 빨간 정점이 그 시각에 새로 들어온 사람, 정점 크기는 차수에 비례. 1번이 초반 세 번을 연속으로 가져가면서 자리를 굳혔다.
검산 세 가지
① 차수 합 =4+1+1+2+2+1+1=12=2×6= 4+1+1+2+2+1+1 = 12 = 2\times 6 → 간선 6개 ✓
② 정점 7개, 간선 6개 =n1= n-1m=1m=1이면 결과는 항상 나무(tree)다. 순환이 있을 수 없다 (새 정점은 늘 하나의 기존 정점에만 붙으니까). 이 사실은 §11에서 다시 쓴다.
③ 1번의 차수 4는 전체 차수 합 12의 33.3%. 7명 중 한 명이 연결의 3분의 1을 갖는다.
확률이지 필연이 아니다
t=6t=6에서 1번의 확률은 0.5였는데 0.125짜리 4번이 뽑혔다. t=7t=7에서도 1번이 아니라 5번이었다. 선호적 연결은 유리함을 줄 뿐 승리를 보장하지 않는다. §4에서 이 산포가 얼마나 큰지 숫자로 본다.

4. 손 계산 ② 왜 먼저 온 사람이 이기는가 (First-Mover Advantage)

표를 보면 1번이 계속 유리했다. 그 유리함을 식으로 뽑아 보자. 차수를 연속량으로 취급하는 연속 근사(continuum approximation)를 쓴다.

시각 tt에서 정점 ii가 차수를 얻는 속도는 "새 정점이 들고 온 간선 mm개 각각이 ii를 고를 확률"이다.

dit  =  mΠ(i)  =  mdijdj  =  mdi2mt  =  di2t \frac{\partial d_i}{\partial t} \;=\; m\cdot\Pi(i) \;=\; m\cdot\frac{d_i}{\sum_j d_j} \;=\; m\cdot\frac{d_i}{2mt} \;=\; \frac{d_i}{2t}

mm이 약분되어 사라지는 것을 눈여겨보자. 변수를 분리한다.

ddidi=dt2t        lndi=12lnt+C        di(t)=Ct \frac{dd_i}{d_i} = \frac{dt}{2t} \;\;\Longrightarrow\;\; \ln d_i = \tfrac12\ln t + C \;\;\Longrightarrow\;\; d_i(t) = C'\sqrt{t}

초기 조건은 "정점 ii는 자기가 들어온 시각 tit_i에 차수 mm으로 시작한다", 즉 di(ti)=md_i(t_i)=m. 따라서 C=m/tiC' = m/\sqrt{t_i}이고

  di(t)  =  mtti   \boxed{\;d_i(t) \;=\; m\sqrt{\dfrac{t}{t_i}}\;}

지수가 12\tfrac12라는 것이 핵심이다. 이 지수를 β\beta라 부른다.

손으로 읽어 보기 (Reading It by Hand)

묻는 것계산
n=10000n=10000일 때 1번의 기대 차수 (m=1m=1)1×10000/11\times\sqrt{10000/1}100
100번째로 들어온 사람은10000/100=100\sqrt{10000/100}=\sqrt{100}10
마지막(10000번)에 들어온 사람은10000/10000=1\sqrt{10000/10000}=11
1번 대 마지막 사람의 비n=10000\sqrt{n}=\sqrt{10000}100배
34명 학급이라면 1번 대 34번34\sqrt{34}5.83배

차수의 격차는 실력 차이가 아니라 도착 시각의 제곱근 차이다. 모두가 똑같은 규칙을 따르는데도 그렇다.

들어온 시각에 따른 최종 평균 차수, 로그로그 눈금에서 기울기 -0.5의 직선
그림 46. n=10000n=10000, m=1m=1, 400회 평균. 회색 점선이 이론 t/ti\sqrt{t/t_i}, 분홍 막대가 10~90% 범위. 회귀 기울기 0.531-0.531(이론 0.5-0.5), R2=0.994R^2=0.994.
tit_i평균 차수중앙값최댓값이론 N/ti\sqrt{N/t_i}평균/이론
1107.989413100.01.079
2118.799.553470.71.679
554.742.530344.71.223
1033.32221531.61.053
5013.599514.10.954
1009.666910.00.957
5004.263274.470.952
10003.122183.160.987
25001.961.582.000.981
50001.42151.411.001
100001.00111.001.000

ti=2t_i=2 한 줄만 이론에서 크게 벗어난다(1.679). 이유는 모형 탓이 아니라 시작 상태 탓이다 — 정점 1과 2는 처음부터 서로 연결된 채 동시에 존재하므로 실제로는 둘 다 ti=1t_i=1이다. 회색 점선이 2번에 대해 10000/2=70.7\sqrt{10000/2}=70.7을 요구하는 것이 잘못이다.

평균은 이야기의 절반이다 — 1번의 최종 차수 분포 (400회)
최소 1 · 1사분위 41 · 중앙값 89 · 3사분위 152.5 · 최대 413
1번이 최고 차수가 될 확률은 40.8%에 그친다. 어떤 판에서는 1번이 차수 1로 끝났다. 반면 관측한 11개 정점 중 ti10t_i\le 10인 넷 중 하나가 최고인 비율은 99.75%다.
읽는 법: "누가" 허브가 될지는 예측할 수 없지만, "언제 들어온 사람"이 될지는 거의 확실하다.

5. 손 계산 ③ 차수 분포를 재귀로 (Exact Degree Distribution by Recursion)

이제 분포 전체를 구한다. m=1m=1로 놓자. nk(t)n_k(t)를 "시각 tt에 차수가 정확히 kk인 정점의 수"라 하자.

주방정식 (Master Equation)

정점 t+1t+1이 들어와 간선 하나를 붙일 때 무슨 일이 일어나는지 세 가지로 나눠 센다.

사건확률 또는 개수nkn_k에 미치는 영향
차수 k1k-1인 정점이 뽑혀 kk가 된다(k1)nk1(t)2t\dfrac{(k-1)\,n_{k-1}(t)}{2t}++
차수 kk인 정점이 뽑혀 k+1k+1이 된다knk(t)2t\dfrac{k\,n_k(t)}{2t}-
새 정점 자신이 차수 1로 등장1개 (단, k=1k=1일 때만)+δk,1+\delta_{k,1}

분자가 knkk\,n_k인 이유: 차수 kk인 정점이 nkn_k개 있고 각각이 확률 k/2tk/2t로 뽑히므로 "차수 kk인 누군가가 뽑힐" 기댓값은 knk/2tk n_k/2t다. 분모 2t2t는 §2에서 센 차수 합이다.

nk(t+1)  =  nk(t)  +  (k1)nk1(t)    knk(t)2t  +  δk,1 n_k(t+1) \;=\; n_k(t) \;+\; \frac{(k-1)\,n_{k-1}(t) \;-\; k\,n_k(t)}{2t} \;+\; \delta_{k,1}

정상 해 (Stationary Solution)

"분포의 모양은 굳어지고 인원만 비례해서 늘어난다"고 가정한다. 즉 nk(t)=P(k)tn_k(t)=P(k)\cdot t. 대입하면

P(k)(t+1)  =  P(k)t  +  (k1)P(k1)t    kP(k)t2t  +  δk,1 P(k)(t+1) \;=\; P(k)\,t \;+\; \frac{(k-1)P(k-1)\,t \;-\; k\,P(k)\,t}{2t} \;+\; \delta_{k,1}

양변에서 P(k)tP(k)t를 빼고 tt를 약분하면 tt가 완전히 사라진다 — 이게 정상 해가 존재한다는 증거다.

P(k)  =  (k1)P(k1)kP(k)2  +  δk,1 P(k) \;=\; \frac{(k-1)P(k-1) - k\,P(k)}{2} \;+\; \delta_{k,1}

k=1k=1일 때 (The Case k = 1)

차수 0인 정점은 없으므로 P(0)=0P(0)=0. 대입하면

P(1)=01P(1)2+1    2P(1)=P(1)+2    3P(1)=2    P(1)=23 P(1) = \frac{0 - 1\cdot P(1)}{2} + 1 \;\Longrightarrow\; 2P(1) = -P(1) + 2 \;\Longrightarrow\; 3P(1)=2 \;\Longrightarrow\; \boxed{P(1)=\tfrac23}

k2k\ge 2일 때 — 재귀식 (The Recursion)

2P(k)=(k1)P(k1)kP(k)    (k+2)P(k)=(k1)P(k1) 2P(k) = (k-1)P(k-1) - k\,P(k) \;\Longrightarrow\; (k+2)P(k) = (k-1)P(k-1)   P(k)P(k1)  =  k1k+2   \boxed{\;\frac{P(k)}{P(k-1)} \;=\; \frac{k-1}{k+2}\;}

4-5의 푸아송 재귀 P(k)/P(k1)=λ/kP(k)/P(k-1)=\lambda/k와 나란히 놓고 보자. 푸아송은 비가 kk반비례해서 빠르게 0으로 떨어지지만, BA는 비가 k1k+2\frac{k-1}{k+2}1에 가까워진다(k=10k=10에서 0.75, k=100k=100에서 0.971). 꼬리가 안 끊기는 이유가 여기 있다.

전부 전개하기 (Expanding Every Term)

kkk1k+2\dfrac{k-1}{k+2}재귀 전개분수소수닫힌식 4k(k+1)(k+2)\dfrac{4}{k(k+1)(k+2)}
13P(1)=23P(1)=22/32/30.66666674/64/6
21/41/423×14\tfrac23\times\tfrac141/61/60.16666674/244/24
32/52/516×25\tfrac16\times\tfrac251/151/150.06666674/604/60
43/63/6115×36\tfrac{1}{15}\times\tfrac361/301/300.03333334/1204/120
54/74/7130×47\tfrac{1}{30}\times\tfrac472/1052/1050.01904764/2104/210
65/85/82105×58\tfrac{2}{105}\times\tfrac581/841/840.01190484/3364/336
76/96/9184×69\tfrac{1}{84}\times\tfrac691/1261/1260.00793654/5044/504
87/107/101126×710\tfrac{1}{126}\times\tfrac{7}{10}1/1801/1800.00555564/7204/720
98/118/111180×811\tfrac{1}{180}\times\tfrac{8}{11}2/4952/4950.00404044/9904/990
109/129/122495×912\tfrac{2}{495}\times\tfrac{9}{12}1/3301/3300.00303034/13204/1320

마지막 열이 정확히 일치한다. 즉 재귀의 닫힌 해

  P(k)  =  4k(k+1)(k+2)  (m=1) \boxed{\;P(k) \;=\; \frac{4}{k(k+1)(k+2)}\;}\qquad (m=1)

R로 k=1k=1부터 30까지 재귀와 닫힌식을 비교하면 최대 오차가 3.5×10183.5\times10^{-18} — 부동소수점 잡음뿐이다.

검산: 평균 차수가 2m=22m=2여야 한다
k=1KkP(k)=k=1K4(k+1)(k+2)=4k=1K(1k+11k+2)=4(121K+2)=24K+2 \sum_{k=1}^{K} k\,P(k) = \sum_{k=1}^{K}\frac{4}{(k+1)(k+2)} = 4\sum_{k=1}^{K}\left(\frac{1}{k+1}-\frac{1}{k+2}\right) = 4\left(\frac12 - \frac{1}{K+2}\right) = 2 - \frac{4}{K+2} 중간 항이 망원경처럼 상쇄된다. K=30K=30에서 24/32=1.8752-4/32=1.875 — R 값과 정확히 일치. KK\to\infty이면 2

일반 mm (General m)

같은 계산을 mm에 대해 하면 kmk\ge m에서

P(k)=2m(m+1)k(k+1)(k+2) P(k)=\frac{2m(m+1)}{k(k+1)(k+2)}

mm상수만 바꾼다. kk에 대한 의존성 k3k^{-3}은 그대로다. 이것이 다음 절의 핵심이다.

6. 왜 γ=3\gamma=3인가 — CCDF로 확인 (Why Gamma Equals 3)

4-5에서 배운 대로, 로그로그에 그릴 것은 히스토그램이 아니라 CCDF다. BA는 CCDF도 닫힌식으로 나온다.

망원경 항등식 (The Telescoping Identity)

다음을 확인하자. 우변을 통분하면

2j(j+1)2(j+1)(j+2)=2[(j+2)j]j(j+1)(j+2)=4j(j+1)(j+2)=P(j) \frac{2}{j(j+1)} - \frac{2}{(j+1)(j+2)} = \frac{2\big[(j+2)-j\big]}{j(j+1)(j+2)} = \frac{4}{j(j+1)(j+2)} = P(j)

따라서 P(j)P(j)의 꼬리 합은 중간 항이 전부 지워지고 첫 항만 남는다.

Fˉ(k)=jkP(j)=[2k(k+1)2(k+1)(k+2)]+[2(k+1)(k+2)2(k+2)(k+3)]+ \bar F(k)=\sum_{j\ge k}P(j) =\left[\frac{2}{k(k+1)}-\frac{2}{(k+1)(k+2)}\right] +\left[\frac{2}{(k+1)(k+2)}-\frac{2}{(k+2)(k+3)}\right]+\cdots   Fˉ(k)  =  2k(k+1)   \boxed{\;\bar F(k) \;=\; \frac{2}{k(k+1)}\;}

검산: Fˉ(1)=2/(12)=1\bar F(1)=2/(1\cdot2)=1 ✓ (모두가 차수 1 이상이다).

kk12345681012162030
Fˉ(k)=2k(k+1)\bar F(k)=\frac{2}{k(k+1)}113\tfrac1316\tfrac16110\tfrac1{10}115\tfrac1{15}121\tfrac1{21}136\tfrac1{36}155\tfrac1{55}178\tfrac1{78}1136\tfrac1{136}1210\tfrac1{210}1465\tfrac1{465}
소수1.000.3333.1667.1000.0667.0476.0278.0182.0128.00735.00476.00215

γ\gamma를 뽑는다 (Extracting γ)

kk가 커지면 k(k+1)k2k(k+1)\approx k^2이므로

Fˉ(k)    2k2  =  2k2 \bar F(k)\;\approx\;\frac{2}{k^{2}} \;=\; 2\,k^{-2}

로그로그에서 기울기는 2-2. 4-5에서 유도한 항등식 γ=1(CCDF 기울기)\gamma = 1-(\text{CCDF 기울기})를 쓰면

  γ  =  1(2)  =  3   \boxed{\;\gamma \;=\; 1-(-2) \;=\; 3\;}

같은 결론을 P(k)P(k) 쪽에서도 확인할 수 있다. k3P(k)=4k2(k+1)(k+2)k^3P(k)=\dfrac{4k^2}{(k+1)(k+2)}이므로 k=8k=8에서 464910=2.844\dfrac{4\cdot64}{9\cdot10}=2.844, k=12k=12에서 41441314=3.165\dfrac{4\cdot144}{13\cdot14}=3.165 — 천천히 4로 수렴한다. 즉 P(k)4k3P(k)\to 4k^{-3}.

가장 중요한 한 줄
γ=3\gamma=3에는 조절할 손잡이가 없다. mm을 바꿔도, nn을 바꿔도 3이다. 와츠–스트로가츠의 pp처럼 돌릴 것이 없다. 규칙 두 개를 정하는 순간 지수가 결정된다.
이건 강점이자 약점이다 — 설명력은 크지만 실제 자료의 γ\gamma가 2.1이든 3.8이든 맞출 수가 없다.

7. R 검증 ① 모의가 정확식을 따라가는가 (Simulation vs Exact Formula)

손으로 얻은 Fˉ(k)=2/(k(k+1))\bar F(k)=2/(k(k+1))를 실제 모의와 맞춰 본다. n=100000n=100000, m=1m=1, 20회 평균.

d <- igraph::degree(sample_pa(100000, power=1, m=1,
                              zero.appeal=0, directed=FALSE))
sapply(1:14, function(k) mean(d >= k))      # 모의 CCDF
2/((1:14)*(2:15))                           # 이론 CCDF
kk이론 2/k(k+1)2/k(k+1)모의 CCDF모의/이론
11.0000001.0000001.0000
20.3333330.3333120.9999
30.1666670.1663200.9979
40.1000000.0999010.9990
50.0666670.0666480.9997
60.0476190.0475820.9992
70.0357140.0356650.9986
80.0277780.0277871.0003
90.0222220.0222921.0031
100.0181820.0183111.0071
120.0128210.0129371.0090
140.0095240.0095861.0065

오차가 1% 이내다. 손으로 유도한 식이 맞다.

γ\gamma 자체도 재 보자. n=50000n=50000:

mm이론 γ\gammaCCDF 회귀최대우도 α\alpha최대 차수
132.8772.907358
232.9522.887684
332.9202.949685

모두 3에 붙지만 조금씩 모자란다(2.88~2.95). 왜 정확히 3이 안 나오는지는 §10에서 다룬다 — 자료 탓이 아니다.

8. R 검증 ② 성장만으로는 부족하다 (Growth Alone Is Not Enough)

규칙이 둘이었다. 어느 쪽이 진짜 원인인가? 통제 실험을 한다 — 성장은 그대로 두고 선호적 연결만 끈다.

Π(i)=dijdjΠ(i)=1t1  (모두 똑같이) \Pi(i)=\frac{d_i}{\sum_j d_j} \quad\longrightarrow\quad \Pi(i)=\frac{1}{t-1}\ \ (\text{모두 똑같이})
d1 <- igraph::degree(sample_pa(5000, power=1, m=1, zero.appeal=0, directed=FALSE))  # 선호적
d0 <- igraph::degree(sample_pa(5000, power=0, m=1,                directed=FALSE))  # 균등

손으로: 균등 연결의 분포 (By Hand: The Uniform-Attachment Distribution)

같은 주방정식을 확률만 바꿔 쓴다. 이제 뽑힐 확률이 차수와 무관하므로 분자에서 kk가 빠진다.

nk(t+1)=nk(t)+nk1(t)nk(t)t+δk,1 n_k(t+1) = n_k(t) + \frac{n_{k-1}(t)-n_k(t)}{t} + \delta_{k,1}

nk(t)=P(k)tn_k(t)=P(k)t를 넣고 tt를 약분하면

P(k)=P(k1)P(k)+δk,1 P(k) = P(k-1) - P(k) + \delta_{k,1}

k=1k=1: P(1)=0P(1)+1P(1)=12P(1)=0-P(1)+1 \Rightarrow P(1)=\tfrac12. k2k\ge2: 2P(k)=P(k1)P(k)=12P(k1)2P(k)=P(k-1) \Rightarrow P(k)=\tfrac12 P(k-1). 따라서

  P(k)=(12)k,Fˉ(k)=(12)k1   \boxed{\;P(k)=\left(\tfrac12\right)^{k},\qquad \bar F(k)=\left(\tfrac12\right)^{k-1}\;}

검산: k(1/2)k=1\sum_k (1/2)^k = 1 ✓, kk(1/2)k=2=2m\sum_k k(1/2)^k = 2 = 2m ✓. 거듭제곱이 아니라 지수 분포다.

두 재귀를 나란히
선호적: P(k)P(k1)=k1k+2\dfrac{P(k)}{P(k-1)}=\dfrac{k-1}{k+2}kk가 커지면 1에 가까워진다(꼬리가 안 끊긴다)
균등:  P(k)P(k1)=12\dfrac{P(k)}{P(k-1)}=\dfrac{1}{2}kk무관하게 매번 반토막(꼬리가 지수적으로 끊긴다)
성장은 양쪽 다 있다. 차이를 만든 것은 오직 Π\Pi다.
반로그에서는 균등 연결이 직선, 로그로그에서는 선호적 연결이 직선
그림 47. 같은 n=5000n=5000, 같은 평균 차수 2. 왼쪽 반로그(가로 선형·세로 로그)에서는 균등이 직선(R2=0.995R^2=0.995), 오른쪽 로그로그에서는 선호적이 직선(R2=0.962R^2=0.962). 회색 점선은 §6의 이론 2/k(k+1)2/k(k+1).
지표선호적 (BA)균등 (성장만)
평균 차수2.0002.000
최대 차수10014
차수 분산13.8802.026
분산/평균 (4-5의 DD)6.9411.013
상위 1%(50명) 차수 점유율13.62%4.33%
반로그 R2R^20.7120.995
로그로그 R2R^20.9620.936
반로그 기울기0.663-0.663 (이론 ln12=0.693\ln\tfrac12=-0.693)

평균 차수가 똑같이 2인데 최대 차수가 100 대 14, 분산/평균이 6.94 대 1.01이다. 균등 연결의 D=1.013D=1.013은 4-5에서 본 무작위 그래프의 1.025와 사실상 같다 — 성장만으로는 무작위와 구별되지 않는다.

결론
성장은 필요조건이지 원인이 아니다. 원인은 Π(i)di\Pi(i)\propto d_i라는 되먹임이다.
교실로 옮기면: 학급 인원이 늘어서 인기 격차가 생기는 게 아니라, "이미 친구가 많은 아이에게 새 친구가 더 붙는" 구조가 격차를 만든다.

9. 함정 ① igraph의 zero.appeal (The zero.appeal Trap)

이 절의 코드가 위에서 계속 zero.appeal=0을 달고 있었던 이유
args(sample_pa)
function (n, power = 1, m = NULL, out.dist = NULL, out.seq = NULL,
    out.pref = FALSE, zero.appeal = 1, directed = TRUE, ...)
zero.appeal의 기본값이 1이다. 즉 igraph가 실제로 쓰는 확률은 Π(i)    dipower+Azero.appeal  =  di+1 \Pi(i)\;\propto\;d_i^{\,\text{power}} + \underbrace{A}_{\texttt{zero.appeal}} \;=\; d_i + 1 did_i가 아니라 di+1d_i+1이다. 이건 BA 모형이 아니라 도로고프체프–멘데스–사무킨(DMS) 모형이고, 지수가 달라진다. γ  =  3+Am \gamma \;=\; 3+\frac{A}{m}

왜 이렇게 크게 달라지는가? m=1m=1일 때 새로 들어온 정점은 차수가 1이다. A=1A=1을 더하면 그 사람의 몫이 11에서 22두 배가 되는 반면, 차수 100인 허브는 100101100\to101로 1%만 오른다. 보정이 약자에게만 크게 작용해 격차를 눌러 버린다.

zero.appeal 0과 1의 CCDF 비교, 0일 때만 이론선과 겹친다
그림 52. n=100000n=100000, m=1m=1, 20회 평균. 검은 점선이 §6의 이론 2/k(k+1)2/k(k+1). zero.appeal=0(초록)만 이론과 겹치고, 기본값 1(빨강)은 k7k\ge7부터 아래로 갈라진다.
kk이론 2/k(k+1)2/k(k+1)za=0za=1 (기본값)
20.3333330.3333120.99990.3999891.2000
60.0476190.0475820.99920.0476531.0007
80.0277780.0277871.00030.0242800.8741
100.0181820.0183111.00710.0139600.7678
120.0128210.0129371.00900.0087700.6840
140.0095240.0095861.00650.0058470.6139

k=2k=2에서는 오히려 많고 k8k\ge8부터 적다 — 꼬리를 깎아 바닥으로 옮긴 것이다. k=214k=2{\sim}14 구간의 로그로그 기울기로 보면 이론 1.839-1.839, za=0 1.834-1.834, za=1 2.214-2.214로 확실히 다른 직선이다.

선점 효과 지수도 달라진다 (The First-Mover Exponent Changes Too)

일반적으로 di(t)(t/ti)βd_i(t)\propto (t/t_i)^{\beta}이고 β=m2m+A\beta = \dfrac{m}{2m+A}다. A=0A=0이면 §4의 β=1/2\beta=1/2지만, A=1,m=1A=1,m=1이면 1/31/3로 줄어든다.

zero.appealmm이론 β=m2m+A-\beta=-\frac{m}{2m+A}실측 기울기1번의 평균 차수 (n=104n=10^4)
010.500-0.5000.527-0.527118.5
020.500-0.5000.509-0.509162.5
110.333-0.3330.403-0.40340.5
120.400-0.4000.436-0.436100.7

같은 sample_pa(10000, power=1, m=1, directed=FALSE) 한 줄에서 1번의 기대 차수가 40.5냐 118.5냐가 갈린다. 거의 3배다.

기억할 것
① 순수 BA를 돌리려면 zero.appeal=0을 반드시 명시한다.
② 4-5에서 만난 fit_power_law(..., p.value=TRUE)와 똑같은 종류의 함정이다 — 기본값이 내가 생각한 모형이 아닐 수 있다. 새 함수를 쓸 때는 args()를 한 번 찍어 본다.
③ 다만 A>0A>0틀린 모형인 것은 아니다. §13에서 보듯 오히려 교실에서는 더 현실적이다. 문제는 "내가 어느 모형을 돌렸는지 모르는 것"이다.

10. 함정 ② 정확한 식조차 γ=3\gamma=3을 안 준다 (Even the Exact Formula Misses)

§7에서 모의값이 2.88~2.95로 3에 못 미쳤다. 자료가 부족해서일까? 확인하는 방법이 있다 — 모의를 빼고 이론식 Fˉ(k)=2/(k(k+1))\bar F(k)=2/(k(k+1))에 직접 자를 대 본다.

kk 구간로그로그 기울기γ=1\gamma=1-기울기3과의 차이
k=214k=2\sim141.8390-1.83902.83900.161-0.161
k=217k=2\sim17 (가라테 범위)1.8526-1.85262.85260.147-0.147
k=230k=2\sim301.8879-1.88792.88790.112-0.112
k=10100k=10\sim1001.9704-1.97042.97040.030-0.030
k=1001000k=100\sim10001.9970-1.99702.99700.003-0.003
k=100010000k=1000\sim100001.9997-1.99972.99970.0003-0.0003

이유는 대수다. Fˉ(k)=2k(k+1)=2k211+1/k\bar F(k)=\dfrac{2}{k(k+1)}=\dfrac{2}{k^2}\cdot\dfrac{1}{1+1/k}이고, 뒤의 보정 항 11+1/k\dfrac{1}{1+1/k}k=10k=10에서 0.909, k=100k=100에서 0.990이다. 작은 kk에서는 이 항이 곡선을 눕혀서 기울기를 2-2보다 완만하게 만든다.

4-5의 정직한 결론이 여기서 뒷받침된다
4-5에서 가라테의 γ\gamma가 방법에 따라 2.13~2.92로 흔들리는 것을 보고 "척도 없다고 말할 수 없다"고 썼다. 오늘 보니 완벽한 BA 네트워크를 가라테의 차수 범위(k=217k=2\sim17)에서 재도 γ=2.85\gamma=2.85가 나온다.
즉 가라테의 2.13~2.92는 "자료가 나빠서"가 아니라 "재는 구간이 짧아서"이기도 하다. 작은 학급에서 γ\gamma를 소수 둘째 자리까지 말하는 것은 어느 쪽이든 의미가 없다.

11. BA가 못 맞히는 축 — 삼각형이 없다 (What BA Gets Wrong: No Triangles)

4-3(무작위)과 4-4(WS)를 채점했던 것과 같은 방식으로 BA를 채점한다. 먼저 군집계수.

mm평균 차수삼각형 수BA 군집계수같은 크기 G(n,m)G(n,m)
12.00000.000000.00090
23.999970.002550.00112
35.9983810.004860.00120
47.9969810.007450.00200

n=5000n=5000, zero.appeal=0

m=1m=1이면 삼각형이 정확히 0개다. §3에서 확인했듯 결과가 나무이기 때문이다. m2m\ge2여도 ER의 2~4배에 그친다. 실제 가라테는 0.2557, FMH 거대성분은 0.2840 — BA는 50~100배 모자란다.

이유는 4-3에서 G(n,p)G(n,p)가 실패한 것과 구조적으로 같다. 새 정점이 mm개의 상대를 고를 때 그 상대들끼리 친구인지는 전혀 고려하지 않는다. "내 친구의 친구를 소개받는다"는 장치가 모형 안에 없다.

거리는 오히려 더 잘 맞힌다 (Distance Is Predicted Better)

nnBA 평균거리BA 지름같은 크기 ER 거리ER 지름lnn/lnlnn\ln n/\ln\ln n
1003.00953.42773.015
10004.10675.108113.574
50004.76686.219133.976
200005.32197.262154.319

BA는 무작위 그래프보다도 가깝다. nn을 200배 늘리는 동안 BA 거리는 1.77배, ER은 2.12배 늘었다. 허브가 모두에게 공통인 지름길 역할을 하기 때문이다. 이 현상을 초-좁은 세상(ultra-small world)이라 부르고, 이론값은 lnn/lnlnn\ln n/\ln\ln n으로 G(n,p)G(n,p)lnn/lnk\ln n/\ln\langle k\rangle보다 느리게 자란다.

12. 가라테와 FMH를 BA와 대조 (Karate and FMH against BA)

같은 크기의 BA를 200번 만들어 실제 자료가 그 분포의 어디에 놓이는지 본다 (4-3·4-4와 같은 zz 값 방식).

먼저 걸리는 제약: BA의 평균 차수는 2m2m으로 고정된다
간선 수를 자유롭게 못 정한다. mm이 정수이므로 평균 차수가 짝수만 가능하다.
가라테는 평균 차수 4.588 → m=2m=2면 간선 65개(평균 3.82), m=3m=3이면 96개(평균 5.65). 실제 78개를 낼 수가 없다. 아래는 m=2m=2로 맞춘 것이므로 BA 쪽이 조금 성긴 그래프다.

가라테 (n=34, m=78)

지표실제BA m=2m=2 평균 (범위)zz판정
최대 차수1714.1 (9~22)1.15맞힌다
차수 분산15.048.71 (4.45~16.45)3.07실제가 더 쏠림
군집계수0.25570.1399 (0.0855~0.1917)5.31못 맞힌다
평균 거리2.40822.4355 (2.246~2.594)0.41-0.41맞힌다

4-3에서 G(n,p)G(n,p)는 최대 차수를 전혀 못 맞혔다(무작위 2000회 중 차수 16 이상 0회). BA는 최대 차수와 거리를 동시에 맞힌 첫 모형이다. 대신 삼각형에서 무너진다.

FMH 거대성분 (n=439, m=573)

지표실제BA m=1m=1 평균 (범위)zz판정
최대 차수841.0 (19~85)2.39-2.39정반대로 틀린다
차수 분산2.1069.33 (5.27~19.91)2.57-2.57정반대
군집계수0.28400.0000 (전부 나무)계산 불가못 맞힌다
평균 거리16.8776.18 (4.99~7.34)20.60크게 틀린다

네 축이 전부 틀렸고, 그중 둘은 방향까지 반대다. BA는 허브를 만들려고 애쓰는데 실제 FMH에는 최대 차수가 8밖에 안 된다(439명 중에!). BA는 거리를 6으로 줄이는데 실제는 16.9다.

세 모형의 위치가 정리된다
· 가라테는 허브가 있고 거리가 짧다 → BA 쪽. 단 삼각형은 BA로 설명 안 됨
· FMH는 허브가 없고 뭉치고 멀다 → 4-4에서 본 대로 격자 쪽. BA는 완전히 틀린 모형
· 어느 쪽도 네 축을 동시에 맞히지 못한다
같은 "학교 자료"인데 필요한 모형이 정반대다. 모형은 자료마다 고르는 것이지 하나로 통일되지 않는다.

13. 교실 적용 (Classroom Application)

① 선점 효과는 실력이 아니라 시각의 문제다 (I. First-Mover Advantage Is About Timing, Not Merit)

dit/tid_i \propto \sqrt{t/t_i}. 34명 학급을 BA로 보면 1번과 34번의 기대 차수 비는 34=5.83\sqrt{34}=5.83배다. 500회 모의에서 실제 비는 4.93배(1번 평균 9.87, 34번 2.00)였고, 최고 차수가 1~5번에서 나온 비율은 95.2%, 30~34번에서 나온 비율은 0%였다.

읽는 법
4월에 전학 온 학생의 교우 관계가 적은 것은 모든 학생이 똑같은 규칙을 따라도 생기는 결과다. 성격 문제로 해석하기 전에 도착 시각을 먼저 확인해야 한다.
같은 이유로 3월 첫 2주가 학년 전체를 좌우한다 — 그때 만들어진 차수 우위가 t\sqrt{t}를 타고 계속 벌어진다.

② 원인은 성장이 아니라 되먹임이다 (II. The Cause Is Feedback, Not Growth)

§8의 통제 실험: 인원이 5000명으로 똑같이 늘어도, 상대를 균등하게 고르면 최대 차수 14·분산/평균 1.01로 무작위와 구별되지 않는다. 선호적으로 고르면 최대 차수 100·분산/평균 6.94다.

읽는 법
"학급이 크니까 소외되는 애가 생긴다"는 설명은 틀렸다. 격차를 만드는 것은 인원이 아니라 "인기 있는 아이에게 새 관계가 더 붙는" 되먹임이다. 개입해야 할 것은 학급 규모가 아니라 짝·모둠이 정해지는 방식이다.

③ 개입 지점: AA를 키우면 꼬리가 얇아진다 (III. Where to Intervene: Raising A Thins the Tail)

§9의 zero.appeal은 함정이기만 한 게 아니다. Π(i)di+A\Pi(i)\propto d_i + A에서 AA"차수와 무관하게 누구나 갖는 기본 몫"이다. 교사가 자리를 무작위로 배정하거나 모둠을 제비뽑기로 짜는 것이 바로 AA를 키우는 개입이다. γ=3+A/m\gamma=3+A/m이 커진다 = 꼬리가 얇아진다 = 쏠림이 완화된다.

AA이론 γ=3+A/m\gamma=3+A/m최대 차수차수 분산분산/평균 DD상위 1% 점유율
0 (순수 BA)3.039017.028.5113.71%
0.53.53159.494.7410.48%
1 (igraph 기본)4.01526.073.038.75%
25.0493.811.917.10%
47.0332.991.505.98%

n=50000n=50000, m=1m=1

읽는 법
AA를 0에서 4로 올리면 최대 차수가 390에서 33으로, DD8.51에서 1.50으로 떨어진다. D=1.5D=1.5는 4-5에서 본 FMH(1.537) 수준, 즉 거의 무작위다.
현실적 해석: A=1A=1은 "친구가 0명인 학생도 친구 1명인 학생의 절반만큼은 선택될 기회를 갖는다"는 뜻이다. 기회를 균등하게 만드는 것이 아니라 바닥에 최소 몫을 얹는 것만으로 쏠림이 절반 이하로 준다.
단, 이건 모형 안에서의 이야기다. 실제 교실에서 AA에 해당하는 개입이 얼마나 되는지는 측정해 봐야 한다 — 개입 전후의 DD를 재는 것이 그 방법이다.

④ 한계도 그대로 말해야 한다 (IV. State the Limits Honestly)

BA로 설명하면 안 되는 것
· 삼각형: 실제 0.26, BA 0.14(가라테 크기)~0.00(대규모). 모둠·동아리처럼 "친구의 친구를 소개받는" 경로가 모형에 없다.
· 허브가 없는 학교: FMH는 439명인데 최대 차수 8이다. BA는 41을 예측한다. 학년이 반별로 갈려 있어 되먹임이 반 안에서 끊기기 때문으로 보인다.
· γ\gamma의 값: BA는 무조건 3이다. 실제 자료가 2.1이면 BA로는 설명이 안 된다.

14. 연습문제 (Exercises)

연습 1. 손으로 네 단계 (Four Steps by Hand)

학급에 학생 3명이 있고 관계는 1–2, 2–3 두 개다. 차수는 (1,2,1)(1,2,1).
매 시각 새 학생이 한 명 들어와 친구 한 명Π(i)=di/jdj\Pi(i)=d_i/\sum_j d_j로 고른다. 뽑힌 상대는 차례로 2번 → 4번 → 2번 → 2번이었다.

(가) t=4,5,6,7t=4,5,6,7 각 시각에 대해 차수 합 jdj\sum_j d_j그 시각에 존재하는 모든 정점의 Π(i)\Pi(i)를 하나도 빼놓지 말고 써라. 매번 확률의 합이 1인지 검산할 것.
(나) 최종 차수 벡터, 차수 합, 간선 수를 구하고, 결과가 나무인지 확인하라. 최대 차수는 전체 차수 합의 몇 %인가?
(다) 2번의 기대 최종 차수를 두 방식으로 계산해 비교하라. ① 선호적 연결일 때 ② 균등 연결(Π=1/(t1)\Pi=1/(t-1))일 때.
  힌트: 선호적이면 매 시각 E[d2]\mathbb{E}[d_2](1+1jdj)\left(1+\frac{1}{\sum_j d_j}\right)를 곱하면 된다.

§15 해설 — 먼저 풀고 맞춰 볼 것.
연습 2. 1000명 학교에 정확식 대기 (Applying the Exact Formula)

어떤 학교 1000명의 교우 관계가 m=1m=1짜리 BA로 자랐다고 하자.

(가) P(k)=4k(k+1)(k+2)P(k)=\dfrac{4}{k(k+1)(k+2)}k=1,,6k=1,\dots,6기대 인원을 구하라. 그 여섯을 더하면 몇 명인가? 나머지는 어디로 갔는가?
(나) Fˉ(k)=2k(k+1)\bar F(k)=\dfrac{2}{k(k+1)}친구 20명 이상, 30명 이상인 학생의 기대 인원을 구하라.
(다) 같은 학교가 균등 연결(성장만)로 자랐다면 어떨까? Fˉ(k)=(12)k1\bar F(k)=\left(\frac12\right)^{k-1}로 같은 두 값을 구하고 비를 내라. 또 각 모형에서 "기대 인원이 1명이 되는 kk"를 구하라.
(라) 정확식의 두 점 k=10k=10k=100k=100에서 로그로그 기울기를 재고 γ\gamma를 구하라. 정확히 3이 나오는가? k=100k=100k=1000k=1000으로 바꾸면?

§15 해설 — 먼저 풀고 맞춰 볼 것.

15. 해설과 답 (Solutions)

연습 1-(가) 네 시각의 Π\Pi 전부 (Exercise 1(a): Π at All Four Time Steps)

먼저 분모. 시작이 정점 3개·간선 2개이므로 정점 tt가 들어오려는 순간 간선은 t2t-2개, 차수 합은 jdj=2(t2)\sum_j d_j = 2(t-2)다. t=44t=4\to4, t=56t=5\to6, t=68t=6\to8, t=710t=7\to10.

ttdj\sum d_jΠ(1)\Pi(1)Π(2)\Pi(2)Π(3)\Pi(3)Π(4)\Pi(4)Π(5)\Pi(5)Π(6)\Pi(6)뽑힌 상대
4414\tfrac14=.250024\tfrac24=.500014\tfrac14=.250044\tfrac44=1 ✓2번
5616\tfrac16=.166736\tfrac36=.500016\tfrac16=.166716\tfrac16=.166766\tfrac66=1 ✓4번
6818\tfrac18=.125038\tfrac38=.375018\tfrac18=.125028\tfrac28=.250018\tfrac18=.125088\tfrac88=1 ✓2번
710110\tfrac1{10}=.1000410\tfrac4{10}=.4000110\tfrac1{10}=.1000210\tfrac2{10}=.2000110\tfrac1{10}=.1000110\tfrac1{10}=.10001010\tfrac{10}{10}=1 ✓2번

차수가 어떻게 갱신되는지도 한 줄씩:

시각1번2번3번4번5번6번7번
시작1214
t=4t=413116
t=5t=5131218
t=6t=614121110
t=7t=7151211112
답 (가) 위 두 표. 확률의 합은 네 시각 모두 정확히 1이다.
왜 그런 값인가: 2번은 시작부터 차수 2로 남들의 2배였고, 첫 번째로 또 뽑히면서 Π(2)\Pi(2)가 0.500 → 0.500 → 0.375 → 0.400으로 유지됐다. 분모가 2씩 늘어나는 동안 2번의 분자도 같이 늘었기 때문이다. 반면 1번과 3번은 분자가 1로 고정된 채 분모만 커져 0.250 → 0.167 → 0.125 → 0.100으로 계속 떨어졌다.

연습 1-(나) 최종 상태 (Exercise 1(b): The Final State)

답 (나) 최종 차수 (1,5,1,2,1,1,1)(1,5,1,2,1,1,1), 차수 합 12, 간선 6개, 정점 7개.
간선 6=n1=716 = n-1 = 7-1나무다 ✓ (m=1m=1이면 항상 그렇다)
최대 차수 555/12=41.67%5/12 = \mathbf{41.67\%}
값의 의미: 일곱 명 중 한 명이 연결의 40% 이상을 갖는다. 완전히 평등하다면 각자 1/7=14.3%1/7=14.3\%이므로 2.9배다. 겨우 네 걸음 만에 이 정도 격차가 생겼다.
교실 해석: 학기 초 이미 친구가 2명이던 학생이 네 번의 기회 중 세 번을 가져갔다. 초기 차이가 작아도(2 대 1) 되먹임이 붙으면 빠르게 벌어진다. 전학생 넷(4·5·6·7번)은 모두 차수 1~2로 끝났다.

연습 1-(다) 기대 차수 — 두 방식 (Exercise 1(c): Expected Degree, Two Ways)

① 균등 연결. 시각 tt에 이미 있는 사람이 t1t-1명이므로 2번이 뽑힐 확률은 1/(t1)1/(t-1). 기댓값은 그냥 더하면 된다.

tt사람 수 t1t-1더할 확률소수누적 E[d2]\mathbb{E}[d_2]
시작2.0000000
431/31/30.33333332.3333333
541/41/40.25000002.5833333
651/51/50.20000002.7833333
761/61/60.16666672.9500000
E[d2]=2+13+14+15+16=2+0.95=2.95 \mathbb{E}[d_2]=2+\tfrac13+\tfrac14+\tfrac15+\tfrac16=2+0.95=\mathbf{2.95}

② 선호적 연결. 이번엔 뽑힐 확률이 d2/jdjd_2/\sum_j d_j자기 차수에 비례하므로 더할 수 없다. 대신 E[d2(t+1)]=E[d2(t)]+E[d2(t)]jdj=E[d2(t)](1+1jdj)\mathbb{E}[d_2(t+1)] = \mathbb{E}[d_2(t)] + \dfrac{\mathbb{E}[d_2(t)]}{\sum_j d_j} = \mathbb{E}[d_2(t)]\left(1+\dfrac{1}{\sum_j d_j}\right)곱셈이 된다.

ttdj\sum d_j곱할 인수분수누적 E[d2]\mathbb{E}[d_2]
시작2.0000000
441+141+\tfrac145/45/42.5000000
561+161+\tfrac167/67/62.9166667
681+181+\tfrac189/89/83.2812500
7101+1101+\tfrac1{10}11/1011/103.6093750
E[d2]=2×54×76×98×1110=234651920=23164=3.609375 \mathbb{E}[d_2]=2\times\frac54\times\frac76\times\frac98\times\frac{11}{10} =\frac{2\cdot 3465}{1920}=\frac{231}{64}=\mathbf{3.609375}
답 (다) 선호적 3.609375 대 균등 2.95. 차이 0.659375, 즉 선호적 쪽이 22.35% 크다.
R로 10만 회 모의: 선호적 3.6043, 균등 2.9515 — 둘 다 이론과 일치 ✓
값의 의미: 균등은 덧셈(고정된 몫을 나눠 받음), 선호적은 곱셈(가진 만큼 불어남)이다. 겨우 네 단계에서 22%지만, 이 곱셈이 nn단계 쌓이면 §4의 n\sqrt{n}이 된다.
교실 해석: 같은 네 번의 기회를 나눠 주는데도, "누구나 똑같이 뽑힐" 규칙이면 이미 친구가 많은 학생이 얻는 이득이 0.95명에 그친다. "친구 많은 쪽이 더 뽑힐" 규칙이면 1.61명이 된다. 모둠 배정 규칙 하나가 그대로 격차의 증가 속도가 된다.

연습 2-(가) k=16k=1\sim6의 기대 인원 (Exercise 2(a): Expected Counts for k = 1 to 6)

kkk(k+1)(k+2)k(k+1)(k+2)P(k)=4/[]P(k)=4/[\cdot]소수1000×P(k)1000\times P(k)왜 그 값인가
1123=61\cdot2\cdot3=64/64/60.6666667666.67명방금 들어온 사람은 전부 차수 1
2234=242\cdot3\cdot4=244/244/240.1666667166.67명한 번 더 선택받은 사람
3345=603\cdot4\cdot5=604/604/600.066666766.67명P(2)×25P(2)\times\frac25
4456=1204\cdot5\cdot6=1204/1204/1200.033333333.33명P(3)×36P(3)\times\frac36
5567=2105\cdot6\cdot7=2104/2104/2100.019047619.05명P(4)×47P(4)\times\frac47
6678=3366\cdot7\cdot8=3364/3364/3360.011904811.90명P(5)×58P(5)\times\frac58
k=16k=1\sim6964.29명나머지 35.71명
답 (가) 위 표. 여섯을 더하면 964.29명.
나머지 35.71명차수 7 이상이다. 검산: 1000×Fˉ(7)=1000×278=1000×128=35.711000\times\bar F(7)=1000\times\frac{2}{7\cdot8} =1000\times\frac{1}{28}=\mathbf{35.71} ✓ 정확히 맞는다.
값의 의미: 1000명 중 3분의 2가 친구 한 명이다. "평균 친구 수 2명"이라는 요약은 이 학교를 전혀 설명하지 못한다 — 4-5에서 배운 대로 평균이 아니라 분포를 봐야 한다.

연습 2-(나)(다) 꼬리 비교 (Exercise 2(b)(c): Comparing the Tails)

kkBA Fˉ=2k(k+1)\bar F=\frac{2}{k(k+1)}BA 기대 인원균등 Fˉ=(12)k1\bar F=(\frac12)^{k-1}균등 기대 인원
202420=0.0047619\frac{2}{420}=0.00476194.762명(12)19=1.9073×106(\frac12)^{19}=1.9073\times10^{-6}0.001907명2497배
302930=0.0021505\frac{2}{930}=0.00215052.151명(12)29=1.8626×109(\frac12)^{29}=1.8626\times10^{-9}0.0000019명1,154,561배

"기대 인원이 1명이 되는 kk"는 Fˉ(k)=1/1000\bar F(k)=1/1000을 푸는 것이다.

모형푸는 식정리kk
BA2k(k+1)=11000\dfrac{2}{k(k+1)}=\dfrac{1}{1000}k2+k2000=0k=1+80012k^2+k-2000=0\Rightarrow k=\dfrac{-1+\sqrt{8001}}{2}44.2
균등(12)k1=11000\left(\tfrac12\right)^{k-1}=\dfrac{1}{1000}k=1+log21000k=1+\log_2 100011.0
답 (나)(다) BA: 차수 20 이상 4.76명, 30 이상 2.15명. 균등: 각각 0.0019명, 0.0000019명. 비는 2497배115만 배.
1명이 되는 지점은 BA k44k\approx44, 균등 k11k\approx11.
R 검산(n=1000n=1000, 200회): BA는 차수 20 이상 평균 5.42명(이론 4.76), 30 이상 2.56명(이론 2.15), 최대 차수 평균 61.8. 균등은 차수 20 이상이 200회 내내 0명이고 최대 차수 평균 10.7(범위 8~15).
값의 의미: 비가 kk에 따라 2497배 → 115만 배로 폭발한다. 지수 꼬리는 kk마다 반토막이지만 거듭제곱 꼬리는 k2k^{-2}로만 줄기 때문이다. 꼬리 끝으로 갈수록 두 모형의 차이는 비교 자체가 무의미할 만큼 벌어진다.
교실 해석: 1000명 학교에서 "친구 30명"인 학생은 되먹임이 있으면 두 명쯤 반드시 나오고, 없으면 백만 개 학교에 한 명도 안 나온다. 그런 학생이 실제로 있다면 그것만으로 되먹임이 작동한다는 증거다. 반대로 439명 FMH의 최대 차수가 8이었다는 것은(§12) 그 학교엔 되먹임이 없다는 뜻이다.

연습 2-(라) 두 점에서 γ\gamma 뽑기 (Exercise 2(d): γ from Two Points)

두 점Fˉ\bar F 두 값세로 변화 Δlog10Fˉ\Delta\log_{10}\bar F가로 변화 Δlog10k\Delta\log_{10}k기울기γ=1\gamma=1-기울기
k=10100k=10\to1002110=0.0181818\tfrac{2}{110}=0.0181818
210100=0.0001980\tfrac{2}{10100}=0.0001980
log100.0108911=1.962929\log_{10}0.0108911=-1.962929log1010=1\log_{10}10=11.962929-1.9629292.962929
k=1001000k=100\to1000210100=0.0001980\tfrac{2}{10100}=0.0001980
21001000=0.0000020\tfrac{2}{1001000}=0.0000020
log100.0100899=1.996113\log_{10}0.0100899=-1.996113log1010=1\log_{10}10=11.996113-1.9961132.996113
답 (라) k=10,100k=10,100에서는 γ=2.9629\gamma=2.9629정확히 3이 아니다. k=100,1000k=100,1000으로 옮기면 2.9961, k=1000,10000k=1000,10000이면 2.99961로 3에 수렴한다.
왜 그런가: Fˉ(k)=2k(k+1)\bar F(k)=\dfrac{2}{k(k+1)}2k22k^{-2}아니다. 2k211+1/k\dfrac{2}{k^2}\cdot\dfrac{1}{1+1/k}이고, 보정 항 11+1/k\dfrac{1}{1+1/k}k=10k=10에서 0.909, k=100k=100에서 0.990, k=1000k=1000에서 0.999다. 작은 kk에서 이 항이 곡선을 눕혀 기울기를 2-2보다 완만하게 만든다.
값의 의미: 이건 표본 오차가 아니다. 모의도 자료도 없이 순수한 수식에 자를 댄 결과다.
교실 해석: 학급이나 학년 규모(차수가 기껏해야 20~30)에서 γ\gamma를 재면 정답이 3인 경우에도 2.8~2.96이 나온다. 따라서 "우리 반 γ\gamma가 2.9니까 BA(3)와 다르다"는 결론은 내릴 수 없다.
학교 자료에서 γ\gamma로 할 수 있는 말은 "거듭제곱 꼬리인가 지수 꼬리인가" 정도이고, 그것도 4-5에서 본 대로 같은 크기 무작위와 비교해야 비로소 근거가 된다. 소수점 아래를 놓고 모형을 고르는 것은 과잉 해석이다.

다음 단원 4-7 — 모형은 축마다 채점된다
지금까지 세 모형을 봤다. G(n,p)G(n,p)는 거리를 맞히고 뭉침·허브를 놓쳤고(4-3), WS는 거리와 뭉침을 동시에 맞히고 허브를 놓쳤고(4-4), BA는 허브와 거리를 맞히고 뭉침을 놓쳤다(오늘).
세 축을 동시에 맞히는 모형은 없는가? 그리고 "맞혔다/틀렸다"를 눈대중이 아니라 하나의 채점판으로 정리하려면 어떻게 해야 하는가 — 다음 시간에 다룬다.