Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Subgraph isomorphism problem

From Wikipedia, the free encyclopedia
Problem in theoretical computer science
GraphG{\displaystyle G} with a subgraph isomorphic toH{\displaystyle H}

Intheoretical computer science, thesubgraph isomorphism problem is a computational task in which twographsG{\displaystyle G} andH{\displaystyle H} are given as input, and one must determine whetherG{\displaystyle G} contains asubgraph that isisomorphic toH{\displaystyle H}.Subgraph isomorphism is a generalization of both themaximum clique problem and the problem of testing whether a graph contains aHamiltonian cycle, and is thereforeNP-complete.[1] However certain other cases of subgraph isomorphism may be solved in polynomial time.[2]

Sometimes the namesubgraph matching is also used for the same problem. This name puts emphasis on finding such a subgraph as opposed to the bare decision problem.

Decision problem and computational complexity

[edit]
For broader coverage of this topic, seeComputational complexity.

To prove subgraph isomorphism is NP-complete, it must be formulated as adecision problem. The input to the decision problem is a pair of graphsG{\displaystyle G} andH. The answer to the problem is positive ifH is isomorphic to a subgraph ofG, and negative otherwise.

Formal question:

LetG=(V,E){\displaystyle G=(V,E)},H=(V,E){\displaystyle H=(V^{\prime },E^{\prime })} be graphs. Is there a subgraphG0=(V0,E0)V0V,E0E(V0×V0){\displaystyle G_{0}=(V_{0},E_{0})\mid V_{0}\subseteq V,E_{0}\subseteq E\cap (V_{0}\times V_{0})} such thatG0H{\displaystyle G_{0}\cong H}? I. e., does there exist abijectionf:V0V{\displaystyle f\colon V_{0}\rightarrow V^{\prime }} such that{v1,v2}E0{f(v1),f(v2)}E{\displaystyle \{\,v_{1},v_{2}\,\}\in E_{0}\iff \{\,f(v_{1}),f(v_{2})\,\}\in E^{\prime }}?

The proof of subgraph isomorphism being NP-complete is simple and based on reduction of theclique problem, an NP-complete decision problem in which the input is a single graphG and a numberk, and the question is whetherG contains acomplete subgraph withk vertices. To translate this to a subgraph isomorphism problem, simply letH be the complete graphKk; then the answer to the subgraph isomorphism problem forG andH is equal to the answer to the clique problem forG andk. Since the clique problem is NP-complete, thispolynomial-time many-one reduction shows that subgraph isomorphism is also NP-complete.[3]

An alternative reduction from theHamiltonian cycle problem translates a graphG which is to be tested for Hamiltonicity into the pair of graphsG andH, whereH is a cycle having the same number of vertices asG. Because the Hamiltonian cycle problem is NP-complete even forplanar graphs, this shows that subgraph isomorphism remains NP-complete even in the planar case.[4]

Subgraph isomorphism is a generalization of thegraph isomorphism problem, which asks whetherG is isomorphic toH: the answer to the graph isomorphism problem is true if and only ifG andH both have the same numbers of vertices and edges and the subgraph isomorphism problem forG andH is true. However the complexity-theoretic status of graph isomorphism remains an open question.

In the context of theAanderaa–Karp–Rosenberg conjecture on thequery 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]

Algorithms

[edit]

Ullmann (1976) describes a recursivebacktracking procedure for solving the subgraph isomorphism problem. Although its running time is, in general, exponential, it takes polynomial time for any fixed choice ofH (with a polynomial that depends on the choice ofH). WhenG is aplanar graph (or more generally a graph ofbounded expansion) andH is fixed, the running time of subgraph isomorphism can be reduced tolinear time.[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.

The current state of the art solver for moderately-sized, hard instances is the Glasgow Subgraph Solver (McCreesh, Prosser & Trimble (2020)).[6] This solver adopts aconstraint 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 byHan et al. (2019).

Applications

[edit]

As subgraph isomorphism has been applied in the area ofcheminformatics to find similarities between chemical compounds from theirstructural formula; often in this area the termsubstructure search is used.[7] A query structure is often defined graphically using astructure editor program;SMILES based database systems typically define queries usingSMARTS, aSMILES extension.

The closely related problem of counting the number of isomorphic copies of a graphH in a larger graphG has been applied to pattern discovery in databases,[8] thebioinformatics of protein-protein interaction networks,[9] and inexponential random graph methods for mathematically modelingsocial networks.[10]

Ohlrich et al. (1993) describe an application of subgraph isomorphism in thecomputer-aided design ofelectronic circuits. Subgraph matching is also a substep ingraph rewriting (the most runtime-intensive), and thus offered bygraph rewrite tools.

The problem is also of interest inartificial intelligence, where it is considered part of an array ofpattern matching in graphs problems; an extension of subgraph isomorphism known asgraph mining is also of interest in that area.[11]

See also

[edit]

Notes

[edit]
  1. ^The originalCook (1971) paper that proves theCook–Levin theorem already showed subgraph isomorphism to be NP-complete, using a reduction from3-SAT involving cliques.
  2. ^abEppstein (1999);Nešetřil & Ossona de Mendez (2012)
  3. ^Wegener, Ingo (2005),Complexity Theory: Exploring the Limits of Efficient Algorithms, Springer, p. 81,ISBN 9783540210450.
  4. ^de la Higuera, Colin; Janodet, Jean-Christophe; Samuel, Émilie; Damiand, Guillaume; Solnon, Christine (2013),"Polynomial algorithms for open plane graph and subgraph isomorphisms"(PDF),Theoretical Computer Science,498:76–99,doi:10.1016/j.tcs.2013.05.026,MR 3083515,It is known since the mid-70's that the isomorphism problem is solvable in polynomial time for plane graphs. However, it has also been noted that the subisomorphism problem is still N P-complete, in particular because the Hamiltonian cycle problem is NP-complete for planar graphs.
  5. ^Here Ω invokesBig Omega notation.
  6. ^For an experimental evaluation, seeSolnon (2019).
  7. ^Ullmann (1976)
  8. ^Kuramochi & Karypis (2001).
  9. ^Pržulj, Corneil & Jurisica (2006).
  10. ^Snijders et al. (2006).
  11. ^http://www.aaai.org/Papers/Symposia/Fall/2006/FS-06-02/FS06-02-007.pdf; expanded version athttps://e-reports-ext.llnl.gov/pdf/332302.pdf

References

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Subgraph_isomorphism_problem&oldid=1337477675"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp