거듭제곱 법칙과 척도 없는 네트워크

허브와 모멘트Hubs, the Largest Hub, and Diverging Moments

거듭제곱 분포의 꼬리에는 허브가 산다. 허브는 얼마나 클 수 있을까? 노드 수에 따라 가장 큰 허브가 어떻게 자라는지, 그리고 링크수 분포의 모멘트가 발산한다는 것이 왜 “대표적인 크기가 없다”는 뜻인지 직접 계산해 본다.

이 데모는 Claude Opus 5.5가 제작했으며, 경상국립대학교 물리학과 이상훈 교수의 강의자료(2024 복잡계 여름학교, ‘거듭제곱 법칙과 척도 없는 네트워크’ 강의)를 기반으로 합니다.

노드 수 N을 10에서 10¹²까지 늘릴 때 가장 큰 허브의 크기. 무작위 네트워크(초록)는 ln N으로 거의 자라지 않고, 척도 없는 네트워크(분홍)는 N의 거듭제곱으로 자랍니다.

허브hubs

허브는 척도 없는 네트워크에서 거듭제곱 링크수 분포의 큰 kk값 영역인 꼬리(tail) 부분에 해당하는 노드다. 평균이 같은 푸아송 분포와 비교하면 세 구간이 보인다.

  • k<⟨k⟩k < \langle k\rangle (평균 링크수): 거듭제곱 분포가 푸아송 분포 위에 있다. 척도 없는 네트워크에는 링크수가 적은 노드가 많이 있다.
  • k≈⟨k⟩k \approx \langle k\rangle: 푸아송 분포가 더 위에 있다. 무작위 네트워크에는 링크수가 평균 근처인 노드가 더 많이 있다.
  • k≫⟨k⟩k \gg \langle k\rangle: 거듭제곱 분포가 다시 위에 있다. 척도 없는 네트워크에는 링크수가 평균보다 훨씬 많은 노드들이 제법 있다(무작위 네트워크에 비해 훨씬 큰 확률).

월드와이드웹의 예노드 수 N≈1012N \approx 10^{12}, 평균 링크수 ⟨k⟩=4.6\langle k\rangle = 4.6인 웹이 푸아송 분포를 따른다면, 링크가 100개 이상인 노드 수의 기댓값은 Nk≥100=1012∑k=100∞(4.6)ke−4.6/k!≈10−82N_{k\ge 100} = 10^{12} \sum _{k=100}^{\infty } (4.6)^{k}e^{-4.6}/k! \approx 10^{-82}, 사실상 없다는 뜻이다. 반면 관찰 결과처럼 γin=2.1\gamma _{\mathrm{in}} = 2.1인 거듭제곱 분포라면 Nk≥100=4×109N_{k\ge 100} = 4 \times 10^{9}(40억 개)를 기대할 수 있다.

오른쪽 계산기로 직접 바꿔 보자. 거듭제곱 분포는 kmin=1k_{\mathrm{min}} = 1인 이산적인 형식 pk=k−γ/ζ(γ)p_{k} = k^{-\gamma }/\zeta (\gamma )로 계산한다.

푸아송 분포 (평균 〈k〉)거듭제곱 분포k ≥ 기준값 영역

가장 큰 허브the largest hub

실제 네트워크는 유한하므로, “척도 없는” 네트워크라도 당연히 무한대의 크기가 아닌 가장 큰 허브(링크수가 가장 많은 노드)가 있다. kk의 최댓값 kmaxk_{\mathrm{max}}는 어떻게 계산할 수 있을까?

추론. 노드 NN개 중에서 kk가 kmaxk_{\mathrm{max}} 이상인 노드가 평균적으로 1개 이하라면 거기가 사실상의 최댓값일 것이다. 곧 ∫kmax∞p(k) dk=1/N\int _{k_{\mathrm{max}}}^{\infty } p(k)\,\mathrm{d}k = 1/N.

  • 지수함수 분포 p(k)=λeλkmine−λkp(k) = \lambda e^{\lambda k_{\mathrm{min}}}e^{-\lambda k}: kmax=kmin+(ln⁡N)/λk_{\mathrm{max}} = k_{\mathrm{min}} + (\ln N)/\lambda. NN에 대해 매우 천천히 증가하는 함수라서 kmaxk_{\mathrm{max}}가 kmink_{\mathrm{min}}과 크게 다르지 않다. 푸아송 분포는 차이가 지수함수 분포보다 더 작다! 링크수 분포의 “자연 절단(natural cutoff)”이 자연스럽게 “사실상” 없어지는 부분이다.
  • 거듭제곱 분포 p(k)=(γ−1)kminγ−1k−γp(k) = (\gamma - 1)k_{\mathrm{min}}^{\gamma -1}k^{-\gamma }: (kmax/kmin)γ−1=N(k_{\mathrm{max}}/k_{\mathrm{min}})^{\gamma -1} = N이니
kmax=kminN1/(γ−1)k_{\mathrm{max}} = k_{\mathrm{min}}N^{1/(\gamma -1)}

