gpt4 book ai didi

python-2.7 - python-igraph 和 networkx 之间的关系

转载 作者:行者123 更新时间:2023-12-05 06:29:17 25 4
gpt4 key购买 nike

我有一个包含 250,000 个节点和 100 万条边的大图来计算它的顶点介数(没有任何权重)。我的目标是使用 python-igraph 来完成这项工作,因为它支持与其他一些包的并行计算。当我在具有 100 个顶点的相对较小的格子上比较 python-igarph 和 networkx 的结果时(见图)。我发现他们完全不同。即使是9个节点的lattice,igraph的结果都是0,而networkx的结果似乎是对的。谁能帮我解决python-igraph的这个问题?

代码如下:

from igraph import *
import networkx as nx

print("\tUse python-igraph with Vertices=100 ")
ig = Graph.Lattice([10, 10], 4, False, False, False)
bt1 = ig.betweenness(directed=False, cutoff=None,nobigint=False)
print("\tBetweenness of python-igraph:")
print(bt1)
print("\tUse networkx with Vertices=100")
G_la= nx.grid_2d_graph(10,10,periodic=False)
bt2 = nx.betweenness_centrality(G_la)
print("\tBetweenness of networkx:")
print (bt2)

在此处输入图片描述 enter image description here enter image description here

最佳答案

根据我对 documentation 的阅读对于 igraph Lattice 函数,作为其参数的数字 4 表示节点将连接到晶格上最多 4 步远的任何节点。 networkx 图将只连接到 4 个最近的邻居。所以 igraph 有更多的联系。在 9 节点示例中,igraph 连接了所有节点。

明确地说,networkx 会将节点 (1,1)(1,0)(0,1) 连接起来、(1,2)(2,1),而您的 igraph 命令将它与所有这些以及 (1,3)(1,4)(1,5)(0,4) 等等。 (我没有明确检查,因为 igraph 不在我的电脑上,但我相当确定这是对文档的正确理解)。

关于python-2.7 - python-igraph 和 networkx 之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53681066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com