거듭제곱 법칙과 척도 없는 네트워크
척도 없는 네트워크는 더 좁은 세상이다. 링크수 지수가 네트워크의 성질을 어떻게 가르는지 살펴보고, 원하는 링크수 분포를 가진 네트워크를 구조 모형과 숨은 매개변수 모형으로 직접 만들어 본다. 마지막으로 두꺼운 꼬리와 얇은 꼬리, 그리고 그 사이의 여러 혼합된 분포를 비교한다.
이 데모는 Claude Opus 5.5가 제작했으며, 경상국립대학교 물리학과 이상훈 교수의 강의자료(2024 복잡계 여름학교, ‘거듭제곱 법칙과 척도 없는 네트워크’ 강의)를 기반으로 합니다.
복습: (그냥) 좁은 세상(small-world) 성질. 한 노드에서 출발해 링크를 따라 층층이 퍼져 나가면, 각 층의 노드 수가 대략 배씩 늘어난다. 따라서
이다. 척도 없는 네트워크는 더 좁은 세상이다. 허브가 멀리 떨어진 노드들을 지름길처럼 이어 주기 때문이다.
오른쪽 데모는 노드 수를 300개부터 3만 개까지 늘려 가며 네트워크를 만들고, 무작위로 고른 출발점들에서 너비 우선 탐색(BFS)으로 평균 거리를 잰다. 이 100배 커지는 동안 거리가 얼마나 자라는지 비교해 보자.
모든 네트워크의 평균 링크수는 4이고, 가장 큰 연결 덩어리 안에서 거리를 잽니다.
| 구간 | 〈k〉 | 〈k²〉 | 〈d〉 |
|---|---|---|---|
| γ < 2: 이례적인 영역 | 발산 | 발산 | |
| γ = 2 (kmax ~ N) | const | ||
| 2 < γ < 3: 척도 없는 영역 | 유한 | 발산 | ln ln N |
| γ = 3 | ln N/ln ln N | ||
| γ > 3: 무작위 네트워크 영역 | 유한 | 유한 | ln N/ln〈k〉 |
이면 가장 큰 허브의 링크수 이 보다 빨리 자라야 하는데, 한 노드는 많아야 개와만 연결될 수 있다. 이것이 그래프(네트워크) 구현 가능성(graphicality) 문제다. 주어진 링크수 목록으로 (자기 연결이나 중복 링크 없이) 실제로 네트워크를 만들 수 있는지는 에르되시-갈라이(Erdős–Gallai) 정리로 판정한다. 링크수를 큰 것부터 으로 정렬했을 때, 합이 짝수이고 모든 에 대해
이면 구현 가능하다. 예를 들어 링크수가 모두 2인 노드 3개는 삼각형이 되지만, 2, 2, 3은 만들 수 없다.
이면 네트워크에서의 스미기(percolation), 전염병 전파, 각종 상전이(phase transition) 현상 등이 무작위 네트워크 또는 소위 평균장 이론 근사(mean-field approximation)와 같은 보편성 분류(universality class)에 속한다.
에르되시-갈라이 판정기: 링크수 목록을 쉼표로 입력하세요
거듭제곱 분포(k ≥ 1, k ≤ N − 1로 자름)에서 N개의 링크수를 뽑아 구현 가능한지 판정합니다. 합이 홀수인 경우는 아무 노드나 하나에 1을 더해 짝수로 맞춥니다.
복습. 링크를 무작위로 연결하면 링크수가 이항/푸아송 분포를 따르게 된다. 그러면 거듭제곱 분포를 따르는 네트워크는 어떻게 만들까?
구조 모형(configuration model): 링크수 분포를 미리 정해놓고 만들기!
주어진 이웃 수 안에서 무작위로 연결하여 네트워크를 “조립”하므로, 정해진 이웃 수에 대해 여러 네트워크 구조가 만들어질 수 있다. 모형의 용도: 특정 링크수 분포를 가진 네트워크의 일반적 성질을 연구하기 위해 가능한 많은 네트워크 구조를 점검한다. 다만 언제나 가능하지는 않다. 자기 연결(self-loop)과 다중 링크(multi-link)가 생길 수 있다.
난수 r을 누적 분포 D(k)로 링크수 k로 바꾸기 (γ = 2.5)
실제 네트워크의 어떤 성질이 링크수 분포 때문인지, 아니면 그 이상의 연결 구조 때문인지 알고 싶을 때 쓴다. 두 링크 과 를 골라 와 로 바꾸는 일을 반복한다. 각 노드별 “링크수(이웃 수)”는 보존하면서 연결 구조를 무작위로 섞는다!
반면 링크를 전부 다 “수거”해서 다시 노드들 사이에 무작위로 배치하면, 링크수 분포가 푸아송 분포인 무작위 네트워크가 된다. 허브가 사라진다.
오른쪽 데모는 동네(클러스터)가 뚜렷한 네트워크에서 출발한다. 교환을 반복하면 링크수 목록은 그대로인데, 삼각형(친구의 친구가 친구인 관계)은 급격히 줄어든다. 삼각형이 많은 것은 링크수 분포만으로 설명되지 않는 구조라는 뜻이다.
두꺼운 꼬리(fat tail), 무거운 꼬리(heavy tail), 긴 꼬리(long tail), 파레토(Pareto), 브래드포드(Bradford) 분포 … 대 제한이 있는 분포(인간의 키, 자동차 사고를 당할 확률, …). 제한이 있는 분포는 큰 값에 대해 가 지수함수적으로() 또는 그것보다 더 빠르게(예: ) 감소한다.
라는 함수는 가 되면 원래의 , 가 되면 의 비율이 된다. 라는 지점을 경계로 그것보다 큰 값을 가질 확률이 급격하게 작아진다. 방사성 동위원소의 “반감기(half-life)”처럼, 라는 특징적인 규모(scale)가 있다. 척도가 있다! 분포의 꼬리 부분이 “얇음”: 얇은 꼬리(thin tail).
반면 두꺼운 꼬리에서는 이상치(outlier) 또는 희귀한 사건(rare event)에 해당하는 매우 큰 사건 가 자주 일어난다. 사건 의 크기가 몇 개의 자릿수(order of magnitude)에 걸쳐 있을 수 있다. 위 첫 화면의 그림이 그 예다.
위키백과의 파레토 법칙(80 대 20 법칙) 그림에서 “머리”와 “꼬리”는 거듭제곱 분포의 누적분포와 등수 이야기를 할 때 “꼬리”라고 불렀던 곳과 반대다. 등수 그림에서는 큰 값이 왼쪽(높은 등수)에 놓이기 때문이다.
모두 로그 척도에서 x−2는 직선(ln y = −2 ln x)이고, 지수함수는 ln y = −eln x처럼 급격히 꺾입니다. y만 로그 척도에서는 e−x가 직선입니다.
지수함수 절단(cutoff)이 있는 거듭제곱 법칙: , (상부 불완전 감마 함수 ). 이니, 지수함수 부분 때문에 배가 되는 “절단”까지는 거듭제곱 법칙을 잘 따르는 것으로 보인다.
펼쳐진 지수함수(stretched exponential), 베이불(Weibull) 분포: 누적분포함수 에서 확률분포함수 , . 이면 지수함수와 같고, 이면 지수함수의 감소하는 정도가 여러 자릿수로 “펼쳐짐”, 가 작아질수록 거듭제곱 법칙과 구분하기가 힘들어진다. 이면 감소하는 정도가 더 “압축됨”, 이면 레일리 분포(Rayleigh distribution).
로그 정규 분포(log-normal distribution): 가 정규분포를 따르는 경우 . 골턴(Galton) 또는 지브라(Gibrat) 분포라고도 한다. 변수가 많은 독립적인 양의 난수들의 곱으로 주어지는 경우(예: 금융에서 지속적인 거래로 발생하는 복합적인 수익)에 나타난다. 는 자릿수 단위로 표현되는 의 크기 규모에 대한 변화 정도이니, 가 정규 분포를 따르면 값 자체는 다소 크게 변할 수 있다.
교재 오타 메모『네트워크 사이언스』의 펼쳐진 지수함수 부분에는 “확률분포함수”라는 표시가 빠져 있다. 로그 정규 분포 식에는 없어야 할 아래첨자 가 붙어 있고, 식에는 가 하나 더 있다(원문의 오타).
통계(물리)학적 설명법. 주어진 제한 조건들(constraints)을 만족하는 상태(state)들 중 가장 경우의 수 가 많은 상태들로 구성된 “패턴”이 생길 가능성이 크다는 설명 방식이다[Frank 2009]. 볼츠만(Ludwig Eduard Boltzmann, 1844–1906)의 묘비에 새겨진 를 엔트로피(entropy)라고 부르기로 …. 평균이 정해져 있으면 지수함수 분포가, 평균과 분산이 정해져 있으면 정규분포가, 로그의 평균이 정해져 있으면 거듭제곱 분포가 엔트로피를 최대로 한다.
네트워크 모형으로 설명. 특정한 규칙으로 만들어진 네트워크가 자연계에서 관찰되는 링크수 분포를 보인다면 그 규칙으로 만들어진 것일지도? 그런데 구조 모형과 숨은 매개변수 모형은 링크수 분포를 (직간접적으로) 미리 정해 놓고 만드는 것이라, 거듭제곱 분포가 왜 생기는지는 설명하지 못한다.
To Be Continued … (네트워크가 자라나는 규칙을 다루는 다음 이야기: 『네트워크 사이언스』 5장의 바라바시-알버트 모형)요약많은 네트워크가 링크수 분포가 거듭제곱 분포인 척도 없는 네트워크이고(보편성), 허브가 있으면 시스템의 동작이 근본적으로 바뀐다. 다만 거듭제곱 법칙 형식은 실제 시스템에서 순수한 꼴로 거의 볼 수 없다. 크게 지수함수적으로 제한된 네트워크와 두꺼운 꼬리를 가진 네트워크로 뭉뚱그려 구분하고, 고도로 연결된 몇 개의 허브가 링크수가 적은 많은 노드와 공존한다는 것만으로도 종종 실제 네트워크의 성질을 이해하기에 충분하다.