Constant Factor Approximation for Tracking Paths and Fault Tolerant Feedback Vertex Set

Consider a vertex-weighted graph $G$ with a source $s$ and a target $t$. Tracking Paths requires finding a minimum weight set of vertices (trackers) such that the sequence of trackers in each path from $s$ to $t$ is unique. In this work, we derive a factor $6$-approximation algorithm for Tracking Paths in weighted graphs and a factor $4$-approximation algorithm if the input is unweighted. This is the first constant factor approximation for this problem. While doing so, we also study approximation of the closely related $r$-Fault Tolerant Feedback Vertex Set problem. There, for a fixed integer $r$ and a given vertex-weighted graph $G$, the task is to find a minimum weight set of vertices intersecting every cycle of $G$ in at least $r+1$ vertices. We give a factor $\mathcal{O}(r)$ approximation algorithm for $r$-Fault Tolerant Feedback Vertex Set if $r$ is a constant.


Introduction
In this paper, we study the Tracking Paths problem, which involves finding a minimum weight set of vertices in a vertex-weighted simple graph G that can track moving objects in a network along the way from a source s to a target t. A set of vertices T is a tracking set if for any (simple) s-t path P in G the sequence − → T P of the subset of vertices from T that appear in P , in their order along P , uniquely identifies the path P . That is, if −→ T P1 = −→ T P2 holds for any two distinct s-t paths P 1 and P 2 . Formally, the problem is the following.

