加权图的传递闭包的“逆”

时间:2014-10-10 21:57:18

标签: r algorithm igraph

对于网络,我得到每对节点之间的(非负)旅行费用。旅行费用是附加的。如何修剪图形以便去除不必要的边缘(即具有大致相等长度的路径的边缘)?换句话说,我正在寻找一个较小的(最小的?)图,其中保留了每对节点之间的最短路径距离。

在以下示例中,我给了sp(或spg,就此而言),我想从中推断出g

set.seed(144)
library(igraph)
nv <- 100
ne <- 300

g <- erdos.renyi.game(nv, ne, "gnm", directed = FALSE)
edge.attributes(g) <- list(weight = rexp(ne, 1))
sp <- shortest.paths(g)
spg <- graph.adjacency(sp, weighted = "weight")

我有几千个节点,因此枚举所有连接的边缘对不是一个选项(由于内存限制),并且在R中实现时迭代所有节点对可能太慢。

0 个答案:

没有答案