Maximum weighted independent set: Effective reductions and fast algorithms on sparse graphs

,


Introduction
The Maximum Independent Set problem on unweighted graphs belongs to the first batch of 21 NP-hard problems proved by Karp [17].This problem is so important in graph algorithms that it is often introduced as the first problem in textbooks and lecture notes of exact algorithms.In the line of research on the worst-case analysis of exact algorithms for NP-hard problems, Maximum Independent Set, as one of the most fundamental problems, is used to test the efficiency of new techniques of exact algorithms.
There is a long list of contributions to exact algorithms for Maximum Independent Set in unweighted graphs.Tarjan and Trojanowski [26] designed the first nontrivial algorithm in 1977, which runs in O * (2 n 3 ) time and polynomial space.Later, Jian [16] obtained an O * (1.2346 n )-time algorithm.Robson [24] gave an O * (1.2278 n )-time polynomial-space algorithm and an O * (1.2109 n )time exponential-space algorithm.By using the measure-and-conquer technique, Fomin et al. [12] obtained a simple O * (1.2210 n )-time polynomial-space algorithm.Based on this method, Kneis et al. [18] and Bourgeois et al. [4] improved the running time bound to O * (1.2132 n ) and O * (1.2114 n ), we can prove that the algorithm runs in O * (1.1443 (0.624x−0.872)n ) time and polynomial space, where x is the average degree of the graph.For some sparse graphs, our result beats the known bounds.The running time bound of our algorithm in graphs with the average degree at most three is O * (1.1443 n ), which improves the previously known bound of O * (1.1499 n ) using polynomial space [27].When the average degree is slightly greater than three, we may still get a good running time bound.For graphs with the average degree at most 3.68, the running time of our algorithm is strictly better than the running time bound O * (1.2117 n ) for Maximum Weighted Independent Set in degree-4 graphs [27].