Tracking Paths
Input: Undirected graph G with positive integer weights w : V (G) → N, a source s, and a target t. Output: A minimum weight tracking set T ⊆ V (G).
Motivation for Tracking Paths. The problem is motivated by the nature of information exchange in complex settings. In the current age of information, social media networks have an important role in information exchange and dissemination. However, due to the unregulated nature of this exchange, spreading of rumours and fake news pose serious challenges in terms of authenticity of information [10,33]. Identifying and studying patterns of rumor spreading in social media poses a lot of challenges due to huge amounts of data in constant movement in large networks [37]. Tracing the sequence of channels (people, agents, . . . ) through which rumors spread can make it easier to contain the spread of such unwanted messages [28,38]. A basic approach would require tracing the complete route traversed by each message in the network. Here, an optimum tracking set can serve as a resource-efficient solution for tracing the spread of rumors and dissolving them. Furthermore, Tracking Paths finds applications in tracking traffic movement in transport networks and tracing object movement in wireless sensor networks [1,31].
Known results. The graph theoretic version of the problem was introduced by Banik et al. [6], wherein the authors studied the unweighted (i.e., w(v) = 1 for all v ∈ V (G)) shortest path variant of the problem, namely Tracking Shortest Paths (i.e., the set T is required to uniquely identify each of the shortest s-t paths). They showed that this problem is NP-hard, even to approximate it within a factor of 1.1557. They also show that Tracking Shortest Paths admits a 2-approximation algorithm for planar graphs. Later, the parameterized complexity of Tracking Paths was studied in [4], where the problem was also proven to be NP-hard.
To the best of our knowledge, Eppstein et al. [17] were the first to study approximation algorithms for the unweighted Tracking Paths. They gave a 4-approximation algorithm when the input graph is planar. Recently, this result was extended by Goodrich et al. [20] to a (1 + ε)-approximation algorithm for H-minor free graphs and an O(log OPT)-approximation algorithm for general (unweighted) graphs [20]. They also gave an O(log n)-approximation algorithm for Tracking Paths. The existence of constant factor application algorithm was posed as an open problem by Eppstein et al. [17]. In this paper, we answer this affirmatively. Theorem 1. There is a 6-approximation algorithm for Tracking Paths in weighted graphs and a 4-approximation algorithm if the input is unweighted.
There exists an interesting connection between Feedback Vertex Set (FVS) and Tracking Paths. Before we discuss this in more detail, we introduce FVS and its fault tolerant variant. Formally, for a given vertex-weighted graph G = (V, E), FVS requires finding a minimum weight set of vertices S ⊆ V , referred to as a feedback vertex set (fvs), such that the graph induced by the vertex set V \ S does not have any cycles. FVS is a classical NP-hard problem [26] that has been thoroughly studied in graph theory. An r-fault tolerant feedback vertex set (r-ftfvs) is a set of vertices that intersect with each cycle in the graph in at least r + 1 vertices; finding a minimum weight r-ftfvs is the r-Fault Tolerant Feedback Vertex Set problem [32]: Note that if a graph has a cycle of length less than or equal to r, then it cannot have an r-ftfvs.
Relation Between FVS and Tracking Paths. For a graph G with source s and destination t, if each vertex and edge participates in an s-t path, then we refer to G as a preprocessed graph. It is known that in a preprocessed graph, a tracking set is also a feedback vertex set [4]. Thus, the weight of a minimum feedback vertex set serves as a lower bound for the weight of a tracking set in preprocessed graphs. This lower bound has proven to be helpful in the analysis of Tracking Paths. However, approximating Tracking Paths has been challenging since the size of a tracking set can be arbitrarily larger than that of a minimum fvs.
Furthermore, it is known [11,17] that in a graph G, if a set of vertices T contains at least three vertices from each cycle in G, then T is a tracking set for G. Thus, a 2-fault tolerant feedback vertex set is also a tracking set. In this paper, we borrow inspiration from this concept to derive a polynomial time algorithm to compute an approximate tracking set. In particular, we start with finding an fvs for the input graph G, and then identify cycles that need more vertices as trackers additional to the ones selected as feedback vertices.
Observe that a feedback vertex set is indeed a 0-fault tolerant fvs. Misra [32] gave a 3-approximation algorithm for the problem of finding a 1-fault tolerant fvs in unweighted graphs and 34-approximation algorithm for weighted graphs. In this paper, we give an approximation algorithm for finding an r-fault tolerant feedback vertex set, where r is a constant. We do this by using the Multicut in Forests problem (see Section 2) as an auxiliary problem. Misra [32] pointed out that the complexity of r-Fault Tolerant Feedback Vertex Set is not known for r ≥ 2 and asked for an approximation algorithm. Theorem 2. There is a 2r + 2-approximation algorithm for r-Fault Tolerant Feedback Vertex Set in weighted graphs, and a r + 2-approximation algorithm if the input is unweighted, where r is a constant.
It is worth mentioning that our approach relies on the explicit enumeration of certain cycles in the input graph G. This can be done in polynomial time if r is a constant (see Observation 2). Thus, it remains open how to approximate the r-Fault Tolerant Feedback Vertex Set if r depends on the size of the input.
Motivation for (Fault Tolerant) FVS. The FVS problem is motivated by applications in deadlock recovery [18,35], Bayesian inference [7], VLSI design [24], and other areas. Fault tolerant solutions are crucial to real world applications that are prone to failure of nodes in a network or entities in a system [34]. In the case of FVS, the failure corresponds to not being able to eliminate the node from the network.
Related work. There has been a lot of heuristic-based work on the problem of tracking moving objects in a network [30,36,39]. Parameterized complexity of Tracking Shortest Paths and Tracking Paths was studied in [4,5,8,12,13,17]. Feedback Vertex Set is known to admit a 2-approximation algorithm which is tight under UGC [3,14]. The best known parameterized algorithm for FVS runs in 2.7 k ·n O(1) time, where k is the size of the solution [29]. It is worth noting that Misra [32] uses Multicut in Forests as a subroutine as well. The edge version is known to admit an LP formulation whose matrix is totally unimodular [19] if the family of paths is non-crossing; thus, it is solvable in polynomial time. A related problem is the d-Hurdle Multiway Cut for which a factor 2-approximation algorithm is known (and it is again tight under UGC) [15].
Preliminaries and Notations. We refer to [16] for the standard graph theory terminology. All paths that we consider in this work are simple paths. For a graph G, we use V (G) to denote its vertex set. For a set S ⊆ V (G) we use G\S to denote a graph that results from the deletion of the vertex set S and the edges incident to S. For a weight function w : V (G) → N, let w(S) for S ⊆ V (G) denote the sum of respective elements, i.e., v∈S w(v). An unweighted version of the problem is obtained by assigning all vertices the same weight. In fact, we can also omit the weights in this case. We write vectors in boldface and their entries in normal font, i.e., x 3 is the third entry of a vector x. If we apply minimum to two vectors, then it is applied entry-wise. We write 1 n for the vector of n ones; we omit the superscript if the dimension is clear from the context.

Vertex Multicut in Forests
In this section, we gather polynomial time (approximation) algorithms for solving Vertex Multicut in Forests. The algorithms are used later in the subsequent sections to derive the approximation algorithms for r-Fault Tolerant FVS and Tracking Paths.

