Python networkx中边介数中心子集的计算

Python networkx中边介数中心子集的计算,python,networkx,graph-theory,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\u betweenness\u centrality\u子集(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)的

在具有5个节点的简单图中,如下所示:

g=nx.Graph()
e=[(1,2),(1,3),(2,4),(2,5),(5,3)]
g.add_edges_from(e)
如果我运行
nx.edge\u betweenness\u centrality\u子集(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。请帮助我了解结果。

看起来两条最短路径都有两条边长。您期望的0.5(2条路径中的1条)再次被分割(2条边中的1条),每条边的长度为0.25


只是一个猜测。

这是一个已知的问题,引入了系数2

2.4版中正在更新文档,以解释计算内容。这张票在本周早些时候4点关门了,所以我希望它很快就会定稿


另请参见

是,但等式是关于最短路径的数量(可能涉及2条以上的链路)