Subgraph isomorphism problem

[1] However certain other cases of subgraph isomorphism may be solved in polynomial time.

This name puts emphasis on finding such a subgraph as opposed to the bare decision problem.

To prove subgraph isomorphism is NP-complete, it must be formulated as a decision problem.

and H. The answer to the problem is positive if H is isomorphic to a subgraph of G, and negative otherwise.

The proof of subgraph isomorphism being NP-complete is simple and based on reduction of the clique problem, an NP-complete decision problem in which the input is a single graph G and a number k, and the question is whether G contains a complete subgraph with k vertices.

[3] An alternative reduction from the Hamiltonian cycle problem translates a graph G which is to be tested for Hamiltonicity into the pair of graphs G and H, where H is a cycle having the same number of vertices as G. Because the Hamiltonian cycle problem is NP-complete even for planar graphs, this shows that subgraph isomorphism remains NP-complete even in the planar case.

However the complexity-theoretic status of graph isomorphism remains an open question.

In the context of the Aanderaa–Karp–Rosenberg conjecture on the query complexity of monotone graph properties, Gröger (1992) showed that any subgraph isomorphism problem has query complexity Ω(n3/2); that is, solving the subgraph isomorphism requires an algorithm to check the presence or absence in the input of Ω(n3/2) different edges in the graph.

[5] Ullmann (1976) describes a recursive backtracking procedure for solving the subgraph isomorphism problem.

[2] Ullmann (2010) is a substantial update to the 1976 subgraph isomorphism algorithm paper.

Cordella (2004) proposed in 2004 another algorithm based on Ullmann's, VF2, which improves the refinement process using different heuristics and uses significantly less memory.

Bonnici & Giugno (2013) proposed a better algorithm, which improves the initial order of the vertices using some heuristics.

[6] This solver adopts a constraint programming approach, using bit-parallel data structures and specialized propagation algorithms for performance.

It supports most common variations of the problem and is capable of counting or enumerating solutions as well as deciding whether one exists.

For large graphs, state-of-the art algorithms include CFL-Match and Turboiso, and extensions thereupon such as DAF by Han et al. (2019).

As subgraph isomorphism has been applied in the area of cheminformatics to find similarities between chemical compounds from their structural formula; often in this area the term substructure search is used.

[7] A query structure is often defined graphically using a structure editor program; SMILES based database systems typically define queries using SMARTS, a SMILES extension.

The closely related problem of counting the number of isomorphic copies of a graph H in a larger graph G has been applied to pattern discovery in databases,[8] the bioinformatics of protein-protein interaction networks,[9] and in exponential random graph methods for mathematically modeling social networks.

[10] Ohlrich et al. (1993) describe an application of subgraph isomorphism in the computer-aided design of electronic circuits.

The problem is also of interest in artificial intelligence, where it is considered part of an array of pattern matching in graphs problems; an extension of subgraph isomorphism known as graph mining is also of interest in that area.

Graph with a subgraph isomorphic to