Multicut in Forests (MCF)
Input: A forest F = (V, E), weight function w : V → N, terminal pairs (s 1 , t 1 ), . . . , (s , t ). Output: A minimum weight set of vertices S ⊆ V such that in the graph F \ S there is no path between s i and t i for i ∈ [ ].
In this work, we consider the Unrestricted version of Multicut in Forests i.e., a solution set is allowed to contain vertices from the terminal pairs. We will consider a set of paths P instead of a set of terminal pairs. It is not hard to see that these two versions are equivalent on forests: if the terminals in a pair belong to different trees, then we can discard the pair since there does not exist any path between them, otherwise there exists a unique path between each pair of terminals, which the solution S should intersect.
While MCF is NP-hard [9], the unweighted version is polynomial time solvable [9,23]. Recently Agrawal et al. [2,Lemma 5.1] showed LP relative constant factor approximability of the problem for all chordal graphs. Next we simplify their proof and adapt it to forests, improving the approximation factor from 32 to 2.
Consider the natural ILP formulation of the problem, where we introduce a binary variable x v ∈ {0, 1} for each vertex v ∈ V , describing whether the corresponding vertex should or should not be taken into a solution. At least one vertex must be taken from each path from P to construct a feasible solution. Consider the following LP relaxation of the natural ILP.
(LP MCF ) Lemma 1. For a given instance of Multicut in Forests one can find a solution S such that w(S) ≤ 2 · OPT in polynomial time, where OPT is the objective value of an optimal solution to the corresponding (LP MCF ).
Proof. Consider an optimal fractional solution x to (LP MCF ) of the MCF instance (i.e., w(x) = OPT). Let c ≥ 1 be a constant (whose value we determine later). Let Without loss of generality we can assume that G is connected as otherwise we can process one connected component at a time. Root the graph in an arbitrary vertex For r ∈ [0, 1) let us define the bin of r, denoted B r , as the set of vertices Note that a vertex is in x u proportion of all the bins, and so a vertex with x u ≥ 1 belongs to all bins. We call intervals v is a parent of u, then their intervals are aligned. See Fig. 1 for an example of ranges of bins which contain vertices and how parent-child pairs align.

Claim 1.
For every r ∈ [0, 1) we claim that B r is a solution to the MCF instance.
Proof. We show this claim by a contradiction. Assume that vertices in some B r do not constitute a solution. Then there is a path P ∈ P with endpoints s and t which was not disconnected by removal of B r . Take z as the last common vertex of paths P (ρ G , s) and P (ρ G , t). On the one hand, if v∈P (z,s) x v ≥ 1, then by aligning the intervals of vertices of P (z, s) (which is possible because each pair of consecutive vertices is in a parent-child relationship) we get an interval which spans range of size at least 1. In such case B r contains some vertex of P (z, s), a contradiction. The same argument also works for P (z, t). On the other hand, This is a contradiction with x being a solution to (LP MCF ), which proves the claim.
Proof. Choosing r from interval [0, 1) uniformly at random we get a bin B r where the probability that a vertex v ∈ V (G) belongs to B r is x v because the bins which contain v span exactly x v out of interval [0, 1). By the linearity of expectation, we have that the expected weight of elements in B r is where Ind denotes an indicator variable of an event. Hence, there exists a bin B r * with weight which proves the claim.
There exists a value r * ∈ [0, 1) such that w(B r * ) ≤ c · OPT, therefore B r * constitutes a c-approximate solution to the Multicut in Forest instance.
We compute x in polynomial time using the Ellipsoid method. Then, it is elementary to compute x v and d v for every v ∈ V (G) according to their definitions. If we consider the [0, 1) range as a continuous looped segment (by identifying 0 with 1) we see that each vertex is contained in a continuous interval of bins. Consider adding such intervals one by one to an initially empty range. The range splits into continuous bin-groups that contain the same set of vertices. Each added interval may split up to two bin-groups into two. Hence, there are at most 2 · |V (G)| bin-groups, see Fig. 1. By going through each interval endpoint, we can go through all bin-groups. We can now go through each interval endpoint (and zero) and evaluate the sum over weights of vertices in the bin-group.
By taking the smallest-weighted bin-group, we get a bin which is as good as B r * -it is a c-approximate solution to the Multicut in Forest instance, which concludes the proof of the lemma.
The following observation shows that the improvement of the approximation factor below 2 is unlikely. Observation 1. There is an approximation preserving reduction from Vertex Cover to Multicut in Forest.
Proof. Let G = (V, E) and w : V → N form an instance of weighted Vertex Cover. The desired instance of Multicut in Forest is formed by a star with V being the set of leaves. The weight of leaves is retained, while we assign some heavy weight, such as v∈V w(v), to the centre c of the star, so that it is never selected in a solution. The paths to be cut are formed by the edges in E, that is, for each edge {u, v} ∈ E we introduce the path u, c, v to P. It is easy to observe that a subset of V is solution to the formed instance of Multicut in Forest if and only if it is a vertex cover in G. As the weights are the same, the reduction preserves the inapproximability.

