Between Subgraph Isomorphism and Maximum Common Subgraph

When a small pattern graph does not occur inside a larger target graph, we can ask how to find "as much of the pattern as possible" inside the target graph. In general, this is known as the maximum common subgraph problem, which is much more computationally challenging in practice than subgraph isomorphism. We introduce a restricted alternative, where we ask if all but k vertices from the pattern can be found in the target graph. This allows for the development of slightly weakened forms of certain invariants from subgraph isomorphism which are based upon degree and number of paths. We show that when k is small, weakening the invariants still retains much of their effectiveness. We are then able to solve this problem on the standard problem instances used to benchmark subgraph isomorphism algorithms, despite these instances being too large for current maximum common subgraph algorithms to handle. Finally, by iteratively increasing k, we obtain an algorithm which is also competitive for the maximum common subgraph.

[1]  Christine Solnon,et al.  Portfolios of Subgraph Isomorphism Algorithms , 2016, LION.

[2]  Gilles Audemard,et al.  Scoring-Based Neighborhood Dominance for the Subgraph Isomorphism Problem , 2014, CP.

[3]  Christine Solnon,et al.  CP Models for Maximum Common Subgraph Problems , 2011, CP.

[4]  Gilles Pesant,et al.  Principles and Practice of Constraint Programming , 2015, Lecture Notes in Computer Science.

[5]  Mario Vento,et al.  A large database of graphs and its use for benchmarking graph isomorphism algorithms , 2003, Pattern Recognit. Lett..

[6]  Yves Deville,et al.  Solving subgraph isomorphism problems with constraint programming , 2009, Constraints.

[7]  Christine Solnon,et al.  AllDifferent-based filtering for subgraph isomorphism , 2010, Artif. Intell..

[8]  Ciaran McCreesh,et al.  A Parallel, Backjumping Subgraph Isomorphism Algorithm Using Supplemental Graphs , 2015, CP.

[9]  Mats Carlsson,et al.  Modeling Universal Instruction Selection , 2015, CP.

[10]  Mario Vento,et al.  Challenging Complexity of Maximum Common Subgraph Detection Algorithms: A Performance Analysis of Three Algorithms on a Wide Database of Graphs , 2007, J. Graph Algorithms Appl..

[11]  Javier Larrosa,et al.  Constraint satisfaction algorithms for graph pattern matching , 2002, Mathematical Structures in Computer Science.

[12]  Mario Vento,et al.  Thirty Years Of Graph Matching In Pattern Recognition , 2004, Int. J. Pattern Recognit. Artif. Intell..

[13]  Christine Solnon,et al.  On the complexity of submap isomorphism and maximum common submap problems , 2015, Pattern Recognit..

[14]  Christine Solnon,et al.  Clique and Constraint Models for Maximum Common (Connected) Subgraph Problems , 2016, CP.

[15]  Björn Franke,et al.  Compiling for automatically generated instruction set extensions , 2012, CGO '12.

[16]  Ciaran McCreesh,et al.  Heuristics and Really Hard Instances for Subgraph Isomorphism Problems , 2016, IJCAI.

[17]  Dennis Shasha,et al.  A subgraph isomorphism algorithm and its application to biochemical data , 2013, BMC Bioinformatics.

[18]  Yves Deville,et al.  Approximate Constrained Subgraph Matching , 2005, CP.

[19]  Mario Vento,et al.  A (sub)graph isomorphism algorithm for matching large graphs , 2004, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[20]  Julian R. Ullmann,et al.  An Algorithm for Subgraph Isomorphism , 1976, J. ACM.

[21]  Jean-Charles Régin,et al.  A Filtering Algorithm for Constraints of Difference in CSPs , 1994, AAAI.

[22]  Muffy Calder,et al.  Bigraphs with sharing , 2015, Theor. Comput. Sci..

[23]  Brendan D. McKay,et al.  Practical graph isomorphism, II , 2013, J. Symb. Comput..

[24]  Mattia Monga,et al.  Detecting Self-mutating Malware Using Control-Flow Graph Matching , 2006, DIMVA.

[25]  Christine Solnon,et al.  Polynomial algorithms for subisomorphism of nD open combinatorial maps , 2011, Comput. Vis. Image Underst..

[26]  J. J. McGregor Relational consistency algorithms and their application in finding subgraph and graph isomorphisms , 1979, Inf. Sci..