高连通有向图网络中的圈x

2024-06-28 20:37:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个中等大小的有向图,由大约3000个节点和260000条边组成,我已经在networkx中构建。网络主要是可传递的:即如果a被定向到b,b被定向到c,那么a就指向c。我试图使用simple_cycles algorithmfrom{}包来获得该网络中每个循环的列表(即任何违反传递性的行为)。在

为了做到这一点,我跑步

l = nx.simple_cycles(G)
cycle_list = list(l)

其中G是网络。在

我正在讨论第二条线路无法运行到完成的问题(我已经让它运行了24小时)。当我将该算法应用于原始网络的2100节点的子集时,运行大约需要4秒。在

知道瓶颈在哪里吗?我能做些什么来修复它,使它运行得更快。在

更新:创建方法

^{pr2}$

作为参考:

df['i']是一列字符串(对应于节点)。 df['j']是一列字符串(对应于节点)。 df['f.i.j']是一列浮点数(它决定两个节点之间的边的方向)。在


Tags: 字符串网络networkxdf列表节点simple跑步