Chordal Graphs
It is worth mentioning that the simplifications for the special case of trees might be transfered to the case of chordal graphs. Therefore, we improve the approximation factor of Agrawal et al. [2,Lemma 5.1] for general chordal graphs from 32 to 4. We believe that this is of independent interest.
Note that in chordal graphs there might be several paths between each terminal pair, hence, we have to stick to terminal pairs. The following constitutes an analogue of Lemma 1 for chordal graphs.
Lemma 2. For a given instance of Multicut in Chordal Graphs one can find a solution S such that w(S) ≤ 4 · OPT in polynomial time, where OPT is the objective value of an optimal solution to the corresponding LP.
Proof. Consider again an optimal fractional solution x to the LP of the Multicut in Chordal Graphs instance (i.e., w(x) = OPT). Let c = 4 and x = c · x. Our aim is to show that there is an integral solution of weight w( x). To this end, we can afford to take all vertices v with x v ≥ 1 into the solution and remove them from the graph. Hence, we assume that for each vertex v remaining in the graph we have x v < 1.
Without loss of generality we assume that G is connected. Root the graph in an arbitrary vertex ρ G . For a path P in G let the length (P ) of P be defined as u∈P x u . For each v ∈ V (G) we let d v be the length of a shortest path from ρ G to v, i.e., minimum of (P ) over all paths P from ρ G to v.
With this definition of d v we define the bins exactly as in Lemma 1. Note that v ∈ B r if and only if there is an integer q such that Claim 3. For every r ∈ [0, 1) we claim that B r is a solution to the Multicut in Chordal Graphs instance.
Proof. We show this claim by a contradiction. Assume that vertices in some B r do not constitute a solution. Then, there is a pair (s, t) of terminals which were not disconnected by removal of B r , i.e., there is a path P from s to t in G \ B r . Consider a clique tree T of G. Let c ρ be an arbitrary clique containing ρ G and root T in c ρ . Let c P be a clique such that c P contains a vertex of P and all vertices of P are only contained in descendants of c P . Such a clique exists due to the properties of the clique tree. Note that for each vertex u of P , each path from ρ G to u contains a vertex of c P . See Fig. 2 for an illustration.
Let z be an arbitrary vertex from P in c P . Let q be the maximum integer such that q + r − 1 < d z − x z , i.e., q + r ≥ d z − x z and q = d z − x z − r . Suppose first that there is a vertex v on P such that d v > q + r. If this is the case for z, then we have d z − x z ≤ q + r < d z and z ∈ B r , contradicting the choice of P .
Thus suppose that v is on the part of P from z to t, the other case is symmetric.
Let v be the first such vertex on that path and u be the predecessor of v on this part of P . Then we have d u ≤ q + r and by triangle inequality Therefore, for each vertex v in P we have d v ≤ q + r and, hence, Consider a path Q s from ρ G to s of length d s . This path must contain a vertex of c P , let us denote an arbitrary such vertex s . Similarly, let t be a vertex of c P on a path Q t of length d t from ρ G to t. As s and z are both in clique c P , they are adjacent and by triangle inequality we have Similarly, the part Q t of Q t from t to t has length less than 2. As both s and t are contained in c P , they are adjacent and we can join Q s and Q t into one path Q from s to t of total length less than 4. Then we have 4 > u∈Q x u = u∈Q c · x u . Since c = 4, we get that u∈Q x u < 1 contradicting x being a feasible solution to the LP of the instance, which proves the claim.
The rest of the proof is exactly the same as in the proof of Lemma 1.

Unweighted Version
We also mention the following result of similar nature for unweighted forests, strengthening the polynomial time solvability of the problem. Proof. It is enough to show the lemma for each tree T of F separately.
Root the tree T in an arbitrary vertex r. Among all optimal solutions to the LP, consider the solution x that minimizes v∈V (T ) x v · dist(v, r).
Assume for the sake of contradiction, that x is not integral. Let u be a vertex with 0 < x u < 1 and the maximum distance from the root r. Note that, in particular, for all descendants v of u, it holds that x v ∈ {0, 1}. Let us first assume that u = r and let p be the parent of u. We define x as We claim that x is a solution to (LP MCF ). Obviously, 0 ≤ x v ≤ 1 for every v ∈ V . Let P ∈ P. If u / ∈ V (P ), then v∈V (P ) x v ≥ v∈V (P ) x v ≥ 1. If u ∈ V (P ), then either the path P is fully contained in the subtree of F rooted in u, or p ∈ V (P ). In the first case, we have v∈V (P ) Since the summands on the left hand side are integral, by the choice of u, it follows that v∈V (P ) x v ≥ 1. In the later case, if x p = 1, then v∈V (P ) x v ≥ 1 and otherwise v∈V (P ) which is a contradiction. The case u = r can be proved using a similar argument for x such that x u = 0 and The second part of the lemma follows from polynomial time algorithm for MCF [9], since any optimal solution to the instance of MCF represents an optimal solution for the corresponding (LP MCF ) by the first part of the lemma.
For the rest of the paper, we use µ to denote the best approximation ratio achievable for MCF with respect to LP relative approximation. That is, µ ≤ 2 for weighted instances and µ = 1 for unweighted instances.

Approximate r-Fault Tolerant Feedback Vertex Set
In this section, we give an algorithm for computing an approximate r-fault tolerant feedback vertex set for undirected weighted graphs, for any fixed integer r ≥ 1. Recall that an r-fault tolerant feedback vertex set is a set of vertices that contains at least r + 1 vertices from each cycle in the graph. A polynomial time algorithm for computing a constant factor approximate 1-fault tolerant feedback vertex set was given by Misra [32]. The factor can be easily observed to be 2+µ, where µ is the best possible approximation ratio for MCF. We show a different approach that for any fixed r ≥ 1 gives an (2 + rµ)-approximate solution.

