second_order_centrality#

second_order_centrality(G)[源代码]#

计算G节点的二阶中心性。

给定节点的二阶中心性是G上永久随机游动节点的返回时间的标准偏差:

参数
G图表

网络X连接的无向图。

返回
nodes词典

以二阶中心度为值的按节点键控的词典。

加薪
NetworkXException

如果图g为空、非连接或具有负权重。

笔记

二阶中心度值越低,则表明中心度越高。

该算法来自Kermarrec、Le Merrer、Sericola和TréDan [1].

这段代码实现了算法的分析版本,即不涉及随机游走过程的模拟。随机游走在这里是无偏的(对应于本文的公式6 [1]) 因此,中心值是变换后的输入图G上的随机游走返回时间的标准偏差(通过添加自环在每个节点处的度数相等)。

这种实现的复杂性是O(n^3),在一台机器上本地运行,n的大小是G,这使得它只适用于小图。

工具书类

1(1,2)

Anne Marie Kermarrec,Erwan Le Merrer,Bruno Sericola,Gilles Tr_dan,“二阶中心性:复杂网络中节点关键性的分布式评估”,Elsevier Computer Communications 34(5):619-628,2011.

实例

>>> G = nx.star_graph(10)
>>> soc = nx.second_order_centrality(G)
>>> print(sorted(soc.items(), key=lambda x: x[1])[0][0])  # pick first id
0