We consider the subgraph isomorphism problem where, given two graphs G (source graph) and F (pattern graph), one is to decide whether there is a (not necessarily induced) subgraph of G isomorphic to F. While many practical heuristic algorithms have been developed for the problem, as pointed out by McCreesh et al. [JAIR 2018], for each of them there are rather small instances which they cannot cope. Therefore, developing an alternative approach that could possibly cope with these hard instances would be of interest. A seminal paper by Alon, Yuster and Zwick [J. ACM 1995] introduced the color coding approach to solve the problem, where the main part is a dynamic programming over color subsets and partial mappings. As with many exponential-time dynamic programming algorithms, the memory requirements constitute the main limiting factor for its usage. Because these requirements grow exponentially with the treewidth of the pattern graph, all existing implementations based on the color coding principle restrict themselves to specific pattern graphs, e.g., paths or trees. In contrast, we provide an efficient implementation of the algorithm significantly reducing its memory requirements so that it can be used for pattern graphs of larger treewidth. Moreover, our implementation not only decides the existence of an isomorphic subgraph, but it also enumerates all such subgraphs (or given number of them). We provide an extensive experimental comparison of our implementation to other available solvers for the problem.
翻译:我们认为地貌问题就是地貌形态问题,根据两个图形G(源图)和F(方形图),一个是决定是否有(不一定诱导的)G是地貌图至F的色调子。虽然正如McCreesh等人[JAIR 2018]所指出的,已经为问题制定了许多实用的超脂算法,但对于每一个问题,它们都有它们无法应付的相当小的例子。因此,制定一种可能应付这些难点的替代方法将是值得注意的。由Alon、Yuster和Zwick[J.ACM 1995]编写的一份原始文件采用了颜色编码方法来解决问题,其中主要部分是对色子和部分绘图的动态编程。正如许多指数-时间动态编程算法[JAIR 2018]所指出的,内存要求是其使用的主要限制因素。由于这些要求随着图案型态图的树枝条宽度而急剧增长,因此根据颜色编码原则确定的所有现有执行方法都限于特定的图案型图,例如,路径或树。相比之下,我们提供的彩色图的主要部分是对色子图的动态图的动态图案系的高效执行。此外,我们使用的亚形图是用来决定了它的各种图系的图系的较细图系,因此它的存在。我们所使用的图系的图系的图系的亚。我们使用。我们使用的图的图系的图系只能决定了它的存在。