Preliminaries
Let G = (V, E, w) denote an undirected vertex-weighted graph with |V | = n vertices and |E| = m edges, where each vertex v ∈ V is associated with a positive weight w G (v), where the subscript G may be omitted if it is clear from the context.Although our graphs are undirected, we may use an arc to denote the relation of the weights of the two endpoints of an edge.An arc − → uv from vertex u to vertex v means that there is an edge between u and v and it holds that w(u) ≥ w(v).
For a vertex subset V ′ ⊆ V , we let w(V ′ ) = v∈V ′ w(v).For a vertex subset V ′ ⊆ V , we let N G (V ′ ) denote the open neighborhood V ′ , i.e., N G (V ′ ) = {v|v is adjacent to some vertex in When the graph G is clear from the context, we may omit the subscript and simply write N G (V ′ ), d G (V ′ ) and N G [V ′ ] as N (V ′ ), d(V ′ ) and N [V ′ ], respectively.When V ′ = {v} is a singleton, we may simply write it as v.We also use G[V ′ ] to denote the subgraph of G induced by V ′ and use G − V ′ to denote G[V \ V ′ ].For a graph G ′ , we use C(G ′ ) to denote the set of connected components of G ′ .A chain is an induced path such that the degree of each vertex except the two endpoints of the path is exactly 2. One vertex is a chain-neighbor of another vertex if they are connected by a chain.
A path (or cycle) is said to be a k-path (or k-cycle) if there are k edges.A set S of vertices in graph G is called an independent set if for any pair of vertices in S there is no edge between them.For a vertex-weighted graph, a maximum weighted independent set is an independent set S such that w(S) is maximized among all independent sets in the graph.We use S(G) to denote a maximum weighted independent set in graph G and α(G) to denote the total vertex weight of S(G).The Maximum Weighted Independent Set problem is defined below.

Maximum Weighted Independent Set (MWIS)
Input: An undirected vertex-weighted graph G = (V, E, w).Output: the weight of a maximum weighted independent set in G., i.e., α(G).

Branch-and-search and Measure-and-conquer
Branch-and-search paradigm.Our branch-and-search algorithm contains several reduction rules and branching rules.Each reduction rule will reduce the instance without exponentially increasing the running time.We will first apply reduction rules to reduce this instance and then apply branching rules to search for a solution when the instance can not be further reduced.
The exponential part of the running time depends on the size of the "search tree" in the algorithm, which is generated by the branching operations.To evaluate the size of the search tree, we should use a measure.The measure can be the number of vertices or edges of the graph, the size of the solution, and so on.Usually, when the parameter becomes zero or less than zero, the instance can be solved in polynomial time directly.Let parameter p be the measure adopted in the algorithm.We use T (p) to denote the maximum number of leaves in the search tree generated in the algorithm for any instance with the measure being at most p.Assume that at a branching operation, the algorithm branches on the current instance into l branches.If in the i-th branch the measure decreases by at least a i , i.e., the i-th substance has the parameter at most p i = p − a i , then we obtain a recurrence relation The recurrence relation can be represented by a branching vector [a 1 , a 2 , . . ., a l ].The largest root of the function f (x) = 1 − l i=1 x −a i is called the branching factor of the recurrence.Let γ be the maximum branching factor among all branching factors in the algorithm.The size of the search tree that represents the branching process of the algorithm applied to an instance with parameter p is given by O * (γ p ).More details about the analysis and how to solve recurrences can be found in the monograph [13].
For two branching vectors a = [a 1 , a 2 , . . ., a l ] and b = [b 1 , b 2 , . . ., b l ], if a i ≥ b i holds for all i = 1, 2 . . ., l, then the branching factor of a is not greater than this of b.For this case, we say b dominates a.This property will be used in many places to simplify some arguments in the paper.
Measure-and-conquer technique.The Measure-and-conquer technique, introduced in [12], is a powerful tool to analyze branch-and-search algorithms.The main idea of the measure-and-conquer technique is to use a non-traditional measure to evaluate the size of the search tree generated by the branch-and-search algorithm.In this paper, we will use the measure-and-conquer technique to analyze our algorithm.Our measure p is a combination of several parameters defined below.This measure may catch more structural properties of the problem and then we can analyze the running time by using amortization.Let n i denote the number of vertices of degree i in the graph.We associate a cost δ i ≥ 0 for each degree-i vertex in the graph.Our measure is set as follows: The cost δ i in this paper is given by We also define for each integer k ≥ 0. In our analysis, we may use the following inequalities and equalities to simplify some arguments: With the above setting, we know that when p ≤ 0, the instance contains only degree-0 and degree-1 vertices and can be solved directly.We will design an algorithm with running time bound O * (c p ) for some constant c.If the initial graph has degree at most 3, then we have that p ≤ n and then the running time bound of the algorithm is O * (c n ).In general, if we have p ≤ f (n) for some function f on n, then we can get a running time bound of O * (c f (n) ).We have the following lemma for the relation between p and n.
Lemma 1.For a graph of n vertices, if the average degree of the graph is at most x, then the measure p of the graph is at most (0.624x − 0.872)n.
Proof.According to the definition of the measure, we have that Since the average degree of the graph is at most x, we have that

Reduction Rules
We first introduce some reduction rules, which can be applied to reduce the instance directly by eliminating some local structures of the graph.Reduction rules for the unweighted case have been extensively studied.However, most of they do not work in weighted graphs.In weighted graphs, we may not be able to reduce all degree-2 vertices, which is an easy case in unweighted graphs.There are also two papers [19,30] systematically study reduction rules for the weighted case.Here we try to contribute more reduction rules based on degree-2 vertices, small vertex-cuts, and some other special local structures.Some reduction rules may include a set S of vertices in the solution set directly.We use M c to store the weight of the vertices that have been included in the solution set.When a set S of vertices is included in the solution set, we will remove N [S] from the graph and update M c by adding w(S).

General Reductions for Some Special Structures
We use several reduction rules based on unconfined vertices, twins, vertices with a clique neighborhood, and heavy vertices.Some of these reduction rules were introduced in [19] and [30].
, there is a maximum weighted independent set in G that does not contain v.We can say that a vertex v is removable if a contradiction is obtained from the assumption that every maximum weighted independent set in G contains v.A sufficient condition for a vertex to be removable in unweighted graphs has been studied in [32].We extend this concept to weighted graphs.
For an independent set S of G, is called a satellite of S. See Fig. 1 for an illustration.
Lemma 2. Let S be an independent set that is contained in any maximum weighted independent set in G. Then every maximum weighted independent set contains at least one vertex in N (u)\N [S] for each child u of S.
Proof.Assume to the contrary that there is a maximum weighted independent set S G in G such that S G ∩ (N (u) \ N [S]) = ∅ for some child u of S. We have that S ⊆ S G by the assumption on the independent set S. Thus, we could replace S ∩ N (u) with u to obtain another independent set S ′ G = (S G \N (u))∪{u} in G. Furthermore, since u is a child of S, we have that w(u) ≥ w(S ∩N (u)).Thus, S ′ G is also a maximum weighted independent set in G. However S ′ G does not contain S, contradicting that S is contained in any maximum weighted independent set in G.
Lemma 2 provides a sufficient condition for a vertex set contained in any maximum weighted independent set.Next, we introduce a method based on Lemma 2 to find some possible removable vertices.
Let v be an arbitrary vertex in the graph.After starting with S := {v}, we repeat (1) until (2) or (3) holds: (1) If S has some extending child in N (S), then let S ′ be the set of satellites.Update S by letting S := S ∪ S ′ .
(2) If S is not an independent set or there is a child u such that N (u) \ N [S] = ∅, then halt and conclude that v is unconfined. ( Obviously, the procedure can be executed in polynomial time for any starting set S of a vertex.If the procedure halts in (2), we say vertex v unconfined.If the procedure halts in (3), then we say that the set S v returned in (3) confines vertex v and vertex v is also called confined.Note that the set S v confining v is uniquely determined by the procedure with starting set S := {v}.It is easy to observe the following lemma.Proof.Assume that vertex v is contained in all maximum weighted independent sets.By Lemma 2, we know that after each execution of (1) of the above procedure, the set S should also be contained in all maximum weighted independent sets.However, when the procedure halts in (2), the final set S could not be contained in any maximum weighted independent set by Lemma 2. So v is removable.
Reduction Rule 1 (R1).If a vertex v is unconfined, remove v from G.
We here observed some structures that are involved in unconfined vertices.We say that a vertex v dominated by a neighbor u of it if v is adjacent to all neighbors of u, i.e., Clearly, any dominated vertex v with w(v) ≤ w(u) is unconfined, since S = {v} has a child u with N (u) \ N [S] = ∅.See Fig. 2 for an illustration of this case.For a degree-1 vertex u with the unique neighbor v, if w(v) ≤ w(u), then vertex v is unconfined.For a degree-2 vertex u with two adjacent neighbors, if one neighbor, say v, holds that w(v) ≤ w(u), then vertex v is unconfined.R1 can deal with some degree-1 and degree-2 vertices, but not all of them.

Twins.
A set A = {u, v} of two non-adjacent vertices is called a twin if they have the same neighbor set, i.e., N (u) = N (v).Reductions based on twins are used not only for independent sets [1,19] but also for feedback sets and other problems [21].Clearly, a vertex in a twin is in a maximum weighted independent set if and only if the other vertex in the twin is also in the same maximum weighted independent set.So we can treat the two vertices in a twin as a single vertex.
Reduction Rule 2 (R2).[19] If there is a twin A = {u, v}, delete v and update the weight of u by letting w(u) := w(u) + w(v).
See Fig. 3 for an illustration of R2.
Clique Neighborhood.A vertex v has a clique neighborhood if the graph G[N (v)] induced by the open neighbor set of v is a clique, which was introduced as isolated vertices in [19].Reduction Rule 3 (R3).[19] If there is a vertex v having a clique neighborhood and w(v) < w(u) holds for all u ∈ N (v), then remove v from the graph, update the weight w(u) := w(u) − w(v) for all u ∈ N G (v), and add w(v) to M c .
An illustration of which is shown in Fig. 4.
Heavy Vertices.A vertex v is called a heavy vertex if its weight is not less the weight of the maximum weighted independent set in subgraph induced by the open neighborhood of it, i.e., We can see that for each heavy vertex, there is a maximum weighted independent set contain it.Note that if there is a maximum weighted independent set S does not contain v, then we can replace N (v)∩S with v in S to get another maximum weighted independent set, where w(N (v)∩S) ≤ w(v) since v is a heavy vertex.Dealing heavy vertices is a simple but very efficient method to reduce the graph that have been used in some experimental algorithms [19,30].Whether a vertex is a heavy vertex can be checked in constant time if the degree of the vertex is bounded by a constant.In this paper, we will only check heavy vertices of degree bounded by 5. Note that degree-0 vertices are heavy vertices and we can reduce degree-0 vertices in this step.
Reduction Rule 4 (R4).If there is a heavy vertex v of degree at most 5, then delete N [v] from the graph and add w(v) to M c .

Reductions Based on Degree-2 Vertices
For unweighted graphs, we have good reduction rules to deal with all degree-2 vertices (see the reduction rule in [6]).However, for weighted graphs, it becomes much more complicated.Although we have several reduction rules, we can not deal with all degree-2 vertices.
Our first rule is generalized from the concept of folding degree-2 vertices in unweighted graphs introduced in [6], which has been also used in some experimental algorithms.A proof of the correctness can be found in [19,30].
Reduction Rule 5 (R5).If there is a degree-2 vertex v with two neighbors {u 1 , u 2 } such that w(u 1 ) + w(u 2 ) > w(v) ≥ max{w(u 1 ), w(u 2 )}, then delete {v, u 1 , u 2 } from the graph G, introduce a new vertex v ′ adjacent to N G ({v, u 1 , u 2 }) with weight w(v ′ ) := w(u 1 ) + w(u 2 ) − w(v), and add w(v) to M c .Fig. 5 gives an illustration of R5.The following two reductions are special cases of alternative sets introduced in [30].We also use them to reduce some degree-2 vertices in the graph.Reduction Rule 6 (R6).If there is a path ), then remove v 2 and v 3 from the graph, add an edge v 1 v 4 if it does not exist, update the weight of v 1 by letting w(v 1 ) := w(v 1 ) + w(v 3 ) − w(v 2 ), and add w(v 2 ) to M c .
Fig. 6 gives an illustration of R6.A proof of the correctness of this reduction rule is given below.
Proof.Let S be a maximum weighted independent set in G.If S contains v 1 , we can assume that S also contains v 3 , because S must contain one of v 3 and v 4 due to the maximality of S and if S contains v 4 we can replace v 4 with v 3 without decreasing the total weight of the independent set.For this case, On the other hand, for any maximum weighted independent set S ′ in G ′ , we can construct a weighted independent set S of G such that w ), then remove v 2 and v 3 , update the weight of v 1 by letting w(v 1 ) := w(v 1 ) + w(v 3 ) − w(v 2 ), and add w(v 2 ) to M c .Fig. 7 gives an illustration of R7.A proof of the correctness of this reduction rule is given below.
Lemma 5. Let G ′ be a graph obtained from G by applying R7, then  Proof.This lemma can be proved analogously with the proof of Lemma 4.
Let S be a maximum weighted independent set in G.If S contains v 1 , we can assume that S also contains v 3 , because S can not contain v 1 and v 4 now.For this case, S ′ = S \ {v 3 } is an independent set in G ′ with weight w G ′ (S ′ ) = w G (S) − w G (v 2 ).If S does not contain v 1 , we can assume that S contains v 2 , since S must contain at least one of v 1 and v 2 and w(v 1 ) ≥ w(v 2 ).For this case, On the other hand, for any maximum weighted independent set S ′ in G ′ , we can construct a weighted independent set S of G such that w Next, we introduce more rules for degree-2 vertices in some complicated structures.
), then remove v 2 and v 4 , add edges v 1 v 3 and v 3 v 5 , update the weight of v 1 by letting w(v 1 ) := w(v 1 ) + w(v 3 ) − w(v 2 ) and the weight of v 5 by letting w(v 5 ) := w(v 5 ) + w(v 3 ) − w(v 4 ), and add w(v 2 ) + w(v 4 ) − w(v 3 ) to M c .Fig. 8 gives an illustration of R8.The correctness of this reduction rule is based on the following lemma.Lemma 6.Let G ′ be a graph obtained from G by applying R8, then α Proof.Let S be a maximum weighted independent set in G.We consider the following four cases.
Case 1. S contains both of v 1 and v 5 : For this case, we can assume that v 3 is also in S by the maximality of S. We can see that Case 2. S contains v 1 but not v 5 : For this case, we can assume that S also contains v 4 , because S must contain one of v 3 and v 4 due to the maximality of S and w(v 3 ) ≤ w(v 4 ).For this case, Case 3. S contains v 5 but not v 1 : For this case, we can assume that S also contains v 2 , because S must contain one of v 3 and v 2 due to the maximality of S and w(v 3 ) ≤ w(v 2 ).For this case, Case 4. S contains none of v 1 and v 5 : For this case, we can assume that S contains both of v 2 and v 4 .For this case, On the other hand, for any maximum weighted independent set does not contain any of v 1 and v 5 , then it must contain v 3 due to the maximality of S. For this case, ) and the weight of v 5 by letting Fig. 9 gives an illustration of R9.The correctness of this reduction rule is based on the following lemma.
Lemma 7. Let G ′ be the graph obtained from G by applying R9.If (1) of R9 is applied, then Proof.It is easy to observe that any maximum weighted independent set S will contain exactly two non-adjacent vertices in the 5-cycle v 1 v 2 v 3 v 4 v 5 .There are only five possible cases.If {v 3 , v 5 } ⊆ S, then S ∪ {v 2 } \ {v 3 } is another independent set in G with the weight at least w(S).So we can assume that S contains one of {v 1 , v 4 }, {v 1 , v 3 }, {v 2 , v 4 } and {v 2 , v 5 }.
Case (1): We assume that (1) of R9 is applied, where w(v 3 ) > w(v 5 ).Let S * denote one of On the other hand, for any maximum weighted independent set Case (2): We assume that (2) of R9 is applied, where On the other hand, for any maximum weighted independent set ), then remove v 5 and v 6 , and update the weight of v 2 by letting w(v 2 ) := w(v 2 ) + w(v 6 ) and the weight of v 3 by letting w(v 3 ) := w(v 3 ) + w(v 5 ); (2) if w(v 2 ) < w(v 3 ), then remove v 6 , add edge v 1 v 5 , and update the weight of v 2 by letting w(v 2 ) := w(v 2 ) + w(v 6 ), the weight of v 3 by letting w(v 3 ) := w(v 3 ) + w(v 5 ), and the weight of v 5 by letting Proof.Case (1): We assume that (1) of R10 is applied, where w(v 2 ) ≥ w(v 3 ).Let S be a maximum weighted independent set in G.
We show that, without loss of generality, we can assume that S contains both of v 2 and v 6 or none of them (resp., both of v 3 and v 5 or none of them).The reason is based on the following observation.If S contains v 2 but not v 6 , then S must contain v 5 , otherwise v 6 should be added to S directly by the maximality of S. For this case, we can replace v 5 with v 6 in S to get another maximum weighted independent set since w(v 6 ) ≥ w(v 5 ).If S contains v 6 but not v 2 , then S must contain v 3 , otherwise v 2 should be added to S directly by the maximality of S. For this case, we can replace v 3 with v 2 in S to get another maximum weighted independent set since for this case we have that w(v 2 ) ≥ w(v 3 ).So we can assume that S contains either both of v 2 and v 6 or none of them.If S contains v 3 but not v 5 , then S must contain v 6 , otherwise v 5 should be added to S directly by the maximality of S. For this case, we can replace v 3 with v 2 in S to get another maximum weighted independent set since w(v 2 ) ≥ w(v 3 ).Now the set S contains both of v 2 and v 6 but none of v 3 and v 5 .If S contains v 5 but not v 3 , then S must contain v 2 , otherwise v 3 should be added to S directly by the maximality of S. For this case, we can replace v 5 with v 6 in S to get another maximum weighted independent set since w(v 6 ) ≥ w(v 5 ).We also get a maximum weighted independent set that contains both of v 2 and v 6 but none of v 3 and v 5 . If On the other hand, for any maximum weighted independent set S ′ in G ′ , we can construct a weighted independent set S in G such that w Case (2): We assume that (2) of R10 is applied, where w(v 2 ) < w(v 3 ).Let S be a maximum weighted independent set in G.
If S contains v 1 , then S will contain either v 4 or both of v 3 and v 5 (after deleting N [v 1 ] from the graph {v 3 , v 5 } will be a twin).If S does not contain v 1 , then we can assume that S contain v 6 since w(v 6 ) ≥ w(v 5 ).For this case, S must contain one of v 2 and v 3 due to the maximality of S. Furthermore, if S ∩ {v 1 , v 2 , v 3 , v 4 , v 5 , v 6 } = {v 2 , v 6 }, then we can replace v 2 with v 3 in S to get another maximum independent set.So we can assume that On the other hand, for any maximum weighted independent set S ′ in G ′ , we can construct a weighted independent set S in G such that w G (S) = w G ′ (S ′ ).In G ′ , there is a 5-cycle v 1 v 2 v 3 v 4 v 5 and any maximum weighted independent set in G ′ contains exactly two vertices in the 5-cycle.Recall that v * is the vertex in {v 2 , v 3 } with the larger weight in

