Python 超大有向图的圈计数

Python 超大有向图的圈计数,python,algorithm,graph,graph-theory,networkx,Python,Algorithm,Graph,Graph Theory,Networkx,我很难找到在一个非常大的图中枚举循环的有效解决方案(或者事实上的任何解决方案) 该图有100万个节点和125万条边。我曾尝试使用库中的,但24小时后,退出代码137(Python)终止了进程 我也尝试过使用Tarjan的算法,但是这个过程已经在我的服务器上运行了25天,还没有结果 你有没有什么方法可以推荐找到所有的周期?使用MapReduce会有帮助吗?对于非常大的图,还有其他方法吗?您的图是有向图还是无向图?在无向图的情况下,我发现它表明,对于你的数字,你将有2^125000个不同的循环,这将

我很难找到在一个非常大的图中枚举循环的有效解决方案(或者事实上的任何解决方案)

该图有100万个节点和125万条边。我曾尝试使用库中的,但24小时后,退出代码137(Python)终止了进程

我也尝试过使用Tarjan的算法,但是这个过程已经在我的服务器上运行了25天,还没有结果


你有没有什么方法可以推荐找到所有的周期?使用MapReduce会有帮助吗?对于非常大的图,还有其他方法吗?

您的图是有向图还是无向图?在无向图的情况下,我发现它表明,对于你的数字,你将有2^125000个不同的循环,这将花费相当多的时间来枚举它们。你是否尝试过联合秩算法。有一些有效的算法用于检测(巧合的是,包括)。如果您首先将图形分解为SCC,然后分别在每个SCC中查找周期,可能会加快速度?显然,将代码移植到编译语言会使它运行得更快。您是否考虑过在合理的时间内枚举太多周期的可能性?在一个只有15个顶点的完整图上,已经有超过15个顶点了/15=87178291200长度-15个周期,以及更多更短的周期。这几乎肯定是没有希望的。你看到的是(10^6)^(10^6)个周期。这是1,后面跟着600万个零。math.stackexchange.com/a/727620/201006您需要重新计算您的问题。您的图形是有向的还是无向的?在无向图的情况下,我发现它表明,对于你的数字,你将有2^125000个不同的循环,这将花费相当多的时间来枚举它们。你是否尝试过联合秩算法。有一些有效的算法用于检测(巧合的是,包括)。如果您首先将图形分解为SCC,然后分别在每个SCC中查找周期,可能会加快速度?显然,将代码移植到编译语言会使它运行得更快。您是否考虑过在合理的时间内枚举太多周期的可能性?在一个只有15个顶点的完整图上,已经有超过15个顶点了/15=87178291200长度-15个周期,以及更多更短的周期。这几乎肯定是没有希望的。你看到的是(10^6)^(10^6)个周期。这是1,后面跟着600万个零。math.stackexchange.com/a/727620/201006您需要重新制定您的问题。