Networkx中边缘中间性中心度子集的计算

时间:2019-10-02 17:50:26

标签: python networkx graph-theory

在具有5个节点的简单图形中:

g=nx.Graph()
e=[(1,2),(1,3),(2,4),(2,5),(5,3)]
g.add_edges_from(e)

如果我运行nx.edge_betweenness_centrality_subset(g,[2],[3]),结果将是:

{(1, 2): 0.25, (1, 3): 0.25, (2, 4): 0.0, (2, 5): 0.25, (3, 5): 0.25}

但是,根据定义,(1,2),(1,3),(2,5)(3,5)的子集中间性应为0.5,因为节点2(源)和3(目标)之间存在两条最短路径,并且每条路径之间都有两条最短路径这些路径中的一条位于其中一条上,因此根据公式应为1/2。请帮助我了解结果。

2 个答案:

答案 0 :(得分:0)

看起来最短的2条路径都是两条边长,而您期望的0.5(2条路径中的1条)又被重新划分了(2条路径中的1条),因此每条边为0.25。

只是一个猜测。

答案 1 :(得分:0)

这是一个已知问题,引入了2的因子。

https://github.com/networkx/networkx/issues/3481

文档将在版本2.4中进行更新,以解释计算内容。该票已于本周早些时候关闭4,所以我希望它能尽快完成。

另请参阅is this betweenness calculation correct?