Reductions Based on Small Cuts
We also have some reduction rules to deal with vertex-cuts of size one or two, which can even be used to design a polynomial-time divide-and-conquer algorithm.However, a graph may not always have vertex-cuts of small size.
Vertex-Cuts of Size One.We first introduce the reduction rule based on vertex-cuts of size one.Lemma 9. Let {u} be a vertex-cut of size one in G and G * be a connected component in G − u.
, where G 1 is the remaining graph after removing G * and u from G; (2 , where G 2 is the remaining graph after removing G * from G and updating the weight of u by letting w(u) Recall that we use S(G) to denote a maximum independent set in G.We can replace S ∩ ({u} ∪ V (G ′′ )) with S(G * ) in S to get another independent set without decreasing the total weight since On the other hand, for any maximum weighted independent set S ′ in G 2 , we can construct an independent set Figure 11: A graph G with a vertex-cut {u} Fig. 11 shows a graph G with a vertex-cut {u}.Lemma 9 provides a divide-and-conquer method based on vertex-cuts of size one.In our algorithm, we will only use it to deal with cuts that can split a connected component G * of bounded total vertex cost.
Reduction Rule 11 (R11).For a vertex-cut {u} with a connected component ), and add five new edges ∈ S and u ′ / ∈ S. For this case, we let On the other hand, for any maximum weighted independent set S ′ of G ′ , we can construct a weighted independent set For this case, we let S 4 be the maximum weighted independent set in G * , then Please see Fig. 12

