![]() |
VOOZH | about |
NP-Completeness, NP Class, Dense Subgraph
: Given graph G = (V, E) and two integers a and b. A set of a number of vertices of G such that there are at least b edges between them is known as the Dense Subgraph of graph G.
To prove the Dense Subgraph problem as NP-completeness by generalization, we are going to prove that it is a generalization of the known NP-complete problem. In this case, we are going to take Clique as the known problem which is already known to be NP-complete, and explained in Proof of Clique Is an NP-Complete and we need to show the reduction from Clique → Dense Subgraph.
Clique is a subset of vertices of an undirected graph such that every two distinct vertices in the clique are adjacent.
1. Input Conversion: We need to convert the input from Clique to the input of the Dense Subgraph.
Clique Input: An undirected graph G(V, E) and integer k.
Dense Subgraph Input : An undirected graph G'(V, E) and two integers a and b.
We are going to transform the input from Clique for Dense Subgraph such that
This conversion is going to take O(1) time so it's polynomial in nature.
2. Output Conversion: We need to convert the solution from Dense Graph to the solution for the Clique problem.
Solution of Dense Graph will result in a set a which would be a Clique of size k as k = a. So direct output from Dense Graph can be used by Clique. Since no conversion is required so it's again polynomial in nature.
3. Correctness: We have restricted the range of input value b such that (k¦2) with value as (k * (k - 1))/2.
Now we are looking for a subgraph having k vertices and are connected by at least (k * (k - 1))/2 edges.
So, this means Dense-Subgraph has a solution↔ Clique has a solution.
The complete reduction takes polynomial time and Clique is NP complete so Dense Subgraph is also NP complete.
Hence we can conclude that Dense-Subgraph is NP Complete
For more details, please refer: Design and Analysis of Algorithms.