Finding maximum independent sets in sparse and general graphs

Closely related to the maximum clique problem, the maximum independent set problem (MIS) was among the first problems proved NP-complete [5]. It is now known that the size of a maximum independent set cannot be approximated even within a factor of n’-O(l) in polynomial time [2, 1, 6, 31. Therefore it is important to find faster exact algorithms for MIS. Tarjan and Trojanowski [9] were the first to break through the 2” barrier: they gave a 2°.333n-time, polynomial-space algorithm for MIS. Tarjan and Trojanowski [9] observed that if G has a node of degree 0 or 1, then it suffices to solve MIS on an induced subgraph of G. If G has a higher-degree vertex, then they solve MIS on several induced subgraphs of G. The result of Tarjan and Trojanowski [9] was improved by Jian [4] and independently by Robson [7]. Jian gave a 2°.304n-time, polynomial-space algorithm. Robson gave a 2°.2g2n -time, polynomial-space algorithm, as well as a 2°.276n-time, exponential-space algorithm. All of those algorithms involve tedious case enumeration. Shindo and Tomita [8] gave a 2°.34gn-time, polynomial-space algorithm that is easy to describe but nontrivial to analyze. Our algorithm produces subproblems that need not be induced subgraphs of G. One immediate advantage is that if G has a node of degree 2 we solve only one subproblem, whereas previous algorithms solved two. On the other hand, the resulting recursion may produce sub*problems containing nodes of arbitrarily high degree, even though .the degree of G is bounded. By counting edges instead of vertices as our progress measure, we are nonetheless able to obtain good results for bounded-degree graphs. We obtain the fastest MIS algorithms for sparse graphs and for graphs whose degree is bounded by 3 or by 4. We also obtain the fastest MIS algorithm for