Analyzing Reduction Rules
It is easy to see that all structures in our reduction rules are local structures that can be found in polynomial time.Each application of our reduction rules is to either remove some part of the graph or replace some part with a smaller structure, which can also be done in polynomial time.In this part, we mainly analyze how much the measure p can be reduced in each reduction rule.Since we will apply these reduction rules in order, we assume without loss of generality that when one reduction rule is applied, no reduction rule with a smaller index can be applied.Lemma 11.Each application of our reduction rules can be executed in polynomial time.
Each application of R1 to R4 will remove some vertices from the graph.The update of the vertex weight will not increase the measure p.Hence, we can get Lemma 12.Each application of R1 to R3 decreases the measure p by at least , where v is the vertex on which the reduction rule is applied.
Lemma 13.Each application of R4 decreases the measure p by at least u∈N [v] δ d(u) , where v is the vertex on which the reduction rule is applied.
For a degree-1 vertex v with the unique neighbor u, if w(v) < w(u) then we can apply R3 to reduce it, otherwise w(v) ≥ w(u) and we can apply R4 to reduce it.So we know that Lemma 14.If R1 to R4 can not be applied and the graph is not empty, then the minimum degree of the graph is at least 2.
Let C be a cycle that has a degree-2 vertex v.If |C| = 3, then either one of neighbors of v is unconfined or v can be reduced by R3.If |C| = 4 and there is a pair of nonadjacent degree-2 vertices, then R2 can be applied.So, we can get that Lemma 15.If R1 to R4 can not be applied and the graph is not empty, then there is no triangle containing degree-2 vertices and no 4-cycle containing two nonadjacent degree-2 vertices.
Lemma 16.If R1 to R5 can not be applied to G, then each connected component of the graph contains at least one vertex of degree ≥ 3.
Proof.By Lemma 14, we know that the graph has no degree-1 vertex.If there is a connected component containing only vertices of degree ≤ 2, then the component can only be a cycle C containing degree-2 vertices.By Lemma 15, we know that |C| ≥ 5. Let C = {v 1 , v 2 , . . ., v |C| }.Since R5 can not be applied, we know that for each 1 ≤ i ≤ |C|, it holds that w(v i ) < max{w(v i+1 ), w(v i−1 )}, where v 0 = v |C| and v |C|+1 = v 1 .However, it will not hold for the vertex v * with the maximum weight in the cycle, a contradiction.So the cycle C containing only degree-2 vertices does not exist.
Lemma 17.If R1 to R6 can not be applied to G, then each cycle C contains at least two vertices of degree ≥ 3.
Proof.Let C = {v 0 , v 1 , v 2 , . . ., v |C|−1 } be a cycle in the graph G.By Lemma 16, we know that C must contain at least one vertex of degree ≥ 3. Assume that there is exactly one vertex of degree ≥ 3 in C, which is assumed to be v 0 without loss of generality.By Lemma 15, we know that |C| ≥ 5. Since R5 can not be applied now, we know that w(v i ) < max{w(v i+1 ), w(v i−1 )} holds for all 1 ≤ i < |C|, where v |C| = v 0 .Then, we can get that w(v 0 ) ≥ max{w(v 1 ), w(v |C|−1 )}.Thus, either w where implies that R6 can be applied.So C must contain more than one vertices of degree ≥ 3 and this lemma holds.
Lemma 18.If R1 to R4 can not be applied, then each application of R5 to R8 decreases the measure p by at least 2δ 2 .
Proof.Assume that R1 to R4 can not be applied.By Lemma 14, we know that the minimum degree of G is at least 2. We use G ′ to denote the resulting graph after executing one application of Ri (5 ≤ i ≤ 8).
Case 1: R5 is applied.A degree-2 vertex v with two neighbors u 1 and u 2 are deleted from the graph, and a new vertex v ′ with degree at most d(u 1 )+d(u 2 )−2 is introduced.For all other vertices, the degree will not increase.So the measure p decreases by at least Case 2: R6 is applied.We replace a chain of two degree-2 vertices with an edge.Hence, the measure p decreases by p(G) − p(G ′ ) ≥ 2δ 2 .
Case 3: R7 is applied.In this case, we remove two degree-2 vertices from the graph.Hence, the measure p decreases by at least 2δ 2 .
Case 4: R8 is applied.In this case, two degree-2 vertices are replaced with an edge respectively.Hence, the measure p decreases by 2δ 2 .
Lemma 19.If R1 to R6 can not be applied, then each application of R9 decreases the measure p by at least 2δ 3 − δ 2 .
Proof.Let v 1 v 2 v 3 v 4 v 5 be the 5-cycle that R9 is applied to, where v 2 , v 3 and v 5 are degree-2 vertices, as shown in Fig. 9.By Lemma 17, we know that min{d(v 1 ), d(v 4 )} ≥ 3.In this reduction rule, we will remove either a degree-2 vertex v 5 or two adjacent degree-2 vertices {v 2 , v 3 } from the graph.So, we can reduce the measure by at least δ 2 from the removed vertices and at least 2δ <−1> 3 from the neighbors of them.
Lemma 20.If R1 to R6 can not be applied, then each application of R10(1) decreases the measure p by at least 2δ 3 and each application of R10(2) decreases the measure p by at least δ 2 .
Proof.Let v 1 v 2 v 3 v 4 v 5 v 6 be the 6-cycle that R10 is applied to, where v 2 , v 3 , v 5 and v 6 are degree-2 vertices, as shown in Fig. 10.By Lemma 17, we know that min{d(v 1 ), d(v 4 )} ≥ 3.In this reduction rule, we will either remove two adjacent degree-2 vertices {v 5 , v 6 } or replace a degree-2 vertex v 6 with an edge.For the first case, the measure will decrease by at least 2δ 3 .For the second case, the measure will decrease by at least δ 2 .
Lemma 21.Each application of R11 decreases the measure p by at least 2δ 3 − δ 2 .
Proof.At least a subgraph G * with total cost at least 2δ 3 − δ 2 is deleted from the graph.So the measure decreases by at least 2δ 3 − δ 2 .
Lemma 22.Each application of R12 will not increase the measure p.
Proof.In an application of this rule, a subgraph G * will be replaced by three degree-2 vertices and the degree of the two vertices u and u ′ in the cut can increase by at most 1.So R12 decreases the measure by at least Although an application of R12 may not decrease the measure directly, it will create a 5-cycle with exactly two vertices of degree ≥ 3, which can be further reduced by applying other reduction rules.By putting all these together, we still can strictly decrease the measure.
Lemma 23.Assume that R1 to R4 can not be applied.If there is a chain containing at least three degree-2 vertices, then we can apply reduction rules to decrease the measure p by at least 2δ 2 .
Proof.Let v 0 v 1 v 2 v 3 v 4 be the chain such that d(v i ) = 2 for i = 1, 2, 3.If R5 can not be applied, then we know that for i ∈ 1, 2, 3, it holds that w( ).Hence, one of R5 to R8 can be applied.By Lemma 18, we know that the measure will decrease by at least 2δ 2 .
Lemma 24.Let G be a graph where R1 to R4 can not be applied.Let G ′ be the graph after an application of one of R5 to R8.The minimum degree of G ′ is at least 2.
Proof.By Lemma 14, we know that the minimum degree of G is at least 2.
Case 1: R5 is applied.We will delete a degree-2 vertex v and its two neighbors u 1 and u 2 , and introduce a new vertex v ′ adjacent to all vertices in N (N (v)).If a degree-1 vertex u is created, then the degree-1 vertex u will be a vertex in N (N (v)).Thus, in G, u is a degree-2 vertex, and u and v will form a twin.However, we have assumed that R2 can not be applied on G.So G ′ can not contain a vertex of degree 1.
Case 2: one of R6 and R8 is applied.Here, we will reduce a chain to a smaller one and do not decrease the degree of the two endpoints of the chain.Hence, the minimum degree of G ′ is still at least 2.
Case 3: R7 is applied.Let v 1 v 2 v 3 v 4 be the cycle that R7 is applied to, as shown in Fig. 7.By Lemma 15, we know that min{d(v 1 ), d(v 4 )} ≥ 3. Since we will delete v 2 and v 3 to obtain G ′ , the operation will only decrease the degree of v 1 and v 2 exactly 1 respectively.So, it holds that the minimum degree of G ′ is at least 2.
Lemma 25.Let G be a graph where R1 to R4 can not be applied.If there is a 4-cycle C containing exactly two degree-2 vertices, then the measure p can be decreased by at least 5δ 2 by applying reduction rules.
Proof.Let C = v 1 v 2 v 3 v 4 be a 4-cycle in the graph.By Lemma 15, we know that the two degree-2 vertices must be adjacent.We assume that v 2 and v 3 are degree-2 vertices.If R5 and R6 can not be applied on the graph, then R7 must be applied.We consider the three cases.Let G ′ be the resulting graph after executing one of R5 to R7.By Lemma 24, we know that the minimum degree of G ′ is at least 2.
Case 1: R5 is applied on a degree-2 vertex v.If v ∈ {v 2 , v 3 }, then the structure of G ′ is isomorphic to the graph obtained from G by deleting {v 2 , v 3 }.So we have that p(G) − p(G ′ ) ≥ 2δ 3 ≥ 5δ 2 .Otherwise, after applying R5, the 4-cycle C is still left in G ′ .For this case, we have that p(G) − p(G ′ ) ≥ 2δ 2 by Lemma 18.We can further apply reduction rules on the graph since the 4-cycle C still exists.If R1 to R4 can be applied to G ′ , then by Lemma 12 and Lemma 13, we can decrease the measure p by at least 3δ 2 more.Otherwise, by induction, we know that the measure p will eventually decrease by at least 5δ 2 .
Case 2: R6 is applied on a , where v ′ 2 and v ′ 3 are degree-2 vertices.The two degree-2 vertices v ′ 2 and v ′ 3 will be replaced with an edge v exists, then the reduction rule simply deletes v ′ 2 and v ′ 3 from the graph and the p will decrease by at least 2δ 2 + 2δ <−1> By induction, we know that the measure p will eventually decrease by at least 5δ 2 .
Case 3: , where v ′ 2 and v ′ 3 are degree-2 vertices.We will remove two degree-2 vertices {v ′ 2 , v ′ 3 } from G to obtain G ′ .So, the measure p will decrease by at least 2δ 2 + 2δ <−1> Lemma 26.Let G be a graph where R1 to R4 can not be applied.If there is a cycle C with |C| ≥ 5 containing at most two vertices of degree at least 3, then applying reduction rules can decrease the measure p by at least 2δ 3 − δ 2 .
Proof.By lemma 14, we know that the minimum degree of G is 2. Let G ′ be the resulting graph after executing one of R5 to R10 on G and let G * be the resulting graph after executing all the reduction rules on G ′ .We consider how many vertices of degree ≥ 3 in the cycle C.
Case 1: C contains no vertex of degree ≥ 3.By lemma 16, we know that whole component C will be reduced.So, Case 2: C contains exactly one vertex of degree ≥ 3. Since |C| ≥ 5, there is a chain that contains at least 3 vertices of degree 2. By Lemma 23, we know that one of R5 to R8 can be applied to some vertices of C to obtained G ′ and p(G) − p(G ′ ) ≥ 2δ 2 .Since R5, R6 and R8 will reduce a chain to a smaller one with decreasing the length at most 2 and R7 will remove 2 adjacent vertices of degree 2 that are in a 4-cycle, there still exists a cycle C ′ with at most 2 vertices of degree ≥ 3 in G ′ and G ′ has a minimum degree at least 2. If R1 to R4 can be applied to G ′ , by Lemma 12 and Lemma 13, we know that p(G ′ ) − p(G * ) ≥ 3δ Case 3: C contains exactly two vertices of degree ≥ 3. Clearly, one of R5 to R10 can be applied to G.
When one of R5 to R8 is applied to G, the discussion is similar to the above case.When one of R9 to R10( 1) is applied to G, by Lemma 19 and Lemma 20, we know that When R10( 2) is applied to G to obtain G ′ , by R10( 2) and Lemma 17, we know that there is a 5-cycle that contains at most two vertices of degree ≥ 3 and there is no cycle containing at most one vertex of degree ≥ 3.If R1 to R4 can be applied to G ′ , then by Lemma 12 and Lemma 13, we Since 5δ 2 ≥ 2δ 3 − δ 2 , we know that this lemma holds.
Definition 27.An instance is called reduced, if none of our reduction rules can be applied.
Lemma 28.In a reduced instance, any two degree-2 vertices in different chains have at most one common chain-neighbor of degree at least 3, and each cycle contains at least three vertices of degree ≥ 3.
Proof.Assume there are two degree-2 vertices in different chains that have two common chainneighbors of degree at least 3. Then there is a cycle C contains exactly two vertices of degree ≥ 3.By Lemma 15 and Lemma 26, we know that there is no such cycle in a reduced instance.
Lemma 29.For a triangle C in a reduced instance, each vertex in C is a vertex of degree at least 3 and it has a chain-neighbor of degree at least 3 not in C.
Proof.By Lemma 15, we know that all the vertices in triangles are of degree at least 3.If a vertex in C does not have a chain-neighbor of degree at least 3 in C, then there is a cycle containing at most two vertices of degree ≥ 3, a contradiction to Lemma 28.