Hardness of r-Fault Tolerant Feedback Vertex Set
Lemma 4. For any fixed r ≥ 0, it is NP-hard to decide whether for a given graph G and an integer k, G contains an r-fault tolerant feedback vertex set of size at most k. Proof. The case of r = 0 is equivalent to finding a feedback vertex set of size at most k, which is a well known NP-complete problem [25]. The case of r = 1 was shown by Misra [32]. We extend his approach for r ≥ 2.
We will show a reduction from Vertex Cover, which is a well known NPcomplete problem [25]. Let (G, k) be an instance of Vertex Cover and let G be a graph constructed from G in the following way. First replace every edge e = {u, v} of G by a path P e with vertices u, a 1 , a 2 , . . . , a r−1 , v. Additionally create two paths on = r/2 + 1 vertices: P b e on b 1 , b 2 , . . . , b and P c e on c 1 , c 2 , . . . , c . We add edges {a 1 , b 1 }, {a r/2 , b }, {a r/2 , c 1 }, {a r−1 , c }. Finally add a cycle X with new vertices x 1 , x 2 , . . . , x r+1 and connect x 1 to every vertex originally in V (G). Two examples for a single edge can be seen in Figure 3.1.
If G has n vertices and m edges, then this process creates r +1+m(2 +r −1) new vertices and r + 1 + n + m(2l + r + 2) new edges. As r is fixed, the total size of the construction is bounded by O(n + m), therefore is polynomial in the size of the input and clearly can be constructed in linear time.
Let k = k + r + 1 + m(2 + r − 1). We will now show that every cycle in G has size at least r + 1 and therefore the instance (G , k ) of r-Fault Tolerant Feedback Vertex Set is not a trivial NO-instance.
Let W = V (G ) \ V (G) be the set of vertices added to G. We will first consider cycles with vertices only in W . Let C be such a cycle. Either C is X or there exists e ∈ E(G) such that C contains only vertices of P e ∪ P b e ∪ P c e . The second case leads to only two possible cycles. The first cycle consists of vertices a 1 , a 2 , · · · , a r/2 , b , b −1 , b 1 , the other one consists of vertices a r/2 , a r/2 +1 , · · · , a r−1 , c , c −1 , c 1 . The first cycle has size r/2 + = r/2 + r/2 + 1 = r + 1, the other one r − r/2 + = r/2 + = r + 1.
Let us now consider all cycles containing some vertex from V (G) and excluding x 1 . Let s = |C ∩ V (G)|, then s ≥ 3 as there must exist a cycle C in G such that V (C ) ⊆ V (C). Also note that in G , the distance between any two vertices u, v such that {u, v} ∈ E(G) is exactly r. Therefore the length of C is at least s · r ≥ r + 1. Now any other cycle C containing x 1 and some vertex in V (G) must contain at least two vertices from V (G), therefore the size of C is at least r+2. Therefore every cycle in G has size at least r + 1.
We now show that G has a vertex cover of size at most k if and only if G has an r-fault tolerant feedback vertex set of size at most k . Suppose that S is a vertex cover of G of size k. Then we show that S = S ∪ W is an r-fault tolerant feedback vertex set on G . Note that |S| = k + r + 1 + m(2 + r − 1) = k .
Every cycle with vertices only in W has size exactly r + 1 and all its vertices are in S. Let us then consider all cycles which exclude vertex x 1 and contain a vertex in V (G). Let C be such a cycle. As shown above, such C must contain at least s ≥ 3 vertices from V (G) and therefore has at least s · r − s ≥ r + 1 in W . Now any other cycle contains a vertex in V (G) and x 1 . Let C be such a cycle. If C contains at least three vertices from V (G), then there are at least 2 · (r − 1) + 1 = 2r − 1 vertices in W and |V (C) ∩ S| ≥ 2r − 1 ≥ r + 1. Suppose then that C contains exactly two vertices from V (G), say u and v. Then there are at least r vertices of C in W . As there is {u, v} ∈ E(G) and S is a vertex cover of G, at least one of u and v must be in S and therefore |V (C)∩S| ≥ r+1.
Now let us show that if G has an r-fault tolerant feedback vertex set of size at most k + r + 1 + m(2 + r − 1), then there is a vertex cover of size at most k on G. Let S be an r-fault tolerant feedback vertex set of size at most k + r + 1 + m(2 + r − 1). Consider any cycle on vertices only in W . Each such cycle has size exactly r + 1 and therefore all of its vertices must be in S. Also every vertex in W is on a cycle with vertices only in W , therefore W ⊆ S. We will show that S = S \ W is a vertex cover of size at most k. It holds |W | = r + 1 + m(2 + r − 1), therefore |S | ≤ k.
Suppose that S is not a vertex cover. Then there is some edge e = {u, v} such that u, v / ∈ S . But then consider the cycle C of size r + 2 consisting of P e and x 1 . It follows that |C ∩ S| = r, which contradicts the assumption that S is r-fault tolerant.

