我想在大图上引入一个小图。这两个图都显示在下面。具有相同颜色的顶点是等效的。
问题在于大图上的红色顶点都没有作为小图的4个邻居。因此boost::vf2_subgraph_iso
将不会在small
上引发large
。但是,如果归纳算法具有更高的容忍度(最大匹配而不是所有顶点的匹配),则它可能会产生最接近的匹配。
另一方面,boost::mcgregor_common_subgraphs
花费的时间实际上是指数级的。另一个结果是在上面应用了Maximum Common Subgraph查找算法,两个绝对不兼容的图浪费了大量的CPU时间。 mcgregor的算法基于发现群体。因此,它从1个顶点子图开始,然后逐步发展为更大的子图。对于具有10个以上顶点的子图,到达明显的解需要花费不可接受的时间。
那么这种情况下的解决方案是什么?有没有更宽容的子图生成算法?