An FPT algorithm for Tree Deletion Set

We give a 5 k n O (1) time ﬁxed-parameter algorithm for determining whether a given undirected graph on n vertices has a subset of at most k vertices whose deletion results in a tree. Such a subset is a restricted form of a feedback vertex set. While parameterized complexity of feedback vertex set problem and several of its variations have been well studied, to the best of our knowledge, this is the ﬁrst ﬁxed-parameter algorithm for this version of feedback vertex set


Introduction
The goal of parameterized complexity is to find ways of solving NP-hard problems more efficiently than brute force: our aim is to restrict the combinatorial explosion to a parameter that is hopefully much smaller than the input size.Formally, a parameterization of a problem is assigning an integer k to each input instance and we say that a parameterized problem is fixed-parameter tractable (FPT) if there is an algorithm that solves the problem in f (k) • n O (1) time, where n is the size of the input and f is an arbitrary computable function depending on the parameter k only.There is a long list of NP-hard problems that are FPT under various parameterizations: finding a vertex cover of size k, finding a cycle of length k, finding a maximum independent set in a graph of treewidth at most k, etc.For more background, the reader is referred to the monographs [6,7,20].
One of the most well studied directions in parameterized complexity is to "delete vertices of the input graph such that the resulting graph satisfies some interesting properties".More precisely, a natural optimization problem associated with a graph class G is the following: given a graph G, what is the minimum number of vertices to be deleted from G to obtain a graph in G? For example, when G is the class of empty graphs, forests or bipartite graphs, the corresponding problems are Vertex Cover, Feedback Vertex Set and Odd Cycle Transversal, respectively.In the parameterized setting, a natural parameter for vertex-deletion problems is the solution size, that is, the number of vertices to be deleted so that the resulting graph belongs to the given graph class.This line of research has been at the forefront of research in parameterized complexity and various new results have been obtained in the last few years.For examples, an improved algorithm for Odd Cycle Transversal [14,19], meta theorems for class of deletion problems [9,13], Proper Interval Vertex Deletion [23], Directed/Undirected Subset Feedback Vertex Set [4,5].
In this paper we consider the following variant of the classical Feedback Vertex Set problem in the realm of parameterized complexity: Weighted Tree Deletion Set (WTDS) Input: An undirected graph G = (V, E), a weight function w : V → N + on vertices, and an integer k ∈ N. Parameter: k Question: Is there a set S ⊆ V of total weight v∈S w(v) at most k, such that G[V \ S] is a tree?
If w(v) = 1 for every v ∈ V , then we speak simply about Tree Deletion Set (TDS).We also refer the subset S as a tree deletion set.
TDS is a special case of WTDS, but on the other hand, if k = n O (1) , where n = |V |, then WTDS is polynomial time reducible to TDS, by adding to each vertex v of the graph min{k, w(v) − 1} pendant vertices.Clearly the resulting unweighted graph has a TDS of size at most k if and only if the original graph has a WTDS of weight at most k.This is because if an original vertex is in the tree deletion set, then all the pendant vertices adjacent to it must also be in that set.
If we simply want to find a subset S of vertices such that G[V \ S] is a forest, then S is a feedback vertex set.Finding a (size at most k or minimum) feedback vertex set is a well known NP-complete problem and has been well studied in the paradigms of parameterized complexity [2,3,22], approximation [1] and exact algorithms [8].As a tree deletion set is also a feedback vertex set, it is clear that the size of the minimum tree deletion set is at least the size of the minimum feedback vertex set.However the minimum tree deletion set can be arbitrarily large compared to the size of the minimum feedback vertex set.Consider a graph which simply has a cycle on three vertices, with each vertex attached to a large number of pendant vertices.Any of the vertices of the cycle forms a feedback vertex set (of size 1), but the minimum tree deletion set must contain all the pendant vertices attached to that vertex.Furthermore, standard preprocessing rules like deleting degree one vertices and 'short circuiting' degree two vertices no longer work for tree deletion sets.We would like to point out that Tree Deletion Set has been considered before in the realm of approximation algorithm and has been shown to be hard to approximate within O(n 1− ) for any > 0 unless P=NP [24].This is in sharp contrast to the fact that Feedback Vertex Set has a factor 2-approximation algorithm [1].
Variations of Feedback Vertex Set, Dominating Set, and Vertex Cover when the solution S is required to induce an independent set or a connected graph have also been well studied [15,16,17,18].To the best of our knowledge, this is the first paper that studies the variation of a problem where the demand of connectivity is on G[V \ S] rather than the solution.That is, in our problem we want G[V \ S] to induce a connected graph (i.e., it is a tree).
We first present a simple proof of the NP-completeness of the problem, and then show that it is fixed-parameter tractable when parameterized by k, the solution size by giving an O * (5 k ) time 1 fixed-parameter tractable algorithm.This is in contrast to, and comes reasonably close to the O * (3.83 k ) bound known for the general feedback vertex set problem [2].
The next section provides a simple proof of the problem being NP-complete.Section 3 is the main section that gives the fixed-parameter algorithm for the problem.Finally in Section 4, we conclude with open problems.

