计算图

时间:2017-11-30 23:07:25

标签: python igraph networkx shortest-path

我有一个大的(加权的,定向的)图形(> 100,000个节点),我想计算该图形中的大量随机最短路径。所以我想随机选择两个节点(让我们说k次)并计算最短路径。一种方法是使用networkx或igraph模块并执行for循环,如

pairs=np.random.choice(np.arange(0,len(graph.nodes)), [k,2]) 
for pair in pairs:
    graph.get_shortest_paths(pair[0],pair[1], weights='weight')

这有效,但需要很长时间。特别是,与计算特定源节点的所有路径相比。本质上,在每次迭代中,该过程再次加载图形并从头开始该过程。那么有没有办法从将图形结构加载到内存中而不是在每次迭代中重做这一点而不计算所有最短路径(这将花费太长时间,因为它们将是n *(n-1)路径)。

换句话说,我能否以有效的方式计算所有最短路径的随机子集?

0 个答案:

没有答案