Branching Rules
Next, we introduce our branching rules, which will only be applied to reduced instances.After applying a branching rule, the algorithm will apply reduction rules as much as possible on each sub instance.In our analysis, we will consider the following applications of reduction rules together.

Two Branching rules
We use two branching rules.The first branching rule is to branch on a vertex v by considering two cases: (i) there is a maximum weighted independent set in G which does not contain v; (ii) every maximum weighted independent set in G contains v.For the former case, we simply delete v from the graph.For the latter case, by Lemma 2 we know that we can include the set S v confining v in the independent set.So we delete N [S v ] from the graph.
Branching Rule 1 (Branching on a vertex).Branch on a vertex v to generate two sub instances by either deleting v from the graph or deleting N [S v ] from the graph and adding w(S v ) to M c .
The following property of 4-cycles has been used to design an effective branching rule for unweighted versions [32], which also holds in weighted graphs.
Proof.Since any independent set contains at most two non-adjacent vertices in a 4-cycle, we know that this lemma holds.
Based on Lemma 30, we get the second branching rule.
Branching Rule 2 (Branching on a 4-cycle).Branch on a 4-cycle v 1 v 2 v 3 v 4 to generate two sub instances by deleting either {v 1 , v 3 } or {v 2 , v 4 } from the graph.

The analysis and some properties
The hardest part is to analyze how much we can decrease the measure in each sub-branch of a branching operation.Usually, we need to deeply analyze the local graph structure and use caseanalysis.Here we try to summarize some common properties.The following notations will be frequently used in the whole paper.
Let S be a vertex subset in a reduced graph G.We use G −S to denote the graph after deleting S from G and iteratively applying R1 to R4 until none of them can be applied.We use R S to denote the set of deleted vertices during applying R1 to R4 on G − S. Then G −S = G − (S ∪ R S ).We also use e S to denote the number of edges between S ∪ R S and V \ (S ∪ R S ) in G.We have the following lemmas for some bounds on p(G) − p(G −S ).Note that G −S may not be a reduced graph because of reduction rules from R5 to R12 and we may further apply reduction rules to further decrease the measure p.
Proof.Since S ∪R S will be removed from G, we can reduce the measure by at least u∈S∪R S δ d G (u) from them.For each vertex in N (S ∪ R S ), it must be a vertex of degree ≥ 2 in G −S , otherwise R1 to R4 can be further applied on G −S .Thus, deleting each edge between S ∪ R S and V \ (S ∪ R S ) will decrease the measure p by δ <−1> Lemma 35.For any subset S ′ ⊆ S ∪ R S with k edges between S ′ and V \ S ′ , it holds that k − e S > 3. Corollary 36.For any subset S ′ ⊆ S ∪ R S with k edges between S ′ and V \ S ′ , it holds that either Proof.The instance G is reduced.So R11 and R12 can not be applied.If v∈S∪R S δ d G (v) ≤ 10 and there are at most two edges between S ∪ R S and V \ (S ∪ R S ), then the condition in R11 or R12 would hold.So we have either p(G) − p(G −S ) > 10 or e S ≥ 3.For the latter case, by Lemma 35, this corollary also holds.
Lemma 37. Assume that a reduced graph G has a maximum degree 3 and has no 3 or 4-cycles.
For any subset S ′ ⊆ S ∪ R S with k edges between S ′ and V \ S ′ , if the diameter of the induced graph Proof.Let R ′ = (S ∪ R S ) \ S ′ .Note that any vertex v ∈ R ′ is adjacent to at most one vertex in S ′ , otherwise v and some vertices in S ′ would form a cycle of length at most 4 since the diameter of G[S ′ ] is 2, a contradiction to the assumption that there is no cycle of length at most 4. Thus, any component H ∈ C(G[R ′ ]) contains at least l H vertices, and R ′ contains at least k − e S vertices.
We first consider the value of k − e S .If k − e S = 1, then by Lemma 34, we know that there is a vertex of degree ≥ 3 in R ′ .So, by Inequality (6), we know that If k − e S = 2, then R ′ contains at least k ≥ 2 vertices.So, by Inequality (6), we know that If k − e S = 3, then R ′ contains at least k ≥ 3 vertices.By Lemma 34, we know that at least one vertex in R ′ is of degree ≥ 3. Hence, by Inequality (6), we know that Next, we prove the lemma by considering the value of k.
If k − e S = 1, 2 and 3, then we will get ( 7), (8), and (9), respectively.It is impossible that e S = 0 and then it is impossible that k − e S = 4.The worst case is that k − e S = 0. Case 2: k = 5.Similar to Case 2, we consider all possible values of k − e S .The worst case is that k − e S = 2, where by (8) we get that Case 3: k = 6.Similar to Case 2, we consider all possible values of k − e S .The worst case is that k − e S = 2, where by ( 9) we get that Lemma 38.Assume that a reduced graph G has a maximum degree 3, and each cycle C in it contains at least five vertices, where at least four vertices are degree-3 vertices.For any subset S ′ ⊆ S ∪ R S with k edges between S ′ and V \ S ′ , if each path P in the induced graph G[S ′ ] contains either at most three vertices or at most two degree-3 vertices, then it holds that either p(G) − p(G −S ) > 10 or Proof.The proof is similar to the proof of Lemma 37. Let R ′ = S ∪ R S \ S ′ .Any vertex v ∈ R ′ is adjacent to at most one vertex in S ′ , otherwise v would be in a 4-cycle or a cycle containing at most three degree-3 vertices since each path P in G[S ′ ] either contains at most three vertices or contains at most two degree-3 vertices.However, these cycles would not appear by the assumption.Thus, R ′ contains at least k − e S vertices.
We first consider the value of k − e S .If k − e S = 1, then by Lemma 34, we know that there is a vertex of degree ≥ 3 in R ′ .So, by Inequality (6), we know that If k − e S = 2, then R ′ will contain at least two vertices of degree 3. The reason is below.If R ′ contains at most one degree 3, then there will be a cycle containing at most three degree-3 vertices, a contradiction to the assumption.So, by Inequality (6), we know that If k − e S = 3, then R ′ contains at least k ≥ 3 vertices.By Lemma 34, we know that at least one vertex in R ′ is of degree ≥ 3. Hence, by Inequality (6), we know that Next, we prove the lemma by considering the value of k.
If k − e S = 1, 2 and 3, then we will get ( 10), (11), and ( 12), respectively.It is impossible that e S ≤ 1 since G has no cut of size at most 2, and then it is impossible that k − e S ≥ 4. The worst case is that k − e S = 0. Case 3: k = 6.Similar to Case 2, we consider all possible values of k − e S .The worst case is that k − e S = 3, where by (8) we get that

