首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计数子图实例

计数子图实例
EN

Stack Overflow用户
提问于 2010-11-23 19:30:01
回答 1查看 1.1K关注 0票数 5

假设我有一个大的(几千个节点)有向图g和一个小得多的(3-5个节点)有向图G,我想计算g中有多少个g的同构,换句话说,我想知道G中有多少唯一的节点集匹配g,我意识到这是子图同构问题的一个实例,因此是NP-完全的。但是,假设g很小,是否有任何合理有效的算法来完成这个任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-23 19:44:10

虽然图同构在一般情况下是NP-完全的,但在现实世界中遇到的问题通常是相当容易的。一个简单的蛮力就足够了:让M_i是一组映射,从G的第一个i节点到G的节点,从包含空映射的m_0开始,每次扩展一个节点,丢弃任何违反约束x->y的映射。

您需要在g中对节点进行排序,以便更早地进行大量的剪枝。假设您的图非常稀疏,您将需要一个尽可能早地完成多个边的顺序,可能是来自最高级别节点的dfs。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4259977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档