the search space. In 1989, Friden et al. [70] proposed a heuristic for the MIS problem based on tabu search. The tabu-searh-based branch and bound algorithm presented by the same authors in [71]. A various version of tabu search successfully applied to the MIS problem was also introduced by Mannino and Stefanutti [134].
2.4 Graph Transformations
To solve the MIS problem we can use the technique transforming a given graph G into a new graph G0 in such a way that the difference α(G) − α(G0) is easy to compute. By making successive transformations, the goal is to obtain a graph that belongs to some graph class, for which a polynomial-time algorithm is already known.
A trivial example is given by the deletion of an isolated vertex which reduces the inde- pendence number by exactly one. A more sophisticated example comes from matching theory and is known as the cycle shrinking [119] and is a key tool to solve the Maximum Matching problem.
The literature provides many more examples of graph transformations that can be useful for the MIS problem. A very good review on such transformations was given by Lozin [122]. Here, we give a brief revision on some examples.
2.4.1 Edge Deletion and Edge Insertion
Some independence number preserving transformations reducing the number of edges have been proposed by Butz et al. [44]. Given two adjacent vertices a and b, let c be a vertex such that c b and every neighbor of b except a is adjacent to a or c. Then the removal (or adding) of the edge ac does not change the independence number of the graph. Next, we consider some graph transformations deleting vertex (together with all incident edges).
2.4.2 Removal of constantly many Vertices
First, we start with techniques repeatedly removing a vertex. May be, the simplest example is above isolated vertex deletion. Following are some more complicated exam- ples.
Simplicial Vertex Reduction
A vertex u is said to be simplicial if the neighborhood of u is a clique. Obviously, every independent set S contains at most one vertex v in NG[u]. Moreover, if S
is an independent set containing v, then S\{v} ∪ {u} is an independen set. Hence, deletion of any neighbor of a simplicial vertex does not change the independence number or the deletion of the simplicial vertex together with its neighborhood reduces the independence number by one. It is worth noticing that the simplicial vertex reduction leads to efficient algorithms for the MIS problem in some special graph classes. A well-known example is given by the chordal (triangulated) graphs [80]. This reduction provides a linear-time solution for the MIS problem in the class of chordal graphs [154]. In some cases, this reduction allows to simplify the problem substantially. For instance, it has been proven by Brandstädt and Hammer [28] that the independence number of
24 2 Techniques for Finding Maximum Independent Sets
a (P5, K1,4, fork, banner)-free graph without simplicial vertices is at most three, and
hence can be computed efficiently. Neighborhood Reduction
Let a and b be two adjacent vertices in a graph G. If N [a] ⊂ N [b], then for any independent set S with b ∈ S, the set (S\{b}) ∪ {a} is also independent. Therefore, the removal of b from the graph does not change its independence number. Clearly, the simplicial reduction can be considered as a sequence of neighborhood reductions (of neighbors of the simplicial vertex) followed by the deletion of an isolated vertex (the simplicial vertex itself). Neighborhood reduction has been discovered independently by many researchers under various names such as neighborhood reduction or elementary compression. The neighborhood reduction has been used by Golumbic and Hammer [81] to reduce any circular arc graph to a special canonical form which allows a simple solution to the MIS problem, thus providing an efficient algorithm to solve the problem in the class of circular arc graphs.
Twin Reduction
Two adjacent vertices a, b of G are called twin if NG[a] = NG[b]. Clearly, twin reduction
is a special case of neighborhood reduction. Twin reduction was used by Corneil [51] to determine the independence number of cographs.
Vertex Deletion
Billionet [19] gave another vertex reduction. Let (a, b, c) be a P3. It has been observed
in [19] that if (N (a) ∪ N (c))\N [b] is a clique, then the removal of b does not change the graph independence number.
α-redundance
All above vertex removal techniques can be considered as special cases of a so-called α- redundant technique [27]. A vertex is called α-redundant if its removal does not change the independence number. We revise this method more detail in Section 5.2.
2.4.3 Transformations based on Boolean Identities
An efficient method to build up transformations are Boolean identities. STRUCTION introduced by Ebenegger et al. [58] for example can be used to solve the MIS problem in circular-arc graphs [81], in CAN-free graphs [88], and in CN-free graphs [89]. Some restricted version of the STRUCTION method have been applied to the MIS problem by Beigel [17] and Formin et al. [66]. Other graph transformations based on Boolean identities are magnet reduction [87] and BAT reduction [97]. A special case of BAT reduction is vertex folding used to improve the worst case time complexity for the vertex cover and independent set problems by Chen et al. [48]. Moreover, the transformation inverse to vertex folding, was described by Alekseev [5] under the name vertex splitting in order to reduce in polynomial time the maximum independent set problem from the class of all graphs to some restricted classes. A weaker version of vertex splitting was
2.4 Graph Transformations 25
used by Murphy [144] to prove NP-hardness of the problem in graph with large girth. We describe these methods more detail in Section 5.1.
2.4.4 Clique Reduction and Edge Projection
Clique Reduction
For a graph G = (V, E) and a clique K in G, Lovász and Plummer [119] defined G|K as the graph obtained from G by deleting the vertices in K and connecting two non- adjacent vertices u and v in V − K by an edge if and only if K ⊂ N (u) ∪ N (v). The conditions for K and G such that α(G) = α(G−K)+1 were described by Sassano [155] and Hertz and de Werra [101] and were used to solve the MIS problem for (bull,fork)- free graphs [159] and for AH-free graphs [101]. An edge can be considered as a special clique of cardinality two and similar technique for an edge is the following.
Edge Projection
Let G = (V, E) be a graph, and let e = uv ∈ E. Mannino and Sassano [133] described a reduction, so-called edge projection as follows. Denote G|e = (V |e, E|e) as the projection of e in G obtained by deleting all vertices (together with all incident edges) of {u, v} ∪ (N (u) ∩ N (v)) and adding edges connecting non-adjacent pairs of vertices, in which, one is adjacent only with u and one is adjacent only with v. The authors also described the conditions, under which α(G) = α(G|e) + 1. Using this technique, the authors developed a new upper bound procedure for the MIS problem.
2.4.5 Conic Reduction
Lozin [120] developed another reduction, so-called conic reduction as follows. Let a be a vertex of a graph G and I(a) be the family of non-trivial (of cardinality at least two) independent set in G[N (x)]. Let us define a similar relation on I(a) as follows: two sets X, Y ∈ I(a) are similar if and only if NA(a)(X) = NA(a)(Y ). In each similarity
class, we choose a maximum independent set and denote the family of all chosen sets by F (a). Note that F (a) can be constructed not uniquely. Then a vertex a is said to be conic if under any construction of F (a) and for any X, Y ∈ F (a) such that X ∪ Y ∈ I(a), X ∩ Y 6= ∅ implies either X ⊂ Y or Y ⊂ X. For any set X ∈ F (a), denote by S(X) the family of all maximal sets in F (a) properly included in X, and set r(X) := |X| − 1 −P
Y ∈S(X)(|Y | − 1). Particularly, if S(X) = ∅, then r(X) = |X| − 1.
Then the conic reduction of a graph G centered at a conic vertex a as the three following steps.
1. Remove the conic vertex together with its neigborhood from the graph.
2. For every set X ∈ F (a), add to the remainder G[A(a)] a set XT of r(X) new vertices.
3. For every new vertex x ∈ XT, link x to each vertex in NA(a)(X); link x to a new
vertex y ∈ YT if and only if there is no set Z ∈ F (a) such that X, Y ⊂ Z. Denote by GT the graph produced by conic reduction of G. Lozin showed in [120] that
α(G) = α(GT)+1 and used this reduction to solve the MIS problem in (fork,parachute, butterfly,kite)-free graphs.
26 2 Techniques for Finding Maximum Independent Sets