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