r - igraph r 估计大型网络的网络中心性度量需要多长时间

标签 r networking igraph

我有一个包含 300000 个节点和 800000 个边的网络。 R中的igraph包计算每个节点的网络中心性度量(包括接近度和介数)需要多长时间。

最佳答案

介数和接近度的运行时间都是二次方的,因此随着节点数量的增加而大幅增加。 These authors计算具有 325,000 条边的图的介数估计需要 7,000 秒。具有 800,000 条边的图将花费更长的时间。

igraph 确实有针对大型图的特定函数 - estimate_ Betweenness estimate_closeness ,手册称它们在运行时不是二次的。您定义一个截止值,它将包含在计算中的最大路径长度。传统上,介数考虑任意长度的路径。定义截止大大减少了运行时间:

> lg <- erdos.renyi.game(300000,800000,type="gnm")
> ptm <- proc.time()
> igraph::estimate_betweenness(lg, cutoff = 3)[1:10]
 [1]  29  12  14  90  29  98  69  48 200  86
> proc.time() - ptm
   user  system elapsed 
 27.605   0.327  30.113 

~ 30 秒。这是在双核 MacBook Air 上。随着截止值的增加,运行时间也会增加。

当然,权衡是您需要估计每个节点的介数分数,而不是直接计算。


引用:

Kang, U.、Papadimitriou, S.、Sun, J. 和 Tong, H.(2011 年 4 月)。大型网络的中心性:算法和观察。 2011 年 SIAM 国际数据挖掘 session 论文集(第 119-130 页)。工业与应用数学学会。 Link

关于r - igraph r 估计大型网络的网络中心性度量需要多长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753929/

相关文章:

使用多组度量列将数据框 reshape 为长格式

R 使用 data.table 中的条件查找波高于给定值的频率和持续时间

c# - 通用Windows上的UDP套接字未接收数据

c++ - sys/sendfile.h 未找到 GCC

python,igraph 处理顶点重新编号

r - 为什么行函数会关闭 R 中的路径?

r - 将矩阵拆分为大小为 n 的 block ,偏移量为 i(矢量化方法)

c++ - 在套接字 C/C++ 上发送浮点值

具有相同颜色(特征)的R igraph簇节点

r - 当我在图中使用简化时绘制图形的问题