The Algorithm
Now we are ready to describe the whole algorithm.The algorithm will first apply reduction rules and also solve connected components of size bounded by a constant (or the measure is bounded by a constant) directly.
Second, the algorithm will branch on vertices of degree ≥ 5 if any.Note that even the input graph has no high-degree vertices, some reduction rules may create them during the algorithm.Third, the algorithm will deal with 4-cycles and degree-4 vertices.Last is to deal with degree-3 vertices, which is the most complicated part of the algorithm.When the algorithm executes one step, we assume that all previous steps can not be applied now.
Step 1 (Applying Reductions).If the instance is not reduced, iteratively apply reduction rules in order, i.e., when one reduction rule is applied, no reduction rule with a smaller index can be applied on the graph.
Step 2 (Solving Small Components).If there is a connected component G * of G such that p(G * ) ≤ 10, solve the component G * directly and return α(G − G * ) + α(G * ).
Note that p(G * ) ≤ 10, the number of vertices with degree ≥ 3 is at most 10.We can enumerate all subsets of vertices with degree ≥ 3 and let them in the independent set, and the remaining graph has a maximum degree at most 2, which can be solved in polynomial time by Lemma 16.So this step can be solved in polynomial time.
Next, we assume that v 2 v 4 ∈ E. Case 2: d(v 3 ) = 3 and at least one of v 2 and v 4 , say v 2 is a degree-3 vertex.In the first branching, after deleting {v 1 , v 3 }, vertex v 2 will become a degree-1 vertex and will be removed by applying R1 to R4.Thus, by Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 } with k = 4), we know that the measure p decreases by at least In the second branching, all the four vertices in the cycle C will be deleted after applying R1 to R4.By Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 , v 4 } with k ≥ 3), we know that the measure p decreases by at least In the first branching of deleting {v 1 , v 3 }, we can reduce the measure p by δ 4 + δ 3 from {v 1 , v 3 }, 2δ <−2> 4 from {v 2 , v 4 }, and at least δ 2 from the fourth neighbor of v 1 .In total, we get 3δ 4 + δ <−1>
The second branching is similar to the second branching in Case 2. all the four vertices in the cycle C will be deleted in this branching.By Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 , v 4 } with k ≥ 3), we know that the measure p decreases by at least We get a branching vector ].
Case 4: d(v 3 ) = 4.We show that in the first branching of deleting {v 1 , v 3 }, the measure p will decrease by at least 4δ 4 .If both of v 2 and v 4 are degree-4 vertices, we reduce the measure p by 2δ 4 from {v 1 , v 3 }, 2δ <−2> 4 from {v 2 , v 4 }, and at least 2δ 2 from the two different out-neighbors of {v 1 , v 3 }.In total, it is 2δ 4 + 2δ <−2> 4 + 2δ 2 = 4δ 4 .Else at least one of v 2 and v 4 , say v 2 is a degree-3 vertex.After deleting {v 1 , v 3 }, vertex v 2 will become a degree-1 vertex and will be removed by applying R1 to R4.Thus, by Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 } with k = 5), we know that the measure p decreases by at least u∈{v 1 ,v 2 ,v 3 } δ du + δ 3 + 3δ <−1> Step 5 (Branching on Degree-4 Vertices).If there is a degree-4 vertex v, then branch on it with Branching Rule 1 by either excluding v from the independent set or including S v in the independent set.
We use q i to denote the number of degree-i neighbors of v in G.In the first branching of deleting v, by Lemma 32, we can reduce the measure p by at least We consider the second branching of deleting N [S v ].We can see that N [v] ⊆ N [S v ] will be deleted.Note that each degree-2 vertex in N (v) is adjacent to a vertex not in N [v] otherwise v would have a clique neighborhood and reduction rules can be applied.For the case that q 2 = 4, by Lemma 33, we know that the measure p will decrease by at least δ 4 + 4δ 2 + 4δ <−1> 3 = δ 4 + 4δ 3 .For the case that 0 ≤ q 2 ≤ 3, the number of edges between N [v] and V \ N [v] is at least 4 since otherwise there would be a vertex having a clique neighbor or a 4-cycle having a chord.By Corollary 36 (setting S ′ = N [v] with k ≥ 4), we know that the measure p decreases by at least The above analysis gives the following lemma.
Next, we assume the maximum degree of the graph is 3.
Step Proof.All the four vertices in the cycle C are degree-3 vertices or degree-2 vertices since there are no vertices of degree ≥ 4 now.We can see that there is at most one degree-2 vertex in the cycle C.If there are two nonadjacent degree-2 vertices in a 4-cycle, then there is a twin and R2 should be applied.If there are two adjacent degree-2 vertices in a 4-cycle, then either R5 or R7 can be applied.So there is at most one degree-2 vertex in the cycle C.Case 1: one vertex in C, say v 1 is of degree 2 and all other vertices in C are of degree 3.
In each branching, all the four vertices in the cycle C will be deleted after applying R1 to R4.By Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 , v 4 } with k = 3), we know that the measure p decreases by at least Case 2: all the four vertices in C are degree-3 vertices.In each branching, all the four vertices in the cycle C will be deleted after applying R1 to R4.By Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 , v 4 } with k = 4), we know that the measure p decreases by at least So it is covered by the above case.
From now on, we assume that the graph has a maximum degree 3 and there is no 4-cycle.Next, we will first consider triangles in the graph.For a triangle C in the graph after Step 6, each vertex in C is of degree 3 by Lemma 15 and is chain-adjacent to a degree-3 vertex not in C by Lemma 29.
Step 7 (Branching on Triangles).If there is a triangle C = v 1 v 2 v 3 , where we assume without loss of generality that w(v 1 ) ≥ max{w(v 2 ), w(v 3 )} and v 1 is chain-adjacent to a degree-3 vertex u = v 2 , v 3 , then branch on u with Branching Rule 1. Proof.We analyze the branching vector by considering the length of the chain between v 1 and u.Case 1: v 1 and u are adjacent.In the first branching of excluding u from the independent set, all vertices C will be removed by applying R1 to R4 since w(v 1 ) ≥ max{w(v 2 ), w(v 3 )} and v 2 and v 3 will become unconfined vertices.By Corollary 36 (setting S ′ = {v 1 , v 2 , v 3 , u} with k = 4), we know that the measure p decreases by at least 4δ 3 + 4δ <−1> 3 .
In the second branching of including u ∈ S u in the independent set, we will delete N [u] at least.By Corollary 36 (setting S ′ = N [u] with k = 6 − q 2 , where q 2 is the number of degree-2 neighbors of u), we know that the measure p decreases by at least 6δ 3 − 2δ 2 .We get a branching vector Case 2: the chain between v 1 and u is of length 2. We let w be the degree-2 vertex in the chain.In the first branching of excluding u from the independent set, w will become a degree-1 vertex and then w and v 1 will be deleted by applying R1 to R4.By Corollary 36 (setting S ′ = {v 1 , w, u} with k = 4), we know that the measure p decreases by at least 2δ In the second branching of including u ∈ S u in the independent set, we will delete N [u].Furthermore, v 2 and v 3 will become unconfined vertices after deleting N [u] and all the three vertices in C will be deleted by applying R1 to R4.Since there is no 4-cycle now, we know that {v , we know that the measure p decreases by at least 4δ 3 + 3δ 2 + (3δ Case 3: the chain between v 1 and u is of length 3. We let w 1 and w 2 be the two degree-2 vertices in the chain.In the first branching of excluding u from the independent set, w 1 and w 2 will be removed by reducing degree-1 vertices, and v 1 will also be removed since it will become a degree-2 vertex in a triangle.By Corollary 36 (setting S ′ = {v 1 , w 1 , w 2 , u} with k = 4), we know that the measure p decreases by at least 2δ In the second branching of including u ∈ S u in the independent set, we will delete N [u].Furthermore, w 1 and v 1 will also be removed.By Corollary 36 (setting S ′ = {v 1 , w 1 } ∪ N [u] with k ≥ 4), we know that the measure p decreases by at least 2δ 3 + 4δ 2 + (3δ Note that in a reduced graph, the length of each chain is at most 3.So the above three cases cover all cases.Since 5δ Next, we assume that the maximum degree of the graph is at most 3 and all cycles in the graph have a length of at least 5.We still need to deal with some long cycles that contain exactly three degree-3 vertices. Step 8 (Branching on Cycles Containing Three Degree-3 Vertices).If there is a cycle C containing exactly three degree-3 vertices {v 1 , v 2 , v 3 }, where we assume without loss of generality that v 1 is chain-adjacent to a degree-3 vertex u = v 2 , v 3 , then branch on u with Branching Rule 1. Proof.Let q 2 denote the number of degree-2 vertices in N (u).We first consider the branching of excluding u from the independent set, where we delete u from the graph.Let S = {u}.Recall that R S is the set of deleted vertices during applying R1-R4 on G − S. Let G −S be the graph obtained from G by removing S ∪ R S from G. We distinguish two cases by considering whether v 1 ∈ R S or not.
For the case that v 1 ∈ R S , we will have that v 1 ∈ N (S ∪ R S ) and v 1 is left as a degree-2 vertex in G −S since v 1 and u are chain-adjacent.Furthermore, we can see that S ∪ R S does not contain any vertex in the cycle C, otherwise all the vertices in C (including v 1 ) should be included in R S by applying R1-R4.So the cycle C is left in G −S .First, by Lemma 32, we have that p(G) − p(G −S ) ≥ δ 3 + q 2 δ 2 + 3δ <−1> 3 = 4δ 3 + (q 2 − 3)δ 2 .Second, we consider the cycle C in the remaining graph G −S .Now the cycle C contains at most two degree-3 vertices (v 1 becomes a degree-2 vertex).If it contains exactly two degree-3 vertices, then by Lemma 26, we can further reduce the measure by at least 2δ 3 − δ 2 by further applying reduction rules on G −S .If C contains at most one degree-3 vertex, then all the vertices in the cycle will be reduced by further applying reduction rules.Thus, we can further reduce the measure by at least δ 3 + 4δ 2 > 2δ 3 − δ 2 .In total, the measure p will decrease by at least 6δ 3 + (q 2 − 4)δ 2 .
For the case that v 1 ∈ R S , we apply Corollary 36 by letting S ′ be the set containing u, v 1 , all degree-2 vertices in N (u) and all vertices in the chain between u and v 1 , and k = 4. Now S ′ contains exactly 2 degree-3 vertices and q 2 degree-2 vertices.We know that the measure p decreases by at least 2δ 3 + q 2 δ 2 + 4δ <−1> So, in the first branching, we can always decrease the measure p by at least 6δ 3 + (q 2 − 4)δ 2 .Next, we analyze the second branching of including S u in the independent set, where we will delete N [u] at least.We let S = N [S u ].We distinguish two cases by considering whether v 1 ∈ S∪R S or not.
First, we consider the case that v 1 / ∈ S ∪ R S .Since v 1 / ∈ S ∪ R S and S = N [S u ], we know that v 1 is not adjacent to u, where q 2 > 0. As in the analysis for the first branching, we know that all vertices in the cycle C are left in the graph G −S , where v 1 will become a degree-2 vertex in G −S .By Lemma 37, we know that p(G) − p(G −S ) ≥ (4 − q 2 )δ 3 + q 2 δ 2 + 3δ <−1> 3 = 4δ 3 .By further reducing the cycle C in G −S , the measure will further decrease by at least 2δ 3 − δ 2 .In total, the measure will decrease by at least 6δ 3 − δ 2 .
Second, we consider the case that v 1 ∈ S ∪ R S .Let S ′ be the set of vertices in N [u] and vertices in the chain between u and v 1 .
If u and v 1 are not adjacent, then S ′ contains 5 − q 2 degree-3 vertices and at least q 2 degree-2 vertices, and there are k = 7 − q 2 edges between S ′ and V \ S ′ , where 1 ≤ q 2 ≤ 3.By applying Corollary 36 with S ′ and k, we know that the measure will decrease by at least If u and v 1 are adjacent, then S ′ contains 4 − q 2 degree-3 vertices and q 2 degree-2 vertices, and there are k = 6 − q 2 edges between S ′ and V \ S ′ , where 0 ≤ q 2 ≤ 2. Note that S ′ = N [u] now.For this case, by applying Lemma 37 with S ′ and k, we know that the measure will decrease by at least (4 − q 2 )δ 3 + q 2 δ 2 + f (q 2 ), where f (q 2 ) = 4δ <−1> Thus, in this step, we can always branch with one of the following branching vectors The last case is covered by the second case.The lemma holds.
After this step, we can see that the graph has a maximum degree 3 and a minimum degree 2. The length of any cycle in the graph is at least 5 and each cycle contains at least four degree-3 vertices.Next, we are going to eliminate degree-3 vertices in the graph according to the following order: first deal with degree-3 vertices with exactly two degree-2 neighbors (Step 9); then deal with the connected components containing both degree-3 vertices with three degree-2 neighbors and degree-3 vertices with at most one degree-2 neighbors (Step 10); last, all degree-3 vertices in each connected component are either having three degree-2 neighbors or having at most one degree-2 neighbor, and we deal with these two kinds of connected components separately (Step 11 and Step 12).
Step 9 (Branching on Degree-3 Vertices with Two Degree-2 Neighbors).If there is degree-3 vertex u having two degree-2 neighbors and one degree-3 neighbor v, then branch on v with Branching Rule 1.
Lemma 45.Step 9 followed by applications of reduction rules creates a branching vector covered by one of Proof.We use q 2 to denote the number of degree-2 vertices in N (v), where 0 ≤ q 2 ≤ 2.
In the first branching of excluding v from the independent set, we let S = {v}.Recall that R S is the set of deleted vertices during applying R1 to R4 on G − S. We distinguish two cases by considering whether u is in R S or not.If u ∈ R S , we apply Corollary 36 with S ′ being the set including u and v and all degree-2 neighbors of u and v (note that after deleting u and v all the degree-2 neighbors of them will become degree-1 vertices and will be deleted by applying R1 to R4).We know that the measure p decreases by at least 2δ 3 + (q 2 + 2)δ 2 + 4δ <−1> 3 = 6δ 3 + (q 2 − 2)δ 2 .
Otherwise, u is not in R S and then u ∈ N (S ∪ R S ).Let G −S be the graph obtained from G by removing S ∪ R S from G. For the worst case that R S = ∅, by Lemma 32, we know that p(G) − p(G −S ) ≥ δ 3 + q 2 δ 2 + 3δ <−1> at least four degree-3 vertices and three degree-2 vertices and k = 6.The measure p decreases by at least 4δ 3 + 3δ 2 + (3δ <−1> Note that 7δ 3 + δ 2 ≥ 8δ 3 − 2δ 2 .In this branching, we can always reduce the measure p by at least 8δ 3 − 2δ 2 .We get the claimed branching vector.
Lemma 47.Let G be the graph after Step 10.For any connected component H of G, all degree-3 vertices in H either have no degree-3 neighbors or have at least two degree-3 neighbors.
Proof.First, the graph G has no degree-3 vertex with exactly one degree-3 neighbor since Step 9 could not be applied now.If there is a degree-3 vertex u having no degree-3 neighbor and a degree-3 vertex v having at least two degree-3 neighbors in a connected component H, then there is a path between u and v.We can always choose u and v such that the path between u and v does not contain any degree-3 vertices, i.e., the path is a chain.Thus u and v is chain-adjacent, which means the condition of Step 10 holds, a contradiction to the fact that Step 10 can not be applied now.
Step 11 (Branching on Degree-3 Vertices With At Least Two Degree-3 Neighbors).If there is a connected component H containing a degree-3 vertex with at least two degree-3 neighbors, we let u be the vertex of the maximum weight in H and let v be a degree-3 neighbor of u, and branch on v with Branching Rule 1.
Note that the vertex u of the maximum weight in H can not be a degree-2 vertex, otherwise R5 can be applied on the degree-2 vertex.So u is a degree-3 vertex.By Lemma 47, we know that all degree-3 vertices in H must have at least two degree-3 neighbors, and then we can find a degree-3 neighbor v of u, where v also has at least two degree-3 neighbors.Proof.Let q 2 be the number of degree-2 neighbors of v. Then q 2 = 0 or 1.
By Lemma 47, we know that after Step 12, no pair of degree-3 vertices are adjacent.
Step 12 (Branching on Other Degree-3 Vertices).Pick up an arbitrary degree-3 vertex v and branch on it with Branching Rule 1.However, each vertex in {u 1 , u 2 , u 3 } has two degree-2 neighbors in G −S .In G −S , reduction rules on degree-2 vertices can be applied for at least three times to reduce chains of length ≥ 4 (even when two vertices in {u 1 , u 2 , u 3 } are in the same chain and have a common degree-2 neighbor).So the measure p can be further reduced by 6δ 2 .In total, the measure p will decrease by at least 4δ 3 + 6δ 2 .Note that 4δ 3 + 6δ 2 < 6δ 3 + δ 2 .We get the claimed branching vector.
By Lemma 1 and Theorem 50, we get that Corollary 51.Maximum Weighted Independent Set in graphs with average degree at most x can be solved in O * (1.1443 (0.624x−0.872)n ) time and polynomial space.
Let x = 3 in Lemma 1, we get that p ≤ n and the following result.
Theorem 52.Maximum Weighted Independent Set in graphs with the average degree at most three can be solved in O * (1.1443 n ) time and polynomial space.

Figure 1 :
Figure 1: An independent S of G, where vertices u and u ′ are children of S, vertex u is an extending child and v is a satellite of S

Figure 2 :Figure 3 :Lemma 3 .
Figure 2: (a) the graph G, where vertex v is dominated by vertex u, and v is removable; (b) the graph G ′ that is obtained from G by deleting the removable vertex v

Figure 4 :
Figure 4: (a) the graph G, where vertex v has a clique neighborhood and the weight of v is less than the weight of any neighbor of it; (b) the graph G ′ after deleting v from G and updating the weight w(u) := w(u) − w(v) for all u ∈ N G (v)

Figure 5 : 1 v 2 v 3 v 4 v 1 v 4 Figure 6 :
Figure 5: (a) the graph G having a degree-2 vertex v with two neighbors u 1 and u 2 ; (b) the graph G ′ after deleting {v, u 1 , u 2 } and introducing the new vertex v ′

Figure 7 :
Figure 7: (a) the graph G, where v 2 and v 3 are two adjacent degree-2 vertices in a 4-cycle v 1 v 2 v 3 v 4 ; (b) the graph G ′ after deleting v 2 and v 3 from G

Figure 8 :
Figure 8: (a) the graph G with three adjacent degree-2 vertices v 2 , v 3 and v 4 in a 4-path; (b) the graph G ′ after deleting v 2 and v 4 and adding edges v 2 v 3 and v 3 v 4

Figure 9 :
Figure 9: (a) the graph G containing a 5-cycle v 1 v 2 v 3 v 4 v 5 with three degree-2 vertices v 2 , v 3 and v 5 ; (b) the graph G ′ after applying (1) in R9 on G; (c) the graph G ′ after applying (2) in R9 on G

Fig. 10 gives
Fig. 10 gives an illustration of R10.The correctness of this reduction rule is based on the following lemma.Lemma 8. Let G ′ be the graph obtained from G by applying R10, then α(G) = α(G ′ ).

Lemma 10 .
update the weight of u by letting w(u) := w(u) + α(G * − N [u]) − α(G * ), and add α(G * ) to M c .Vertex-Cuts of Size Two.For vertex-cuts of size two, we have a similar result.However, it will become much more complicated.Let {u, u ′ } be a vertex-cut of size two in G and G * be a connected component in G − {u, u ′ }, where we assume w.l.o.g. that α(G * − N [u]) ≥ α(G * − N [u ′ ]).We construct a new graph G ′ from G as follows: remove G * ; add three new vertices {v 1 , v 2 , v 3 } with weight w

Figure 12 :
Figure 12: (a) the graph G with a vertex-cut {u, u ′ } of size two; (b) the graph G ′ constructed from G by removing G * and introducing three new vertices {v 1 , v 2 , v 3 } for an illustration of the construction of G ′ in Lemma 10.Based on Lemma 10, we have the following branching rule.Reduction Rule 12 (R12).For a vertex-cut {u, u ′ } of size two with a connected component G * in G − {u, u ′ } such that 2δ 3 + δ 2 ≤ v∈G * δ d G (v) ≤ 10, we construct the graph G ′ in Lemma 10, replace G with G ′ , and add α(G * − N [{u, u ′ }]) to M c .

Proof. By Inequality ( 6 )
, we know that this lemma holds for k − e S ≤ 0. Next, we consider the cases where k − e S ≥ 1.Let R ′ = S ∪ R S \ S ′ .If k − e S = 1, then by Lemma 34, we know that there is a component H ∈ C(G[R ′ ]) containing at least one vertex of degree ≥ 3.If k − e S = 2, then R ′ is nonempty and contains at least one vertex of degree ≥ 2. If k − e S = 3, then R ′ contains at least one vertex of degree ≥ 3 similar to the case of k − e S = 1.If k − e S > 3, then R ′ contains at least one vertex of degree ≥ 3 or at least two vertices of degree 2. So, by Inequality (6), this lemma holds.

Lemma 49 . 3 = 2δ 3 3 = 6δ 3 +δ 2 . 3 =
Step 12 followed by applications of reduction rules creates a branching vector covered by [4δ 3 + 6δ 2 , 4δ 3 + 6δ 2 ] = [6.256,6.256].Proof.Let {u 1 , u 2 , u 3 } be the three degree-3 chain-neighbors of v.By Lemma 28 we know that the three degree-3 vertices are different.In the first branch S = {v} and in the second branchS = S v ⊇ N [v].Recall that we use R S to denote the set of deleted vertices during applying R1 to R4 on G − S and let G −S = G − (S ∪ R S ).In each branch, all vertices in N [v] will be deleted in G −S .If at least one vertex in {u 1 , u 2 , u 3 }, say u 1 is deleted in G −S , then we apply Corollary 36 by letting S ′ being the vertex setN [v] ∪ N [u 1 ]together with all degree-2 vertices in the chain between v and u.Then S ′ contains at least two degree-3 vertices and five degree-2 vertices, and k = 4.The measure p decreases by at least u∈S ′ δ d(u) +4δ <−1> +5δ 2 +4δ <−1> If all the three vertices in {u 1 , u 2 , u 3 } are left in G −S , then all of them will become degree-2 vertices in G −S .For this case, we apply Corollary 36 by letting S ′ = N [v] and k = 3.The measure p decreases by at least u∈S ′ δ d(u) + 3δ <−1> 4δ 3 .