Maximum partial subgraph isomorphism compares two graphs (nodes joined by edges) to find a largest common subgraph. A common use case, for graphs with labeled nodes, seeks to find instances of a \textit{query} graph with $q$ nodes in a (typically larger) \textit{data} graph with $d$ nodes. The problem is NP-complete, and naïve solutions are exponential in $q + d$. The fastest current heuristic has complexity $O(d^2)$. This paper outlines ASSIST (Approximate Swarming Subgraph Isomorphism through Stigmergy), inspired by the ant colony optimization approach to the traveling salesperson. After peering (identifying matching individual nodes in query and data) in time $O(q\cdot log(d))$, the time required for ASSIST's iterative subgraph search, the combinatorially complex part of the problem, is linear in query size and constant in data size. ASSIST can be extended to support matching problems (such as temporally ordered edges, inexact matches, and missing nodes or edges in the data graph) that frustrate other heuristics.
翻译:最大部分子图同构通过比较两个图(由边连接的节点)以寻找最大公共子图。对于带标签节点的图,一个常见应用场景是在包含$d$个节点的(通常更大的)\textit{数据图}中寻找包含$q$个节点的\textit{查询图}实例。该问题是NP完全问题,朴素解法的时间复杂度在$q + d$上呈指数级增长。当前最快的启发式算法复杂度为$O(d^2)$。本文提出受蚁群优化解决旅行商问题启发的ASSIST算法(基于信息素激励的近似群体子图同构)。在完成时间复杂度为$O(q\cdot log(d))$的节点配对(识别查询图与数据图中匹配的单个节点)后,ASSIST迭代子图搜索所需的时间——即问题中组合复杂度最高的部分——与查询图规模呈线性关系,与数据图规模无关。ASSIST可扩展至支持其他启发式算法难以处理的匹配问题(例如时序有序边、非精确匹配,以及数据图中缺失节点或边的情况)。