找到与查询图匹配的子图?

时间:2013-10-23 14:21:04

标签: graph-theory graph-algorithm subgraph

我有一个无向图G。由于G是顶点和边的集合,我想将其视为“数据库”。

现在我的查询图H 保证是G 的子图。我怎么知道H对应G的哪一部分?

这个问题与现有问题不同,因为基本上我确定HG的一部分。

2 个答案:

答案 0 :(得分:1)

查找图是否是另一个图的子图,即子图同构问题是NP完全的。许多图形处理系统使用的方法是图形索引。它减少了必须超过子图同构测试的候选图的数量。索引创建有很多变化,对此有很多研究和很多论文可用。这些是我发现有用的一些示例文章: graph indexing: a frequent strucutre-based approach - 这是一个很旧的问题,但问题得到了很好的解释,非常有益于阅读。 GRAPES: A software for parallel searching on biological graphs - 这也值得一读,它很好地解释了图索引程序。

答案 1 :(得分:0)

这是Subgraph isomorphism problem。如果您不限制查询图,则它是NP完全的(因为您可以采用H哈密顿循环)。如果图H非常小(固定),您可以在多项式时间内找到G中的H副本(通过简单的蛮力,或通过维基百科页面中提到的算法)。