子图枚举的有效算法

时间:2015-04-30 13:40:44

标签: algorithm graph-algorithm

我搜索了有关子图枚举的相关问题。但是,他们不符合我的要求(*)。 (如果我误解了什么,请告诉我。)

是否有一个有效的算法或工具来枚举无向父图的所有“连接的和未标记的”子图。

就我而言,父图是Internet拓扑,因此节点数量可能很大。我想列举父图的所有连接的未标记模式(即子图)。

(*)我搜索了Efficiently find all connected subgraphsSubgraph enumeration,但他们都分别针对顶点标记的诱导和完整子图。但我想要的只是连接的未标记子图。

1 个答案:

答案 0 :(得分:1)

可能有用的主题名称是"频繁的子图挖掘",这似乎是它的一个名称。这个领域有各种各样的工具和算法,当然,它们可能不会完全符合您的要求。

正如其他人在链接中的两个问题的答案中指出的那样,大图的子图数量可能非常大。假设你实际上想列出它们,不只是计算它们,那么它可能需要很长时间。

编辑:OP指出这里的输入是一个大图,而不是一组较小的图,这对标准图挖掘不起作用

我仍然认为一般方法可以在这里工作。用于挖掘的输入图集是数据图的子图的一些子集。但是那个子图集就是你想要的第一个!

因此,假设您选择了一个您想要的子图尺寸(让我们说6个顶点)然后您随机选择父母的起始顶点(互联网拓扑)并“增长”#39;这些种子,在每个生长步骤中除去那些不匹配的种子。然后重复不同大小的子图。

当然,这是一种概率算法,但它可以给你一些想法。