이다. kmaxk_{\mathrm{max}}가 NN에 대해 다항함수로 증가한다. 큰 척도 없는 네트워크에서 kmaxk_{\mathrm{max}}가 kmink_{\mathrm{min}}에 비해 수십, 수백, 수천 배 또는 그 이상으로 클 수 있다는 것이다. γ>2\gamma > 2이면 기울기 1/(γ−1)<11/(\gamma - 1) < 1이니 kmax=N−1k_{\mathrm{max}} = N - 1보다는 느리다.

월드와이드웹이 λ=1\lambda = 1인 지수함수 분포를 갖고 있다면 kmax≈14k_{\mathrm{max}} \approx 14, γ=2.1\gamma = 2.1인 거듭제곱 분포를 갖고 있다면 kmax≈95 000k_{\mathrm{max}} \approx 95\,000이다. 실제 월드와이드웹의 kin,max=10 721k_{\mathrm{in},\mathrm{max}} = 10\,721로, 거듭제곱 분포 가정에서 나오는 결과와 좀 더 유사하다. 무작위 네트워크에서는 허브가 사실상 있을 수 없지만, 척도 없는 네트워크에서는 허브가 자연스럽게 존재한다.

오른쪽에서는 공식과 함께, 실제로 분포에서 NN개를 뽑았을 때의 최댓값을 점으로 찍었다. 같은 NN에서도 뽑을 때마다 최댓값이 크게 출렁이는 것이 두꺼운 꼬리의 특징이다.

kmax = N − 1kminN1/(γ−1) (점: 거듭제곱 분포 표본의 최댓값)kmin + ln N/λ (점: 지수함수 분포 표본의 최댓값)

무작위 네트워크와 척도 없는 네트워크의 예highways vs airports

고속도로망에서는 대부분의 도시가 몇 개의 고속도로와 연결되어 있고, 고속도로가 수백 개 연결된 도시는 없다. 링크수 분포는 평균 근처에 모여 있는 종 모양이다. 반면 항공망에서는 대부분의 공항이 작지만 몇몇 허브 공항이 수많은 공항과 연결되어 있다. 링크수 분포는 오른쪽으로 긴 꼬리를 갖는다.

오른쪽 그림은 같은 위치의 도시 80개를 두 가지 방식으로 연결한 것이다. 왼쪽은 가까운 도시끼리 잇는 “고속도로”, 오른쪽은 큰 공항일수록 연결이 몰리는 “항공로”다. 노드의 크기는 링크수에 비례한다.

자동차로 서울에서 부산 가기 vs 비행기로 지방 공항에서 해외 가기: 허브 공항을 거치는 경로가 짧다

고속도로 (가까운 도시끼리)

항공로 (허브로 몰림)

링크수 분포의 모멘트moments of the degree distribution

링크수 분포의 nn번째 모멘트(moment)는

⟨kn⟩=∑k=kmin∞knpk≈∫kmin∞knp(k) dk\langle k^{n}\rangle=\sum_{k=k_{\mathrm{min}}}^{\infty}k^{n}p_{k}\approx\int_{k_{\mathrm{min}}}^{\infty}k^{n}p(k)\,\mathrm{d}k
  • n=1n = 1: 평균 링크수 ⟨k⟩\langle k\rangle.
  • n=2n = 2: 링크수가 얼마나 퍼져 있는지를 측정하는 분산(variance) σk2=⟨k2⟩−⟨k⟩2\sigma _{k}^{2} = \langle k^{2}\rangle - \langle k\rangle ^{2}, 표준편차(standard deviation) σk\sigma _{k}를 계산하는 데 필요하다.
  • n=3n = 3: pkp_{k}가 평균값 근처에서 얼마나 대칭적인지를 알려주는 분포의 비대칭도(skewness)를 결정한다.

척도 없는 네트워크의 경우

⟨kn⟩=∫kminkmaxknp(k) dk=C kmax n−γ+1−kmin n−γ+1n−γ+1\langle k^{n}\rangle=\int_{k_{\mathrm{min}}}^{k_{\mathrm{max}}}k^{n}p(k)\,\mathrm{d}k=C\,\frac{k_{\mathrm{max}}^{\,n-\gamma+1}-k_{\mathrm{min}}^{\,n-\gamma+1}}{n-\gamma+1}

이다. N→∞N \to \infty이면 kmax=kminN1/(γ−1)→∞k_{\mathrm{max}} = k_{\mathrm{min}}N^{1/(\gamma -1)} \to \infty이니, ⟨kn⟩\langle k^{n}\rangle의 행동은 n−γ+1n - \gamma + 1의 부호에 따라 결정된다.

  • n−γ+1<0n - \gamma + 1 < 0: kmaxn−γ+1→0k_{\mathrm{max}}^{n-\gamma +1} \to 0이 되어 n<γ−1n < \gamma - 1인 모든 모멘트는 유한하다.
  • n−γ+1≥0n - \gamma + 1 \ge 0: kmaxn−γ+1→∞k_{\mathrm{max}}^{n-\gamma +1} \to \infty가 되어 nn이 γ−1\gamma - 1 이상인 모든 모멘트는 발산한다(n=γ−1n = \gamma - 1이면 ∫k−1 dk=ln⁡kmax−ln⁡kmin\int k^{-1}\,\mathrm{d}k = \ln k_{\mathrm{max}} - \ln k_{\mathrm{min}}이니 log⁡kmax∝log⁡N\log k_{\mathrm{max}} \propto \log N으로 천천히, 하지만 결국은 발산한다).