NP-completeness
It follows from the general results of Yannakakis [24], that Tree Deletion Set is NP-complete.As Yannakakis's result is general, the proof is a bit involved.To make the paper self-contained, we present a short and simple proof of the NP-completeness.
Proposition 1 Tree Deletion Set is NP-complete.

O * notation ignores polynomial factors
Proof: The problem is obviously in NP.For the hardness we reduce Vertex Cover (VC), which is well known to be NP-complete [11].An instance of VC consists of a graph G and a positive integer k and the question is whether there is a set S of at most k vertices (vertex cover ) such that G \ S contains no edges.Given an instance (G, k) of VC we obtain an equivalent instance (G , k) of TDS as follows.G is obtained from G by introducing a new universal vertex u (i.e.u is adjacent to all vertices of G) and attaching k + 1 new pendant vertices to it.Now if S is a vertex cover in G, then G \ S is a star.On the other hand, if S is a tree deletion set of size at most k in G , then u / ∈ S, as otherwise there would be at least two of the newly added pendant vertices left in G \ S and they would become disconnected.But then, as u is adjacent to all vertices of G, there must be no edge in G \ S in order for G \ S to be a tree, which implies that S is a vertex cover for G.

FPT Algorithm
The main result of this section is the following: The rest of this section is devoted to the proof of this theorem.

Reduction Rules
We begin with some reduction rules which simplify the input instance.These rules modify the graph G, the weight function w, and the parameter k.For the purpose of the analysis, we denote the original value of the parameter k given on input by k 0 .We say that a reduction rule is safe if the instance obtained by application of the rule is a yes-instance if and only if the original instance was.
The following two rules formalize obvious constraints to the solvability of the instance.
Reduction Rule 1 If k < 0, then answer NO.
Reduction Rule 2 Let N be the set of vertices which have weight more than k.
If G[N ] contains a cycle, then answer NO.
Lemma 1 Reduction Rule 2 is safe.
Proof: As no vertex of weight more than k can be included in any set of total weight at most k, no set of total weight at most k forms a tree deletion set.
While the structure of the vertices of weight more than k is fixed, the following rule helps to simplify the neighborhood of such vertices.
Reduction Rule 3 Let N be the set of vertices which have weight more than k.If there is a vertex v in V (G)\N which has two neighbors in the same connected component of G[N ] then delete v and decrease k by w(v).
Lemma 2 Reduction Rule 3 is safe.
Proof: The vertex v must be included in any tree deletion set of total weight at most k, as otherwise it would form a cycle together with the vertices in a connected component of N .
The following rule helps us to deal with isolated vertices and the case when the graph is disconnected.
Reduction Rule 4 If the input graph is disconnected, then delete all vertices in connected components of weight less than v∈V w(v) − k and decrease k by the weight of the deleted vertices.
Lemma 3 Reduction Rule 4 is safe.
Proof: If the vertices of some connected component of total weight less than v∈V w(v) − k were not taken into the constructed tree deletion set, then all vertices outside the connected component have to be taken, as the resulting graph must have only one component.But this would mean that the constructed tree deletion set would contain vertices of total weight more than

