尝试使用python中的networkx查找断开图形连接的节点集

尝试使用python中的networkx查找断开图形连接的节点集,python,graph,networkx,Python,Graph,Networkx,因此,我试图解决这个问题:“找到一个图形算法,该算法将识别一组(或多组)节点,如果删除这些节点,将导致图形分裂为至少两个连接的组件。使用它来识别网络中的此类节点集。” 我在这里找到了这个函数:它看起来和我要找的完全一样 所以我试着运行这个: pg_所有节点切=len(nx.所有节点切(pg)) 问题是,这需要永远运行。在跑了6个小时后,我还没跑完这个 所以我想知道,在networkx中是否有其他更快的python库或其他帮助我解决问题的东西,或者我是否误解了我应该找到的东西 谢谢flow\u

因此,我试图解决这个问题:“找到一个图形算法,该算法将识别一组(或多组)节点,如果删除这些节点,将导致图形分裂为至少两个连接的组件。使用它来识别网络中的此类节点集。”

我在这里找到了这个函数:它看起来和我要找的完全一样

所以我试着运行这个:

pg_所有节点切=len(nx.所有节点切(pg))
问题是,这需要永远运行。在跑了6个小时后,我还没跑完这个

所以我想知道,在networkx中是否有其他更快的python库或其他帮助我解决问题的东西,或者我是否误解了我应该找到的东西


谢谢

flow\u func
是第三个参数。第二个参数是ineteger
k
。你确定你在这里复制的代码是正确的吗?除此之外,
all\u node\u cuts
是一个没有
len
的生成器,因此实际上此代码会立即失败。是的,我的错误,我删除了第二个参数。现在已经更正了帖子中的函数调用。我的错误是,在函数文档中使用的示例中,生成器调用在使用len之前被包装到一个列表中。现在我说得对,但这仍然需要很长很长的时间。所以我问,是否有其他python库可以完成我试图做的事情,或者我只是误解了这一点?我运行的代码可以在下面的答案中看到。for循环到目前为止只打印出了一组,并且已经运行了一个小时。你应该找到所有这样的组吗?它们必须是最小的吗?networkx使用的算法根据原始文件具有非常高的时间复杂度。其他较新的算法在付费墙后面的文件中。是的,它已经运行了大约24小时,还没有完成。我开始认为我应该只找到将图形断开为两个连接组件的每个节点。但模棱两可的是,在对问题的描述中,它说“集合”。我不确定是否诚实。它没有说明任何地方,他们必须是最小的,有什么区别吗?请提供一些解释,让其他用户可以很容易地理解它这个答案是有关我的评论在我原来的职位上面。我无法在答案中包含以换行符分隔的代码。如果您阅读了我的原始帖子的第一段,其中描述了我被要求查找的内容,我理解这个函数完成了要求的功能。但这要花很长时间才能运行,它已经运行了大约24小时,但还没有完成。所以我问是否有人知道任何其他python库或算法可以完成我需要做的事情,并且计算成本不高。甚至,根据问题的描述,如果我误解了这一点
pg_all_node_cuts = nx.all_node_cuts(pg)
for b in pg_all_node_cuts:
  print(b)