gephi如何计算平均路径长度
how gephi count the average path length
问题描述
我想知道在Gephi中计算有向图中平均路径长度的公式,因为wikipedia中的公式是
但是计算出来的结果好像和gephi不一样,比如我有一个简单的有向图
*节点:A,B,C,D
* 边:(A->B),(B->C),(B->D)
如果我用上面的公式计算平均最短路径长度,我将手工得到 0.583
的结果(这与我用 Python NetworkX 计算的结果相同),但是 gephi 给出了结果1.4
这让我很困惑
wiki上没有给出公式,实现算法的参考也没有用,所以想知道gephi是怎么计算平均路径长度的,它和平均最短路径长度一样吗?
感谢任何帮助,谢谢
环境
- 使用的版本:Gephi 0.9.1
- 操作系统:Windows10
我不得不说这个定义有点令人费解,因为它在分母中计算所有可能的顶点对。但在实践中,并非所有顶点对都能产生有效路径。
Gephi 的逻辑略有不同,它计算分母中实际路径的数量。我是看代码发现的here。他们所做的是计算每个节点与其他每个节点的距离,然后将所有距离加在一起。他们将此总和除以路径总数(在您的情况下为 5)。现在每个节点的距离如下:
A: 0
B: 1 (reachable only from A)
C: 2 (from A), 1 (from B)
D: 2 (from A), 1 (from B)
现在average path length = (0+1+2+1+2+1)/5 = 1.4
问题描述
我想知道在Gephi中计算有向图中平均路径长度的公式,因为wikipedia中的公式是
但是计算出来的结果好像和gephi不一样,比如我有一个简单的有向图
0.583
的结果(这与我用 Python NetworkX 计算的结果相同),但是 gephi 给出了结果1.4
这让我很困惑
wiki上没有给出公式,实现算法的参考也没有用,所以想知道gephi是怎么计算平均路径长度的,它和平均最短路径长度一样吗?
感谢任何帮助,谢谢
环境
- 使用的版本:Gephi 0.9.1
- 操作系统:Windows10
我不得不说这个定义有点令人费解,因为它在分母中计算所有可能的顶点对。但在实践中,并非所有顶点对都能产生有效路径。
Gephi 的逻辑略有不同,它计算分母中实际路径的数量。我是看代码发现的here。他们所做的是计算每个节点与其他每个节点的距离,然后将所有距离加在一起。他们将此总和除以路径总数(在您的情况下为 5)。现在每个节点的距离如下:
A: 0
B: 1 (reachable only from A)
C: 2 (from A), 1 (from B)
D: 2 (from A), 1 (from B)
现在average path length = (0+1+2+1+2+1)/5 = 1.4