Is the Subgraph Isomorphism problem NP-complete?

  • MHB
  • Thread starter evinda
  • Start date
  • Tags
    Reduction
In summary, the conversation discussed the problem of Subgraph Isomorphism, which involves determining if a graph is isomorphic to a subgraph of another graph. It was shown that this problem belongs to NP and is NP-complete by reducing the Clique problem to it. The proposed solution involves a non-deterministic Turing machine that "guesses" the subset of nodes and edges of the second graph and verifies the conditions for isomorphism. An alternative solution was also suggested, where the second graph is set to be the same as the original graph and the first graph is a complete graph with a specified number of vertices. This shows that the Subgraph Isomorphism problem is NP-complete.
  • #1
evinda
Gold Member
MHB
3,836
0
Hello! (Wave)Subgraph isomorphism

We have the graphs $G_1=(V_1,E_1), G_2=(V_2,E_2)$.

Question: Is the graph $G_1$ isomorphic to a subgraph of $G_2$ ?
(i.e. is there a subset of vertices of $G_2, V \subseteq V_2$ and subset of the edges of $G_2, E \subseteq E_2$ such that $|V|=|V_1|$ and $|E|=|E_1|$ and is there a one-to-one matching of the vertices of $G_1$ at the subset of vertices $V$ of $G_2, f:V_1 \to V$ such that $\{u,v\} \in E_1 \Leftrightarrow \{ f(u),f(v) \} \in E$)
  • Show that the problem Subgraph isomorphism belongs to NP.
  • Show that the problem is NP-complete reducing the problem Clique to it. (Hint: consider that the graph $G_1$ is complete)
I have tried the following:
  • A non-deterministic Turing machine first "guesses" the subset of nodes $V$ and the subset of edges $E$ of $G_2$ and after that it verifies that $|V|=|V_1|$ and $|E|=|E_1|$ and that there is a one-to-one correspondence $f: V_1 \to V$ such that $\{u,v\} \in E_1 \Leftrightarrow \{ f(u), f(v) \} \in E $.
    Since there are $O(|V_2|^2)$ different pairs of vertices, the check requires polynomial time. So the problem belongs to NP.
  • Let $(G,k)$ an arbitrary instance of the clique problem, where $k$ is the number of vertices of the clique.
    We can construct an instance of the Subgraph isomorphism problem in polynomial time as follows:
    $G_2$ is a graph on $n$ vertices.
    $G_1$ is a complete graph on $k$ vertices, for some $k \leq n$.
    Let $G=G_2$.
    The problem Subgraph Isomorphism has a solution iff there is a complete subgraph of $G_2$ with $k$ vertices, i.e. iff the graph $G$ has a complete subgraph with $k$ vertices.
    Thus, the instance of the problem Subgraph Isomorphism has a solution iff the initial instance of the problem Clique has a solution.
    Therefore, the problem Subgraph Isomorphism is NP-complete.

Could you tell me if it is right and if I could improve something?
 
Technology news on Phys.org
  • #2
Would it be better to say the following for the second part?

Let $(G,k)$ be an arbitrary instance of the clique problem, where $k$ is the number of vertices of the clique.
We can construct an instance of the Subgraph Isomorphism problem in polynomial time as follows:
$G_1$ is a complete graph with $k$ vertices.
Let $G_2=G$.
The graph $G_1$ is isomorphic to a subgraph of $G_2$ iff there is a complete subgraph of $G_2$ with $k$ vertices, i.e. iff $G$ has a complete subgraph with $k$ vertices.
Thus the instance of the Subgraph Isomorphism problem has a solution iff the initial instance of the problem clique has a solution.
Since the clique problem that is NP-complete can be reduced to the Subgraph Isomorphism problem, we can deduce that the latter is NP-complete.
 

FAQ: Is the Subgraph Isomorphism problem NP-complete?

What is the Reduction to Clique Problem?

The Reduction to Clique Problem is a computational problem in graph theory that involves finding the largest clique (a subgraph where every vertex is connected to every other vertex) in a given graph. This problem is known to be NP-complete, meaning it is difficult to solve and can require a lot of time and resources.

How is the Reduction to Clique Problem used in real-world applications?

The Reduction to Clique Problem has many real-world applications, including in social networks, computational biology, and computer science. It can be used to identify groups of individuals with similar interests in a social network, determine protein interactions in biology, and optimize computer algorithms for tasks such as scheduling and resource allocation.

What is the difference between a clique and a maximum clique?

A clique is a subgraph in a graph where every vertex is connected to every other vertex. A maximum clique is the largest possible clique in a given graph. In other words, it is the clique with the most number of vertices. The Reduction to Clique Problem involves finding the maximum clique in a graph.

What are some common algorithms used to solve the Reduction to Clique Problem?

Some common algorithms used to solve the Reduction to Clique Problem include brute-force algorithms, greedy algorithms, and backtracking algorithms. These algorithms vary in their time and space complexity, and each has its own advantages and disadvantages. Researchers continue to develop and improve upon these algorithms to find more efficient ways of solving the problem.

Why is the Reduction to Clique Problem important in computer science?

The Reduction to Clique Problem is important in computer science because it is a fundamental problem that has many real-world applications. It is also used as a benchmark for measuring the efficiency and effectiveness of different algorithms. Additionally, it is a part of the larger class of NP-complete problems, which are considered some of the most challenging problems in computer science and are essential for understanding the limits of computation.

Similar threads

Replies
1
Views
2K
Replies
6
Views
2K
Replies
1
Views
2K
Replies
1
Views
1K
Replies
14
Views
4K
Replies
4
Views
1K
Replies
6
Views
2K
Back
Top