如何识别图中松散连接的组件

时间:2014-03-27 09:03:46

标签: algorithm graph

想象一下,图形具有两个相对密集连接的组件,这些组件仅通过相对较少的边缘相互连接。如何识别组件?我不知道正确的术语,但直觉是一个相对密集连接的子图由几个线程挂在另一个子图上。我想识别这些只与图的其余部分松散连接的块。

3 个答案:

答案 0 :(得分:2)

如果您的图表代表真实世界系统,则此任务称为社区检测。从Fortunato's review (2010)开始,您会找到很多关于此的文章。除其他外,他描述了早期答案中提到的基于最小割的方法。

还有很多关于SO的帖子,例如:

Cross in Valid的人也谈论社区检测:

最后,在第51区提出了一个新的Network Science网站提案,该提案与此问题更直接相关。

答案 1 :(得分:1)

您可能需要最稀疏切割而不是最小切割 - 除非您可以识别组件中的多个节点,否则当度数较小时,最小切割会出现非常不平衡的趋势。最稀疏切割的常用方法之一是计算图的拉普拉斯算子的特征向量并对其进行阈值处理。

答案 2 :(得分:0)

答案可能有点笼统,但您可以尝试将问题建模为流动问题并产生最小限度;见here。边缘可以是双向的,容量为1,产生的切割可能会产生所需的分区?