Mímisbrunnr知恵の泉

← ネットワーク科学 一覧

🎓 レベル:標準 | 重要度:A(必須)

📎 前提:次数・道・連結成分拡散と感染症モデル(SI・SIS・SIR) | 関連:ランダムウォークと拡散の数理

要点(BLUF)

概念:いつ繋がったかが効く

これまでのグラフはエッジが「常時存在する」前提でした。でも現実の接触 — 会話、メール、対面 — は特定の時刻に瞬間的に起きる断続的なものです。感染症(拡散と感染症モデル(SI・SIS・SIR))で「AがBに会い、後でBがCに会った」なら病気はA→Cへ伝わりうるが、順序が逆なら伝わらない。この時間順序の因果を捉えるのが時間発展ネットワークです。

数式:時間尊重パス

時間発展ネットワークは、時刻つきエッジの列 (u,v,t)(u, v, t) の集合で表します。時間尊重パスとは、ノード列 v0,v1,,vkv_0, v_1, \dots, v_k と時刻列 t1t2tkt_1 \leq t_2 \leq \cdots \leq t_k で、各 (vi1,vi)(v_{i-1}, v_i) が時刻 tit_i に接触しているもの。

t1t2tkt_1 \leq t_2 \leq \cdots \leq t_k

この単調性の制約が決定的です。静的グラフの道(次数・道・連結成分)と違い:

コードで確認

import networkx as nx

# (u, v, t): 時刻tに接触したエッジ
edges = [(0, 1, 3), (1, 2, 1), (2, 3, 2)]

def temporal_reachable(edges, src):
    """時間尊重パス:エッジは時刻の昇順にしか使えない(過去には戻れない)"""
    arrive = {src: 0}  # ノード -> そこに到達した時刻
    for (u, v, t) in sorted(edges, key=lambda e: e[2]):  # 時刻順に処理
        if u in arrive and arrive[u] <= t and (v not in arrive or t < arrive[v]):
            arrive[v] = t
        if v in arrive and arrive[v] <= t and (u not in arrive or t < arrive[u]):
            arrive[u] = t
    return arrive

print("時刻つきエッジ:", edges)
print("0から時間尊重で到達可能:", temporal_reachable(edges, 0))

Gs = nx.Graph([(u, v) for u, v, t in edges])   # 時刻を無視した静的グラフ
print("0から静的に到達可能    :", sorted(nx.node_connected_component(Gs, 0)))

実行結果:

時刻つきエッジ: [(0, 1, 3), (1, 2, 1), (2, 3, 2)]
0から時間尊重で到達可能: {0: 0, 1: 3}
0から静的に到達可能    : [0, 1, 2, 3]

静的に見れば 0-1-2-3 は一本道で全員つながっています。しかし時間順では、0が1に出会うのは時刻3。その時にはもう 1-2(時刻1)も 2-3(時刻2)も過去に起きてしまっているので、0から2や3へは決して到達できません。時刻を考えると到達範囲が劇的に狭まる — これが時間発展ネットワークの核心です。

時間順序が因果を決める

graph LR
    A["0 →(t=3) 1"] -.->|"1→2 は t=1<br/>もう過去"| X["2へ行けない"]
    B["静的には<br/>0-1-2-3 全連結"] --> C["時間順では<br/>0→1 まで"]

数式の直観的意味

時間尊重パスの単調性 t1t2t_1 \leq t_2 \leq \cdots は、「情報や病気は過去にさかのぼれない」という当たり前の因果を数式にしたものです。静的グラフの分析(中心性・連結成分)をそのまま時間発展ネットワークに当てると、実際には起こりえない経路を数えてしまう。たとえば媒介中心性(近接中心性・媒介中心性)を静的グラフで計算すると、時間的にありえない仲介を過大評価します。だから temporal では「到達可能性」「最短時間経路」「バースト性(接触が時間的に固まる性質)」といった時間固有の量を測り直す必要があります。

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

対応シミュレーション

本文のコードがそのまま検証用です。拡散ダイナミクスとの接続は 拡散と感染症モデル(SI・SIS・SIR)

関連