Remark 1 If
v∈V w(v) > 2k or there is a vertex of weight more than k, then after the application of Reduction Rule 4 the graph has at most one connected component.
The following rule deals with vertices of degree 1 in the graph.
Reduction Rule 5 If v is of degree 1 and u is its only neighbor, then delete v and set w(u) = w(u) + w(v).
Lemma 4 Reduction Rule 5 is safe.
Proof: Let G, w, k be the instance before the application of the rule and G , w , k the instance after the application of the rule.Let us first assume, that S is a tree deletion set in G with w(S) ≤ k.If S does not contain u, then S \ {v} is also a tree deletion set for G of lower total weight and it is also a tree deletion set in G of the same weight.If S contains u, but not v, then v is the only vertex not in S, S \ {u} is also a tree deletion set for G of lower total weight and it is also a tree deletion set in G of the same weight.Finally, if S contains both u and v, then S \ {v} is a tree deletion set in G of the same weight.
Assume now that S is a tree deletion set in G .If S does not contain u, then S is also a tree deletion set in G of the same weight.If S contains u, then S ∪ {v} is a tree deletion set in G of the same weight.Now we deal with degree two vertices.In the case of (unweighted) feedback vertex set, a degree two vertex can be removed by making its neighbors adjacent (even if they were adjacent before) without affecting the size of the feedback vertex set.For the weighted case, it is sufficient to keep only the minimum weight vertex among the degree two vertices in a long path.However, for tree deletion sets, the degree two vertices may help in making the resulting graph a tree, and so we need a slightly different reduction rule.
We observe that if there is a long path with several degree two intermediate vertices, it is sufficient to keep only two of them distributing the total weight among the two with one of them having the minimum weight.This is because, if both end points of the long path are in the tree deletion set, then all the intermediate vertices or none of them will be in the tree deletion set.If only one of the end points is in the tree deletion set, then none of the intermediate vertices can be in the minimum weight tree deletion set.If neither of the end points is in the tree deletion set, then either the minimum weight intermediate vertex or none of them is in the tree deletion set.
We make the reduction rule and the arguments formal in the following discussion.In effect, the following rule reduces the number of degree two vertices by shortening long paths.
Reduction Rule 6 If v 0 , v 1 , . . ., v l , v l+1 is a path in the input graph, such that l ≥ 3 and deg(v i ) = 2 for every i ∈ {1, . . ., l}, then (a) replace the vertices v 1 , . . ., v l by two vertices u 1 and u 2 with edges {v 0 , u 1 }, {u 1 , u 2 }, and Proof: Let G, w, k be the instance before the application of the rule and G , w , k the instance after the application of the rule.Let us first assume, that S is a tree deletion set in G with w(S) ≤ k.We show that there is a tree deletion set S for G with w (S ) ≤ w(S).We distinguish three cases.
• S contains both v 0 and v l+1 .Note that this can only happen when only the reduction (a) was applied.In this case v 1 is disconnected from G \ {v 0 , . . ., v l+1 } and, therefore, either {v 1 , . . ., v l } ⊆ S or (V (G)\{v 1 , . . ., v l }) ⊆ S. In the former case S = (S \{v 1 , . . ., v l })∪{u 1 , u 2 } is a tree deletion set for G with w (S ) = w(S) while in the latter case, for S = S \ {v 1 , . . ., v l } we have G \ S is a path, G \ S is a path, and w (S ) = w(S ) ≤ w(S).
• S contains exactly one of v 0 and v l+1 .As the situation is symmetric, we can assume that v l+1 is in is also a tree.Attaching at a node of this tree a path, we obtain again a tree.Hence, S = S \ {v 1 , . . ., v l } is also a tree deletion set in G.
}), it follows that S is also a tree deletion set in G with w (S ) = w(S ) ≤ w(S).This is true both in case (a) and (b).
Now assume that S is a tree deletion set in G .We show that there is a tree deletion set S for G with w(S) ≤ w (S ).We again distinguish three cases.
• S contains both v 0 and v l+1 .Note that this can only happen when only the reduction (a) was applied.In this case u 1 is disconnected from G \ {v 0 , u 1 , u 2 , v l+1 } and, therefore, either {u 1 , u 2 } ⊆ S or (V (G )\{u 1 , u 2 }) ⊆ S .In the former case S = (S \ {u 1 , u 2 }) ∪ {v 1 , . . ., v l }) is a tree deletion set for G with w(S) = w (S ) while in the latter case, for S = S \ {u 1 , u 2 } we have G \ S is a path, G \ S is a path, and w(S) = w (S) ≤ w (S ).
• S contains exactly one of v 0 and v l+1 .In case only (a) was applied, we know that ) is also a tree.Attaching at a node of this tree a path, we obtain again a tree.Hence, follows that S is also a tree deletion set in G with w(S) = w (S) ≤ w (S ).The case (b) follows along the same lines, just replacing {u 1 , u 2 } with {u 1 }.
• S contains none of v 0 and v l+1 .If S ∩ {u 1 , u 2 } = ∅, then S is also a tree deletion set in G. Otherwise, {u 1 , u 2 } \ S forms at most a vertex pending to a node in the tree G \ S .We first show that S = (S \ {u 2 }) ∪ {u 1 } is also a tree deletion set for G .This is true, as in G \ S the vertex ) by attaching two pending paths v 1 , . . ., v r−1 and v r+1 , . . ., v l .Thus S is a tree deletion set in G.If (b) was applied, then S = S , otherwise we have l ≥ 3, hence w (u 2 ) > w (u 1 ), and w (S ) ≤ w (S ).Finally, w(S) = w (S ) ≤ w (S ).