Computation of approximate r-Fault Tolerant Feedback Vertex Set
For the rest of the section, we assume that r ≥ 1 is a fixed constant. Let G = (V, E) be the input graph. First, we assume that we have a α-approximate feedback vertex set S, for example, by the algorithm by Bafna et al. [3]. Our goal is to compute a vertex set that contains at least r + 1 vertices from each cycle in G.
To achieve that, we first create a family P of path sets which will eventually be used to select vertices which will be added to S to extend it to an r-ftfvs.
To construct P, we consider every subset X of S such that 1 ≤ |X| ≤ r. Each such subset can be a part of many different cycles, we want to consider each such cycle. To do that, we take each of its k! orderings where k = |X|, say v 1 , v 2 , . . . , v k . For each such k-tuple, we consider every possible selection of predecessors p 1 , . . . , p k and successors s 1 , . . . , s k . It must hold for every i that Similarly, if p (i mod k)+1 ∈ S then s i ∈ S for every i.
As G \ S induces a forest, for every pair s i , p (i mod k)+1 , there is at most one path between s i and p (i mod k)+1 that does not contain vertices of S. Note that such a selection induces at most one cycle. Namely, if the paths are disjoint, the selection induces a cycle C which contains v i , p i , s i , and the path from s i to p (i mod k)+1 for every i.
Now for every such selection which induces a cycle, we do the following. For every possible selection of r − k vertices from V (C) \ S, say Y , add the set of connected components induced by C \ (X ∪ Y ) to P. Note that each such connected component is a path and P is a family of sets of these paths. The following shows that the final size of P and the time required for its construction is polynomial in n.
Observation 2. Construction of P can be done in n O(r) time.
Proof. There are no more than (n + 1) r subsets of S of size k, such that 1 ≤ k ≤ r. For each such subset X of size k we take each of its k! orderings. For each such ordering v 1 , . . . , v k we fix a predecessor and a successor (taken out of the respective vertex neighborhood) of each v i . This constitutes at most n 2r different possibilities for each ordering of X. There is at most one path from the successor of v i to the predecessor of v (i mod k)+1 in (G \ S) as it is a forest. As the paths are now fixed, we just need to check whether they form a cycle by checking that the paths are vertex disjoint, which can be done in polynomial time. If they do form a cycle C, we consider every selection of r −k vertices from C, say Y is one of them. There is at most n r such selections of Y . Now we add to P the connected components of C \ (X ∪ Y ). Note that each such connected component is a path. There will be at most r such paths, each can be identified in linear time. Altogether, we have spent at most (n + 1) r r!n 3r+O(1) = n O(r) time.
Once the family P is computed, we solve the above linear program in polynomial time using the Ellipsoid method [21] (see also [22,Chapter 3]). The linear program expresses that for each X,C, and Y as above, there is "at least (LP s -tuples ) Lemma 5. Let S * be an r-fault tolerant fvs in G and let OPT x * be the optimum value of (LP s -tuples ). Then, OPT x * ≤ w(S * ).
Proof. We claim that the vector x defined for v ∈ V \ S as constitutes a solution to (LP s -tuples ). To see this, let P = {P 1 , . . . , P s } ∈ P be an s-tuple of paths, let S be the fvs used in the construction of P and let C be the cycle formed by P together with Next, based on an optimal solution x * of (LP s -tuples ), we create a set of paths P x * . For each path P ∈ {P1,...,Ps}∈P {P 1 , . . . , P s }, we include P in P x * if v∈V (P ) x * v ≥ 1 r . Through this process, we are selecting the paths from which we will include at least one vertex in our solution. Finally, we create an instance (G \ S, w| (V \S) , P x * ) of Multicut in Forests.
Consider the corresponding LP relaxation.
(LP paths ) Lemma 6. Let x * be an optimal solution of (LP s -tuples ) and let OPT x * be its objective value. Then, y = min{1, rx * } is a solution to (LP paths ). In particular, OPT y * ≤ r · OPT x * holds, where OPT y * is the value of an optimal solution to (LP paths ).
Proof. Recall that we have v∈V (P ) x * v ≥ 1 r for every path P ∈ P x * , by the definition of P x * . Thus, we have v∈V (P ) y v = v∈V (P ) min{1, r · x * v } ≥ min{1, v∈V (P ) r · x * v } ≥ 1 for all P ∈ P x * and clearly 0 ≤ y v ≤ 1 for all v ∈ V \ S. We conclude that y is a solution to (LP paths ).
We now show how to combine the α-approximate fvs with an approximate solution for Multicut in Forests to obtain an (α + rµ)-approximate r-fault tolerant fvs.
Lemma 7. Let S be an α-approximate fvs and let y be an integral solution to (LP paths ) of weight at most µ times the weight of an optimal solution. Then, S = S ∪ {v ∈ V \ S | y v = 1} is an (α + rµ)-approximate r-fault tolerant fvs.
Proof. Let S * be an optimal r-fault tolerant fvs. We know that w(S) ≤ α·w(S * ). By Lemma 5 there is a solution x to (LP s -tuples ) with v∈V \S w(v)·x v ≤ w(S * ). Thus, by Lemma 6 we have v∈V \S w(v) · y v ≤ rµ · w(S * ). In total we get We will show that S is an r-fault tolerant fvs. Indeed, if S contains at least r + 1 vertices in a cycle of the input graph, so does S . Thus, we can focus on a cycle C with Suppose for contradiction that C contains at most r vertices of S . Let Y = (S ∩ V (C)) \ X. Add arbitrary vertices of V (C) \ (X ∪ Y ) to Y so that |X∪Y | = r. During the construction of P, we found C using a certain ordering of vertices in X and with a certain selection of successors and predecessors to those vertices. Furthermore we considered Y as the selection of vertices in V (C) \ X. Therefore, we added the set of connected components P = {P 1 , P 2 , . . . , P s } of C \ (X ∪ Y ) as a set of paths to P. Now consider an optimal solution x * of (LP s -tuples ). For at least one path in P , say P i , it must hold that v∈V (Pi) x * v ≥ 1 r as otherwise v∈ s j=1 V (Pj ) x * v < 1. Therefore in the next step, we include P i in the constructed instance of Multicut in Forests. We add the vertices in the solution of this instance to S . This ensures that we add to S at least one vertex from every path selected by (LP s -tuples ). From this follows that we added some v ∈ P i to S even though v / ∈ X ∪ Y , which is a contradiction. Therefore, we have |V (C) ∩ S | ≥ r + 1.
Proof. We begin with the 2-approximation algorithm for FVS by Bafna et al. [3].
In polynomial time, we construct (LP s -tuples ) and obtain an optimal solution x * for it. Based on that, we construct P x * and (LP paths ) in polynomial time. By Lemma 1 or Lemma 3 one can in polynomial time find an integral solution to (LP paths ) of weight at most µ times the weight of an optimal solution. By Lemma 7 this solution combined with the initial fvs gives (2+rµ)-approximate rfault tolerant fvs. The algorithm works in polynomial time as it uses polynomialtime routines.

