Open In App

Prove that KITE is NP-Complete

Prerequisite: NP-Completeness, NP Class, Clique

Problem: Given an undirected graph G = (V, E) and an integer K, determine if there is a kite subgraph of size 2K which consists of a clique of size K with a K-size tail. Demonstrate that it is an NP-Complete.



Explanation:

A KITE is a graph on an even number of vertices, say 2k, in which k of the vertices form a clique and the remaining K vertices are connected in a “tail” that consists of a path joined to one of the vertices of the clique. 



Given KITE problem can be described as follows:

To prove a problem NP Complete , there are two steps involved:

  1. Prove given problem belong to NP Class
  2. All other problems in the NP class can be polynomial time reducible to that problem. (This is the prove of being NP-Hard)

Now it is not possible to reduce every NP problem to another NP problem to prove it’s NP completeness all the time. That’s why we show that any known NP complete problem is reducible to that problem in polynomial time.

Proof:

1. KITE belongs to NP Class:

A problem is said to be in NP Class if the solution for the problem can be verified in polynomial time.

Given an input G = (V, E) and a set size of K, the answer is K of the vertices form a clique and the remaining K vertices are connected in a “tail” that consists of a path joined to one of the
vertices of the clique. There are two steps to verify the solution for this problem:

So, verification of a solution for KITE at most O(n2) which is polynomial in nature so KITE belongs to NP Class.

2. KITE is an NP-Hard problem:

Now we need to show KIte is at least as hard as a known NP-Complete Problem by reduction technique.

Here the known problem is going to be the Clique problem which is already known to be NP-complete which is explained in Proof of Clique being the NP-Complete.

We are going to show the reduction from Clique -> KITE.

Input Conversion: We need to convert the input from Clique to input to KITE

Clique takes an input graph G = (V, E) and parameter K for set size. To convert the input from Clique to KITE:

Clique graph G = (V,E) with 3 vertices and 2 edges

Kite graph G’= (V’, E’), where all newly added vertices are connected with its original vertices using pink line

So, Graph G’ is going to be the graph that will have an even number of vertices, say K = 2V, in which V of the vertices form a clique and the remaining V vertices are connected in a “tail” that consists of a path joined to one of the vertices of the clique. 

The creation of a new graph is going to take O(|n| + |m|) time. Adding new vertices is going to take O(n),  where n is the number of vertices and m are the edges. Thus the input conversion can be done in polynomial time.

Output Conversion: We need to convert the solution from KITE to the solution for the Clique problem.

The vertices can be dropped in O(n) where n is the number of vertices, thus the output conversion can be done in polynomial time.

Correctness: Now we need to prove the correctness of the claim which says that 

“Solution of KITE exits if a solution to the Clique problem exists”.

So, this means KITE Graph has a solution ↔  Clique Graph has a solution.

Conclusion:

Hence, we can conclude that KITE is an NP-complete problem.  

Article Tags :