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 可扩展至支持其他启发式算法难以处理的匹配问题(例如时序有序边、非精确匹配,以及数据图中缺失节点或边的情况)。