Branching Steps
Our FPT algorithm is based on a branching strategy similar to the one applied in [16].First we use the algorithm of Cao et al. [2] to determine whether G has a feedback vertex set of size at most k in O * (3.83 k ) time.As a tree deletion set of weight at most k is also a feedback vertex set of size at most k, if the algorithm answers NO, we can also answer NO.Otherwise let F be the feedback vertex set for G found by the algorithm.
Our algorithm now branches into several cases and it returns YES if and only if at least one of the branches answers YES.In a search for a tree deletion set X we first guess its intersection Y with the known feedback vertex set F .This means that we branch into 2 |F | branches, each corresponding to one subset Y ⊆ F and limit our search to the tree deletion sets X with X ∩ F = Y .
As the vertices of Y are included in the tree deletion set constructed, we remove them and decrease k by v∈Y w(v).As the tree deletion set we seek does not intersect N = F \ Y , we assign the vertices of N weight k + 1.We also know that G \ (Y ∪ N ) is a forest, as F = (Y ∪ N ).Now we are ready to describe the branching part of the algorithm.It modifies G, w, k and N .At the beginning and after each branching step, we apply Reduction Rules 1 to 5 and we only apply Reduction Rule 6 if none of {v 1 , . . ., v l } is in N .We always assume that the graph is reduced with respect to these reduction rules.
Let H = V \ N .Our branching step picks a vertex v from H, and branches by picking v into the tree deletion set or by not picking it (and hence adding it to N ) and recursively solving the resulting problem.When we pick v into the solution, k drops by w(v), which is at least one.The key observation in [3] for undirected feedback vertex set was that if v is adjacent to two connected components of N , then when v is added to N , the number of connected components of N decreases by at least one resulting in some progress.However, for the undirected feedback vertex set, it was always possible to choose such a vertex (adjacent to two connected components of N ) as the minimum degree of the graph was three, and V \ N induces a forest.For tree deletion set though, we are not guaranteed to have vertices with at least two neighbors in N all the time.
Let us call a vertex useful if it is in H, have exactly two neighbors in G and both these neighbors are in N .Our strategy is to show that if a vertex, while branching, doesn't decrease k or the number of connected components in N , it increases the count of useful vertices resulting in some progress.Increase in the the number of useful vertices constitute progress as, we argue that, if every vertex in H becomes useful, then we can solve the problem in polynomial time.
To bound the depth of the recursion, we use the measure µ = k + c − u where k is the budget -the weight of the vertices we can still add to the tree deletion set being constructed.Initially, we have u is the number of useful vertices in H.
As c ≤ k, we have µ ≤ 2k.We argue that each (two way) branching rule decreases this measure, and that the reduction rules do not increase the measure.Note also that none of the rules introduces a cycle to G[H] and therefore G[H] is still a forest.
Proof: None of the rules increases k and none of the reduction rules increases c, the number of connected components of N .While Reduction rules 3 and 4 delete some useful vertices, in such cases, k is decreased by the weight of the deleted vertices and therefore by at least the number of deleted useful vertices.
After applying the reduction rules, we distinguish three cases.If µ is not positive, we return NO, which is justified by the lemma below.
Lemma 7 If the measure µ becomes non positive, then there is no tree deletion set for the current branch.
Proof: Suppose that there is a tree deletion set X of total weight at most k for the graph G at a branch with measure µ = k + c − u.Let U be the set of useful vertices in X and U the set of useful vertices not in X. Contract each connected component of G[N ] to a single vertex and denote the resulting graph G. Let us denote the set of vertices created by contraction of the components of G[N ] by Ñ .The contraction does not create parallel edges, because G is reduced with respect to Reduction Rule 3.Moreover, since G \ X is a tree, we know that G \ X is also a tree, since contracting edges of a tree cannot make it disconnected or create a cycle.Hence, If µ ≥ 1, and if there is a vertex v in H which satisfies at least one of the following conditions, then we branch on this vertex v.
(i) it has total degree at least three in G and at least two neighbors in N ; (ii) it has a neighbor in N and a neighbor which is a leaf in G[H]; or (iii) it has at least two neighbors in H, which are both leaves in G[H]; More precisely, for such a vertex v we consider two cases: • v is a part of the tree deletion set constructed -then we delete v from the graph and decrease k by w(v); • v is not in the sought tree deletion set-then we set the weight of v to k + 1 and add v to N .
In both cases the procedure is called recursively on the modified G, w, k, N and the procedure returns YES if in at least one of the branches the recursive call returns YES.If there are several vertices satisfying the conditions, then we select a vertex which satisfies condition (i) if such a vertex is available.We only select other vertices if there is no vertex satisfying the condition (i).
In this 'two way branch' we show that in each such recursive call, the value of µ is at least one less than that in the current call.
Lemma 8 If the vertex we branch on satisfies at least one of the conditions (i) to (iii), then the measure decreases by at least one in each branch.
Proof: Let us first consider the case that we delete the vertex we branch on.Since it is not in N , deleting it cannot increase the number of connected components in G[N ].Moreover, since the vertex has degree at least three in case (i) and neighbors in H in cases (ii) and (iii), it is not a useful vertex and therefore the number of useful vertices remains the same.Since k is decreased by the weight of the vertex deleted, the measure drops by at least one.
Consider now the case that we add the vertex v to N and suppose it satisfies condition (i).Then v has at least two neighbors in N and since the graph is reduced with respect to Reduction Rule 3, these neighbors are in different connected components of G[N ].Therefore c is decreased, k remains the same and u is not decreased, which means that the measure drops.
If v satisfies condition (ii), then adding v to N does not increase the number of components in G[N ] as v already has a neighbor in N .On the other hand, a neighbor u of v in H is a leaf in G[H].Since u does not satisfy condition (i), and the graph is reduced with respect to Reduction Rule 5, u has exactly one other neighbor, which is in N .Hence, u becomes useful and the measure is decreased as k remains the same.
Finally, if v satisfies condition (iii), then adding v to N may increase the number of components in G[N ] by one.However, both neighbors of v, which are leaves in G[H] and do not satisfy condition (i), become useful.Therefore the measure decreases also in this case.
Finally, if µ ≥ 1, but there is no vertex in H satisfying the conditions, then either N is empty or every vertex in H is useful as we argue below.
Lemma 9 If no vertex satisfies any of the conditions (i) to (iii) and N is nonempty, then every vertex in H is useful.
Proof: We show that if three is a vertex v ∈ H which is not useful, then there is a vertex in H which satisfies some of the conditions (i) to (iii).
If v is isolated in G[H], then v must have at least three neighbors in N , as the graph is reduced with respect to Reduction Rules 4, 5, and 3, v is not useful, and there are no isolated vertices by Remark 1 as N is nonempty.But then v satisfies condition (i).
Recall that then consider a leaf v in the same connected component of G[H], which has the maximal distance from v (see Figure 1).We know, that v has degree at least two in G, as the graph is reduced with respect to Reduction Rule 5.If v has degree at least three, then v satisfies the condition (i).Otherwise consider a neighbor u of v in H.If u has degree two in G, then the part (b) of Reduction Rule 6 applies on the path formed by v, u and their neighbors.Hence, the vertex u has degree at least three in G.If u has a neighbor in N , then u satisfies the condition (ii).
If u has degree three in G[H], then consider a neighbor w of u which is not on the unique path between v and v in G[H] (see Figure 1).If w is a leaf in G[H] then u satisfies condition (iii).If w is not a leaf in G[H] then any leaf in the subtree of G[H] rooted in w which does not contain u has greater distance from v than v, which contradicts the way we selected v.
If all vertices in H are useful vertices, we proceed as follows.Note that the graph is formed by the vertices in N and useful vertices adjacent to them.We contract each connected component of G[N ] to a single vertex.Let us again call the set of vertices created this way Ñ .Recall that there is no cycle in G[N ] as the graph is reduced with respect to Reduction Rule 2. As we only search for a tree deletion set X among vertices in H, it is easy to verify that X ⊆ H is a tree deletion set in the graph after contraction if and only if it was a tree deletion set in the original graph.Note that the contraction does not create parallel edges, because the graph is reduced with respect to Reduction Rule 3 and, hence, there is no vertex in H with both its neighbors in the same connected component of G[N ].Now if there are two vertices in H with the same neighbors in Ñ , then we delete the one with the lower weight and decrease k by its weight.Clearly at least one of them must be in the constructed tree deletion set and if only one of them is in the tree deletion set, then we can assume it is the one with lower weight.Next we construct an auxiliary graph G with vertex set Ñ and a weighted edge between a pair of vertices if there is a vertex v in H with this pair of vertices as its neighbors in G.The weight of the edge equals the weight of v.It is easy to see, that a minimum tree deletion set in G corresponds to the edge complement of a maximum spanning tree in G and vice versa.More precisely if T = ( Ñ , E ) is a spanning tree, then the set X of vertices v of H such that the edge corresponding to N (v) in G is not in E is a tree deletion set for G. Similarly, if X ⊆ H is a tree deletion set in G, then T = ( Ñ , S), where S = {N (v) | v ∈ H \ X} is a spanning tree of G.The weight of S is always v∈H\X w(v) Hence, we use the standard algorithm [10] to find a maximum spanning tree T = ( Ñ , S) of G, and answer YES if and only if ( v∈H w(v)) − w (S) is at most k, where w (S) denotes the weight of the tree T .
If N is empty, then the graph consists of isolated vertices, since G[H] is a forest and the graph is reduced with respect to Reduction Rule 5. Therefore it is enough to delete all vertices but the one with the largest weight and answer YES if and only if the weight of the deleted vertices is at most k.This finishes the description of the algorithm.
The correctness of the algorithm has been already argued within its description, here we argue about the running time of the algorithm.First note that an application of any of the reduction rules can be recognized as well as applied in linear time.Since the Reduction Rules 1 and 2 only apply once, and the Reduction Rules 3-6 reduce the number of vertices, the rules can be exhaustively applied in O(nm) time.To check the value of the measure and to find a vertex to branch on takes a linear time.

