Subgraph Isomorphism Problem: We have two undirected graphs G1 and G2. The problem is to check whether G1 is isomorphic to a subgraph of G2.
Graph Isomorphism: Two graphs A and B are isomorphic to each other if they have the same number of vertices and edges, and the edge connectivity is retained. There is a bijection between the vertex sets of the graphs A and B. Hence, two vertices u, v are adjacent to each other in A if and only if f(u), f(v) are adjacent in B (f is a bijection).
To prove that a problem is NP-Complete, we have to show that it belongs to both NP and NP-Hard Classes. (Since NP-Complete problems are NP-Hard problems which also belong to NP)
The Subgraph Isomorphism Problem belongs to NP – If a problem belongs to the NP class, then it should have polynomial-time verifiability. Given a certificate, we should be able to verify in polynomial time if it is a solution to the problem.
- Certificate: Let G be a subgraph of G2. We also know the mapping between the vertices of G1 and G.
- Verification: We have to check if G1 is isomorphic to G or not. (i) Checking if the mapping is a bijection and (ii) Verifying if, for every edge (u, v) in G1, there is an edge (f(u), f(v)) present in G takes polynomial time.
Therefore, the Subgraph Isomorphism Problem has polynomial time verifiability and belongs to the NP class.
The Subgraph Isomorphism Problem belongs to NP-Hard –A problem L belongs to NP-Hard if every NP problem is reducible to L in polynomial time. To prove that the Subgraph Isomorphism Problem (S) is NP-Hard, we try to reduce an already known NP-Hard problem to S for a particular instance. If this reduction is possible in polynomial time, then S is also an NP-Hard problem. Thus, let us reduce the Clique Decision Problem (C) which is NP-Complete (hence, all the problems in NP can be reduced to C in polynomial time) to the Subgraph Isomorphism Problem. If this reduction is possible in polynomial time, every NP problem can be reduced to S in polynomial time, thereby proving S to be NP-Hard.
Proof: Let us prove that the Clique Decision Problem reduces to the Subgraph Isomorphism Problem in polynomial time.
Let the input to the Clique Decision Problem be (G, k). The output is true if the graph G contains a clique of size k (a clique of size k is a subgraph of G). Let G1 be a complete graph of k vertices and G2 be G, where G1, G2 are inputs to the Subgraph Isomorphism Problem. We observe that k <=n, where n is the number of vertices in G (=G2). If k>n, then a clique of size k cannot be a subgraph of G. The time taken to create G1 is O(k2) = O(n2) [since k<=n] as the number of edges in a complete graph of size k = kC2 = k*(k-1)/2. G has a clique of size k, if and only if G1 is a subgraph of G2 (since G1 itself is a subgraph of G2 and every graph is isomorphic to itself, the result of the Subgraph Isomorphism Problem is true. Thus, G1 is isomorphic to a subgraph of G2). Hence, if the Clique Decision Problem is true, the Subgraph Isomorphism Problem is true and vice versa. Therefore, the Clique Decision Problem can be reduced to the Subgraph Isomorphism Problem in polynomial time for a particular instance.
Thus, the Subgraph Isomorphism Problem is an NP-Hard Problem
The Subgraph Isomorphism Problem is NP and NP-Hard. Therefore, the subgraph isomorphism problem is NP-Complete.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Proof that Clique Decision problem is NP-Complete
- Proof that Clique Decision problem is NP-Complete | Set 2
- Proof that traveling salesman problem is NP Hard
- Isomorphism in N-ary Trees
- Check if vertex X lies in subgraph of vertex Y for the given Graph
- Proof that Hamiltonian Cycle is NP-Complete
- Proof that Dominant Set of a Graph is NP-Complete
- Proof that vertex cover is NP complete
- Proof that Hamiltonian Path is NP-Complete
- Proof that Independent Set in Graph theory is NP Complete
- Water Jug problem using BFS
- 2-Satisfiability (2-SAT) Problem
- The Skyline Problem | Set 2
- Level Ancestor Problem
- Extended Knapsack Problem
- Dividing Sticks Problem
- Channel Assignment Problem
- Stable Marriage Problem
- Max Flow Problem Introduction
- Word Break Problem | DP-32 | Set - 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.