Mímisbrunnr知恵の泉

← ネットワーク科学 一覧

🎓 レベル:標準 | 重要度:B(推奨)

📎 前提:次数・道・連結成分近接中心性・媒介中心性 | 関連:スモールワールド(Watts–Strogatz)

要点(BLUF)

概念:このネットワークはどれくらい広いか

中心性は「個々のノードの重要度」でしたが、ネットワーク全体の形も知りたい。「端から端まで何ホップか」「平均すると誰と誰は何人を介すか」。これを測るのが距離ベースの大域指標で、スモールワールド現象(スモールワールド(Watts–Strogatz))を定量化する土台です。

数式による定義

ノード vv離心率(eccentricity) ε(v)\varepsilon(v) は、vv から最も遠いノードまでの距離。

ε(v)=maxud(v,u)\varepsilon(v) = \max_{u} d(v,u)

これを使って3つの大域量が定義されます。

直径=maxvε(v),半径=minvε(v)\text{直径} = \max_v \varepsilon(v), \qquad \text{半径} = \min_v \varepsilon(v) 平均路長=1n(n1)uvd(u,v)\text{平均路長} = \frac{1}{n(n-1)} \sum_{u \neq v} d(u,v)

コードで確認

import networkx as nx

G = nx.karate_club_graph()
print("直径:", nx.diameter(G))
print("半径:", nx.radius(G))
print("平均最短路長:", round(nx.average_shortest_path_length(G), 4))

実行結果:

直径: 5
半径: 3
平均最短路長: 2.4082

34人のネットワークで、最も離れた2人でもわずか5ホップ、平均は約2.4ホップ。「世間は狭い」を数値が裏づけています。一般に実ネットワークでは、ノード数 nn が増えても平均路長は logn\log n 程度にしか伸びません(スモールワールド性)。

数式の直観的意味

直径は「最悪ケースの隔たり」、平均路長は「典型的な隔たり」、半径は「最も恵まれた起点からの最悪ケース」。同じ距離行列を、最大で集約するか平均で集約するかの違いです。実ネットワークで平均路長が小さいのは、少数のハブやランダムな遠距離リンクが「近道」になるから。nn 人を直線に並べれば平均路長は n/3n/3 程度ですが、ランダムなショートカットが入ると一気に logn\log n まで縮みます(スモールワールド(Watts–Strogatz))。

⚠️ よくある誤解・落とし穴

対応シミュレーション

本文のコードがそのまま検証用です。logn\log n スケーリングの実験は スモールワールド(Watts–Strogatz)

関連