Approximate Tracking Set
In this section, we give a constant factor approximation algorithm for Tracking Paths.
Let G = (V, E) be the input graph and s and t the source and the target. We start by applying the following reduction rule on G. This can be done in polynomial time [4].
Reduction Rule 1 (Banik et al. [4]). If there exists a vertex or an edge that does not participate in any s-t path, then delete it.
We use the term preprocessed graph to denote a graph resulting from exhaustively applying 1. For the sake of simplicity, after the application of reduction rule, we continue to refer to the reduced graph as G.
Next, we describe the local source-destination pair (local s-t pair), a concept that has served as crucial for developing efficient algorithms for Tracking Paths [4,11,13,17]. For a subgraph G ⊆ G, and vertices a, b ∈ V (G ), we say that a, b is a local s-t pair for G if Eppstein et al. [17] mentioned that a 2-fault tolerant feedback vertex set is always a tracking set. Here we use a variation of this idea to compute an approximate tracking set. Specifically, we start with a 2-approximate feedback vertex set and then identify the cycles that contain only one or two feedback vertices. We check if these cycles need more vertices as trackers and we use (LP s -tuples ) and (LP MCF ) explained in the previous section to add them. Now we present the algorithm for computing a 2(1+µ)-approximate tracking set in polynomial time. We start by computing a 2-approximate feedback vertex set S on the preprocessed graph G using the algorithm by Bafna et al. [3]. We first check whether S is a tracking set for G by using the tracking set verification algorithm given in [4]. If it is a tracking set, we return S as the solution, otherwise we proceed further.
If S is not a tracking set, we will find vertices on which to place additional trackers in the following way. First we identify cycles C such that |V (C)∩S| = 1. Each such cycle C can be obtained by taking a vertex a ∈ S together with a path between a pair of its neighbors in G \ S. For each vertex b ∈ V (C) \ {a} we check whether a, b (or b, a) is a local s-t pair for C. If this is the case, then we do the following. If C \ {a, b} has two connected components P 1 , P 2 , then we add the pair {P 1 , P 2 } to P. Otherwise, if P 1 is the only connected component of C \ {a, b}, we add the set {P 1 } to P. Note that P 1 and P 2 will always be paths.
If a cycle C in G intersects with S in vertices a and b, then there exist two vertex-disjoint paths P 1 and P 2 between a and b, such that V (P 1 ) ∪ V (P 2 ) = V (C). Hence, each such cycle C is uniquely determined by the neighbors of a and b on P 1 and P 2 . If, furthermore, a, b (or b, a) is a local s-t pair for C, then we add some pair to P. Similarly to the above, we consider the connected components of C \ {a, b}. If there are two connected components, say P 1 , P 2 , we add {P 1 , P 2 } to P. Otherwise, P 1 is the only connected component of C \ {a, b} and we add the set {P 1 } to P.
Similarly to Observation 2, we have at most n 2 candidate cycles with a single vertex of S and for each of them we have at most n candidates on b. We have n 4 cycles with two vertices of S. For each of them, we check, whether a, b (or b, a) is a local s-t pair in O(n 2 ) time. Hence, P can be obtained in O(n 6 ) time.
Now we use (LP s -tuples ) with P to identify the paths on which we want to place at least one additional tracker. Let x * be an optimal solution of (LP s -tuples ), which can be obtained in polynomial time using the Ellipsoid method. We construct P x * as the set of all paths P ∈ P such that v∈V (P ) x * v ≥ 1 2 . We first show the following observation.
Observation 3. Let G be a preprocessed graph and T * be a tracking set for G.
Let OPT x * be the optimum value of (LP s -tuples ). Then OPT x * ≤ w(T * ).
Proof. Let x be a vector such that for all v ∈ V (G) \ S x v = 1 if v ∈ T * 0 otherwise.
We show that x is a solution to (LP s -tuples ). Suppose that v∈V (Pi)∪V (Pj ) x v < 1 for some {P i , P j } ∈ P, therefore T * ∩ (V (P i ) ∪ V (P j )) = ∅. Let a, b be the vertices such that G[V (P i )∪V (P j )∪{a, b}] contains a cycle C, such that a, b are a local s-t pair for C. Such a, b must exist because of the way P was constructed. Since a, b is a local s-t pair, there exist two distinct paths P 1 and P 2 such that −→ T * P1 = −→ T * P2 : Both reach a from s and reach t from b but one reaches b from a by P i and the other one by P j . This contradicts the assumption that T * is a tracking set.
To decide which additional vertices to include in the solution, we compute the minimum multicut in forests on (G \ S, w| (V \S) , P x * ) using (LP MCF ). Let y * be an integral solution of (LP MCF ) of weight at most µ times the optimal one. By Lemma 1 or Lemma 3 such a solution can be obtained in polynomial time. Let X be the set of vertices such that y v = 1. Then we claim that S ∪ X is a 2(1 + µ)-approximate solution to the Tracking Paths.
Lemma 10. Let S be a 2-approximate fvs in G and let y be an integral solution to (LP MCF ) induced by P x * with weight at most µ times the optimal. The set T = S ∪ {v ∈ V \ S | y v = 1} is a 2(1 + µ)-approximate solution to Tracking Paths on G.
Proof. Let X = {v ∈ V \ S | y v = 1}. First, we show that T = S ∪ X is a tracking set. Suppose there exists a pair of distinct s-t paths P 1 , P 2 in G that are not distinguished by T , i.e., −→ T P1 = −→ T P2 . Then, by Lemma 9, there exists a cycle C such that V (C) ⊆ V (P 1 ) ∪ V (P 2 ) and a local s-t pair a, b ∈ V (C) such that T ∩ V (C) \ {a, b} = ∅. However, then C must have been one of the cycles enumerated by the algorithm when constructing P.
Say {P i , P j } was the pair added to P such that V (P i )∪V (P j ) ⊆ V (C). As x * is the optimal solution to (LP s -tuples ), it must hold v∈V (Pi)∪V (Pj ) x * v ≥ 1 and hence v∈V (Pi) x * v ≥ 1 2 or v∈V (Pj ) x * v ≥ 1 2 . Thus P i ∈ P x * or P j ∈ P x * . In either case, v∈V (Pi)∪V (Pj ) y v ≥ 1 and therefore there is some v ∈ V (P i )∪V (P j ) which was added to T and distinguishes −→ T P1 = −→ T P2 , which contradicts the choice of C. Now we show that w(T ) is at most 2(1 + µ) times the weight of a minimum tracking set in G. Let t * be the weight of the minimum tracking set on G and f * be the weight of a minimum feedback vertex set in G. Furthermore, let OPT x * be the objective value of an optimal solution to (LP s -tuples ) and OPT y * be the objective value of a solution to (LP MCF ) induced by P x * .
We claim that |S| ≤ 2f * ≤ 2t * . The first inequality follows from the fact that S is a 2-approximate feedback vertex set for G. The second inequality follows from the fact that every tracking set is also a feedback vertex set [4]. It also holds w(X) ≤ µ OPT y * ≤ 2µ · OPT x * ≤ 2µ · t * . Here the second inequality follows from Lemma 6, while the third one follows from Observation 3.
The result is summed up as follows.