A New Heuristic Algorithm to Solve the Maximum Independent Set Problem

–The Maximum Independent Set Problem is a classic graph optimization NP-hard problem. Given a graph G=(V,E), the independent set problem is that of finding a maximum-cardinality subset S of V such that no two vertices in S are adjacent. In this paper, the maximum independent set problem is discussed and a new heuristic algorithm is proposed to solve this problem. The performance of the algorithm has been tested on DIMACS benchmark instances and compared with the literature works. The experimental results show that the proposed approach can yield good solutions.


INTRODUCTION
An independent set in a graph G=(V,E) is a subset V'  V such that, for all u, vV', the edge (u,v) is not in E [1].The maximum independent set problem calls for finding the independent set of maximum cardinality.The maximum independent set is a classic one in computer science and graph theory and is known to be NP-hard [1].The maximum independent set problem has many important applications, including combinatorial auctions, graph coloring, coding theory, geometric tiling, fault diagnosis, pattern recognition, scheduling, computer vision, molecular biology, and more recently its application in bioinformatics have become important [2].
In solving the maximum independent set problem, we also have a solution for two other important graph problems: The minimum vertex cover problem and the maximal clique problem [1].
A vertex cover of an undirected graph G=(V,E) is a subset V *  V such that if (u,v)E, then uV * or vV * (or both).That is, each vertex "covers" its incident edges, and a vertex cover for G is a set of vertices that covers all the edges in E. The size of a vertex cover is the number of vertices in it [3].
The clique in an undirected graph G=(V,E) and subset is V *  V, a subset V *  V of vertices, each pair of which is connected by an edge in E. In other words, a clique is a complete subgraph of G [3].
The following relationship of independent sets, cliques, and vertex covers are easy to verify [1].
The Lemma: For any graph G=(V,E) and subset V *  V, the following statements are equivalent: Consequently, one can obtain a solution of the minimum vertex cover problem by taking the complement of the solution to the maximum independent set problem.A solution to the maximum clique problem is obtained by applying the maximum independent set heuristic to G C =(V,E C ) [1].A large number of exact, approximate, heuristic and metaheuristic algorithms have been proposed for the independent set problem.Some of these algorithms may be found in Balas and Yu (1986); Barbosa  In this paper, a new heuristic algorithm called Disassemble Algorithm (DA) is presented to find the maximum independent set of the graph.The proposed algorithm has been tested on the DIMACS benchmark instances and compared with other existing algorithm.The experimental results show that the proposed algorithm yields better solutions.
The paper is organized as follows: Section II outlines the proposed algorithm and its complexities.In Section III, computational efficiency of the proposed algorithm is discussed, and the proposed algorithm is compared with two other heuristics on the DIMACS benchmark instances.Section IV summarizes and concludes the paper.

Basic Definition
Neighborhood of a vertex: Let G=(V,E) be an undirected graph.Then for each vV, the neighborhood of v is defined by N(v) = { uV | u is adjacent to v}.
Degree of vertex: The degree of vertex vV is denoted by d(v) and is defined by the number of neighbors of v.

. The Disassemble Algorithm (DA)
The algorithm is designed to find the largest independent set of a graph.Algorithm starts selecting one initial vertex and tries to add its neighbors to independent set.If the neighbor vertex does not make the solution unfeasible, the vertex is added to the solution.After updating the adjacency matrix of graph by deleting all edges which are adjacent to vertex in solution and its neighbor, algorithm finds the vertex which has the maximum degree and tries to add its neighbor to solution alike.This procedure continuous until all vertices degrees become zero.After finding an initial solution, the algorithm search for the vertex that does not make solution unfeasible when added to it.If there is no vertex to add the solution, algorithm tries to create addible vertex by shifting the vertices that are in the solution.The pseudo-code of the disassemble algorithm is given below.
Figure 1.The pseudo-code of the proposed algorithm.

. Computational Complexity
The worst case complexity of the proposed algorithm can be obtained as follows: Assume that there are n vertices and the maximum independent sets cardinality p, after select an initial vertex and control its neighbors, picking the vertex which has maximum degree requires O(n 2 ).Controlling the neighbors of the selected vertex to add solution requires O(p).Use all vertices as initial vertex require O(n).So the overall running time of the procedure of DA can be deduced as follows: O(n(n 2 .p))= O(p.n 3 ).

Input: G(V,E).
Output: A maximal independent set I* and its cardinality α. 1. I* 0 2. for i=1 to n begin 3. update the adjacency matrix 4. add neighbors of v i to I i which do not make I i unfeasible 5. do 6.
Find the maximum degree vertex v m 7.
add neighbors of v m to I i which do not make I i unfeasible 8.
delete all edges which are adjacent to vertices in I i and their all neighbors 9. while ( E   ) 10.If v k is not in I i and all vertices in N(v k ) are not in I i as well then add v k to I i 11. if v m is not in I i and only one neighbor v n in I i then remove v n from I i , add v m to I i and go to step 11 12. if I i > I* then I*= I i and α= | I i | 13. end 14.end.

O. Ugurlu
The results of numerical experiments with the algorithm are reported in the next part of the paper.

EXPERIMENTAL RESULTS
This section presents results of computational experiments for the proposed heuristic.The algorithm has been tested on the complement graphs of DIMACS clique instances [13].The heuristic has been compared with continuous based heuristic [4] (CBH) and heuristic based on optimization of a quadratic over a Sphere [5] (QSH).The comparison of the algorithm with previous work is summarized in table 1,2 and 3.
In table 1,2 and 3, the first four columns represent the name of the instance, number of its vertices, its density and cardinality of maximum independent set, respectively.This information is available from the DIMACS web site.The densities are specified for the original (maximum clique) instances and the last there column denotes CBH, QSH and the proposed algorithm DA, correspondingly.
In table 4, the performance of DA, CBH and QSH are compared, respectively.In each row of the table, first column contains a name of the family of graphs, where each family consists of a group of graphs with the same letter names.The second column represents the number of instances from each family for which CBH found the best solution.Similarly, the next two columns represent QSH found the best solution and DA found the best solution, respectively.

CONCLUSION
In this work, a new heuristic algorithm for the maximum independent set problem is presented.The implementations of the algorithm were coded in C++ language and the performance of the proposed algorithm is tested on DIMACS instances.The computational experiments show that DA can yield good solutions as much as the existing heuristics in the literature.

Figure 1 .
Figure 1.The relationship of independent set, clique, and vertex cover; a) Mininum vertex cover of G. b) Maximum independent of for G. c) Maximum clique of G C .

Table 1 .
The simulation results for DIMACS bencmark graphs

Table 2 .
The simulation results for DIMACS bencmark graphs

Table 3 .
The simulation results for DIMACS bencmark graphs As one can see, DA performed better than CBH and QSH on four families (MANN a, p-hat, keller, sanr) and did worse than QSH on two (brock, san).The proposed algorithm found the optimal solution 38 of 54 instances whereas QSH found 36 and CBH found 24.The results of numerical experiments show that DA can yield good solutions inasmuch as to CBH and QSH.

Table 4 .
Comparison of the results on benchmark instances.