communicability_betweenness_centrality#
- communicability_betweenness_centrality(G)[source]#
返回图 G 中所有节点对的子图通信能力。
通信能力介数度量利用连接每对节点的路径数量作为介数中心性度量的基础。
- Parameters:
- G: 图
- Returns:
- nodes字典
包含节点及其通信能力介数值的字典。
- Raises:
- NetworkXError
如果图不是无向且简单的。
Notes
设
G=(V,E)
是一个具有n
个节点和m
条边的简单无向图,A
表示G
的邻接矩阵。设
G(r)=(V,E(r))
是从G
中移除所有与节点r
相连的边但保留节点r
本身所得到的图。G(r)
的邻接矩阵是A+E(r)
,其中E(r)
仅在第r
行和第r
列有非零元素。节点
r
的子图介数定义为 [1]\[\omega_{r} = \frac{1}{C}\sum_{p}\sum_{q}\frac{G_{prq}}{G_{pq}}, p\neq q, q\neq r,\]- 其中
G_{prq}=(e^{A}_{pq} - (e^{A+E(r)})_{pq}
是涉及节点r
的路径数量,G_{pq}=(e^{A})_{pq}
是从节点p
到节点q
的闭合路径数量,C=(n-1)^{2}-(n-1)
是一个归一化因子,等于求和项的数量。
得到的
omega_{r}
取值在零和一之间。对于连通图,下限无法达到,而上限在星形图中达到。References
[1]Ernesto Estrada, Desmond J. Higham, Naomichi Hatano, “Communicability Betweenness in Complex Networks” Physica A 388 (2009) 764-774. https://arxiv.org/abs/0905.4102
Examples
>>> G = nx.Graph([(0, 1), (1, 2), (1, 5), (5, 4), (2, 4), (2, 3), (4, 3), (3, 6)]) >>> cbc = nx.communicability_betweenness_centrality(G) >>> print([f"{node} {cbc[node]:0.2f}" for node in sorted(cbc)]) ['0 0.03', '1 0.45', '2 0.51', '3 0.45', '4 0.40', '5 0.19', '6 0.03']