많은 척도 없는 네트워크에서 링크수 지수 γ\gamma가 2와 3 사이에 있다. 그러면 N→∞N \to \infty 극한에서 ⟨k⟩\langle k\rangle는 유한하지만 ⟨k2⟩,⟨k3⟩,…\langle k^{2}\rangle , \langle k^{3}\rangle , \dots는 무한대로 발산한다!

교재 오타 메모『네트워크 사이언스』 180쪽 맨 윗줄의 식에서 가장 왼쪽 항은 knk^{n}이 아니라 ⟨kn⟩\langle k^{n}\rangle이다. 182쪽 아랫부분의 경우의 수에서는 부등호의 (로그 발산에 해당하는) 등호 부분이 잘못되어 있다. 같은 쪽의 “모든 모멘트의 최댓값은 발산한다”는 “… 이상인 모든 모멘트는 발산한다”로 해석해야 한다.

〈k〉〈k²〉〈k³〉

kmax = kminN1/(γ−1)를 넣어 계산한 모멘트입니다. 기울기가 0으로 눕는 곡선은 유한한 값으로 수렴하고, 계속 올라가는 곡선은 발산합니다.

척도 없음의 의미, 다시scale-free, revisited

노드의 링크수는 “대충” 어떤 범위에 있는가? 정규분포와 같은 일반적인 분포라면 k=⟨k⟩±σkk = \langle k\rangle \pm \sigma _{k}라고 말할 수 있다.

  • 무작위 네트워크: 푸아송 링크수 분포에서는 σk=⟨k⟩\sigma _{k} = \sqrt{\langle k\rangle}. 곧 kk가 대체로 ⟨k⟩±⟨k⟩\langle k\rangle \pm \sqrt{\langle k\rangle}의 범위 안에 있다.
  • γ<3\gamma < 3인 큰 척도 없는 네트워크: ⟨k⟩\langle k\rangle는 유한하지만 ⟨k2⟩→∞\langle k^{2}\rangle \to \infty이기 때문에 σk=⟨k2⟩−⟨k⟩2→∞\sigma _{k} = \sqrt{\langle k^{2}\rangle - \langle k\rangle ^{2}} \to \infty. 평균 주변으로 얼마든지 큰 변동이 있을 수 있다는 뜻이다. 무작위로 노드를 선택할 때 어떤 링크수를 기대할 수 있는지를 알 수 없다.

네트워크에서 노드의 링크수를 특징짓는 “크기” 또는 “척도”가 없다! 이것이 “척도 없음”이라는 이름의 또 다른 의미다.

오른쪽 그래프는 실제 네트워크의 ⟨k⟩\langle k\rangle와 σk\sigma _{k}를 표의 값으로 계산해 찍은 것이다(방향성 네트워크는 들어오는 링크수와 나가는 링크수를 따로 찍었다). 점선은 푸아송 분포의 σk=⟨k⟩\sigma _{k} = \sqrt{\langle k\rangle}다. 거의 모든 실제 네트워크의 표준편차가 푸아송 분포의 값보다 훨씬 크다.

보편성(universality)

인터넷, 월드와이드웹, 이메일, 인용, 단백질 상호작용까지, 수많은 다른 종류의 네트워크들이 척도 없는 성질이라는 보편적 성질을 갖고 있다. 같은 평균의 푸아송 분포라면 꼬리가 급격히 꺾여야 하는데, 실제 분포들은 몇 자릿수에 걸쳐 직선을 그린다.

점을 누르면 네트워크 이름과 값을 보여 줍니다.

출처: 『네트워크 사이언스』 표 4.1. 빈칸은 해당 값이 없는 경우입니다.

참고문헌references

  1. 『네트워크 사이언스』 (에이콘출판사, 2023), 이미진·윤진혁·이상훈·이은·조항현·김희태·손승우 옮김. 원서: Albert-László Barabási, Network Science (Cambridge University Press, 2016). 4장 「척도 없는 성질」.
  2. 『네트워크 분석』 (에이콘출판사, 2022), 손승우·엄영호·이상훈·이은·김희태·이미진 옮김. 원서: Filippo Menczer, Santo Fortunato, and Clayton A. Davis, A First Course in Network Science (Cambridge University Press, 2020). 3장 「허브」.
  3. R. Albert, H. Jeong, and A.-L. Barabási, “Diameter of the World-Wide Web,” Nature 401, 130 (1999).