Conclusions and Open Problems
We have shown that the Weighted Tree Deletion Set problem is fixedparameter tractable.Improving the running time of our algorithm is a natural open problem.Another direction, which has attracted a lot of attention in parameterized complexity recently, is to study the kernelization complexity of the problem.Our fixed-parameter algorithm immediately implies an exponential kernel for the problem, but the natural open question is whether the problem has a polynomial size kernel.That is, is there a polynomial time algorithm that reduces the given input (G, k) to an equivalent graph with the number of vertices bounded by a polynomial in k?While the related feedback vertex set problem has an O(k2 ) sized kernel [22], we conjecture that the Tree Deletion Set problem does not admit a polynomial sized kernel under standard complexity theoretic assumptions 2 .
then apply (a) and then (b) delete u 2 and connect u 1 directly to v l+1 .Lemma 5 Reduction Rule 6 is safe.
is a forest.Therefore, G has at most | Ñ |+|U |−1 edges.On the other hand, each vertex in U has exactly two neighbors in Ñ and therefore G has 2|U | edges.It follows that |U | ≤ | Ñ |−1.As the number c of components in N equals | Ñ |, u = |U | + |U |, and |U | ≤ k (as U is a subset of the at most k deleted vertices), we have µ

Figure 1 :
Figure 1: Complicated case in the proof of Lemma 9.
Finally, one can contract the connected components in G[N ] in O(mn) time and find the maximum spanning tree in G in O(m) time.Hence the time spent in each node of the search tree is O(mn).It remains to count the number of nodes in the search tree.We first branch into at most 2 |F | branches, each corresponding to one subset Y of the feedback vertex set F .Then we keep branching into two branches, each time reducing the measure µ by at least one.Since at the beginning we have µ = k + c − u ≤ 2k 0 − 2|Y |, this part of the search tree has at most 2 • 2 2k0−2|Y | nodes.Summing this according to y = |Y |, we have that the total number of nodes in the search tree is at most k0 y=0 k0 y 2 • 2 2k0−2y = 2 • (1 + 4) k0 = 2 • 5 k0 .Recall that the first step in our algorithm is to determine whether G has a feedback vertex set of size at most k.This step is done in O * (3.83 k ) time using the algorithm of Cao et al. [2].Therefore the whole algorithm runs in O * (5 k ) time.This completes the proof.