加权有向图中的密度

时间:2015-02-07 15:15:34

标签: algorithm graph network-programming igraph

抱歉发布了背靠背,但我只是看着igraph的密度函数,它似乎没有考虑图中的权重(如果我错了,请纠正我)。我查看了文献,发现了这个

“图中边的权重之和除以可能的边数,即| V | x(| V | -1)”

在我的情况下,我有一个188x188的单模网络,它是定向的,非对称加权的。总边重为2112,边数为468。

从igraph我得到0,013,从这个解决方案我得到~0,06

如果你认为这是一种有效的方法,或者是否有人听说过这个问题的不同解决方案,我的问题就是现在。

2 个答案:

答案 0 :(得分:0)

irgraph的函数edge_density不考虑权重。 如果您在加权图表上调用它,它会将图表视为未加权并返回密度:nb_edges / V*(V-1)用于有向图,nb_edges / V*(V-1) / 2用于无向图形。

据我所知,这在igraph的文档中没有说明。

然而,我不确定密度是否对加权网络有意义,所以我看不出你所指的定义的优点。

类似的东西可能对更具体的应用程序有用,但是这里应该编写自己的函数。

答案 1 :(得分:0)

我知道这很老了,但我只是注意到您在上面给出的公式中有一个错误。

实际上,您需要将乘以 2,而不是在无向图中除以2。

在无向图中,您必须将图中的线数加倍,因为它们是无向的。

Density for undirected graph

Density in directed graph

OP:当您说“在我的情况下,我有一个188x188单模网络,该网络是定向的,不对称加权的。总边缘权重是2112,边缘数是468。

这是L / n *(n-1)= 2112/35156 = 0.06

但是,如果igraph不考虑权重,答案将是:

L / n *(n-1)= 468/35156 = 0.013,这与您先前报告的一致。我希望这个问题已解决。