New algorithms for maximum disjoint paths based on treelikeness
 1k Downloads
Abstract

For MaxEDP, we give an \({\mathcal {O}(\sqrt{r} \log ({k}r))}\)approximation algorithm. Up to a logarithmic factor, our result strengthens the best known ratio \({\mathcal {O}(\sqrt{n})}\) due to Chekuri et al., as \({r\le n}\).

Further, we show how to route \({\varOmega ({\text {OPT}}^{*})}\) pairs with congestion bounded by \({\mathcal {O}(\log (kr)/\log \log (kr))}\), strengthening the bound obtained by the classic approach of Raghavan and Thompson.

For MaxNDP, we give an algorithm that gives the optimal answer in time \({(k+r)^{\mathcal {O}(r)}\cdot n}\). This is a substantial improvement on the run time of \({2^kr^{\mathcal {O}(r)}\cdot n}\), which can be obtained via an algorithm by Scheffler.
Keywords
Disjoint paths Approximation algorithm Feedback vertex set Fixedparameter algorithmMathematics Subject Classification
6802 6806 05C05 05C21 05C38 05C40 05C85 68R10 68W05 68W20 68W25 68W40 68Q17 68Q25 68Q87 90B10 90B18 90C05 90C10 90C27 90C35 90C39 90C46 90C49 90C59 49L201 Introduction
In this paper, we study disjoint paths routing problems. In this setting, we are given an undirected graph G and a collection \({\mathcal {M} = \{(s_1, t_1), \ldots , (s_k, t_k)\}}\) of vertex pairs, called terminal pairs, that can be thought of being source–destination pairs. The goal is to select a maximumsized subset \({\mathcal {M}' \subseteq \mathcal {M}}\) of the pairs that can be feasibly routed, where a routing of \({\mathcal {M}'}\) is a collection \({\mathcal {P}}\) of paths such that, for each pair \({(s_i, t_i) \in \mathcal {M}'}\), there is a path in \({\mathcal {P}}\) connecting \({s_i}\) to \({t_i}\). In the Maximum Edge Disjoint Paths (MaxEDP) problem, a routing \({\mathcal {P}}\) is feasible if its paths are pairwise edgedisjoint, and in the Maximum Node Disjoint Paths (MaxNDP) problem, a routing \({\mathcal {P}}\) is feasible if its paths are pairwise nodedisjoint. Throughout this paper, a solution to MaxEDP or MaxNDP is a feasible routing \({\mathcal {P}}\) of a subset \({\mathcal {M}' \subseteq \mathcal {M}}\).
Disjoint paths problems are fundamental problems with a long history and significant connections to optimization and structural graph theory. The decision versions EDP of MaxEDP and NDP of MaxNDP ask whether all of the pairs can be routed. When the number of pairs is part of the input, EDP and NDP are \({\mathsf {NP}}\)complete [22, 29]. In undirected graphs, MaxEDP and MaxNDP are solvable in polynomial time when the number of pairs is a fixed constant; this is a very deep result of Robertson and Seymour [42] that builds on several fundamental results in structural graph theory from their graph minors project.
In this paper, we consider the optimization problems MaxEDP and MaxNDP when the number of pairs is part of the input. In this setting, the best approximation ratio for MaxEDP is achieved by an \({\mathcal {O}(\sqrt{n})}\)approximation algorithm [11, 35], that is, by an algorithm that routes \({{\varOmega }({\text {OPT}}/\sqrt{n})}\) pairs, where \({{\text {OPT}}}\) is the number of pairs in an optimum routing and n is the number of nodes. However, the best known lower bound for undirected graphs is only \({2^{\varOmega (\sqrt{\log n})}}\), assuming \({\mathsf {NP}\not \subseteq \mathsf {DTIME}(n^{\mathcal {O}(\log n)})}\) [19]. Bridging this gap is a fundamental open problem that seems quite challenging.
Most of the results for routing on disjoint paths use a natural multicommodity flow relaxation as a starting point. A wellknown integrality gap instance due to Garg et al. [26] shows that this relaxation has an integrality gap of \({\varOmega (\sqrt{n})}\), and this is the main obstacle for improving the \({\mathcal {O}(\sqrt{n})}\)approximation ratio in general graphs. This led Chekuri et al. [15] to study the approximability of MaxEDP with respect to the treewidth of the underlying graph. In particular, they pose the following conjecture:
Conjecture 1
[12] The integrality gap of the standard multicommodity flow relaxation for MaxEDP is \({\varTheta (w)}\), where w is the treewidth of the graph.
Recently, Ene et al. [21] showed that MaxEDP admits an \({\mathcal {O}(w^3)}\)approximation algorithm on graphs of treewidth at most w. Theirs is the best known approximation ratio in terms of w, improving on an earlier \({\mathcal {O}(w\cdot 3^w)}\)approximation algorithm due to Chekuri et al. [15]. This shows that the problem seems more amenable on “treelike” graphs.
However, for \({w=\omega (n^{1/6})}\), the bound is weaker than the bound of \({\mathcal {O}(\sqrt{n})}\). In fact, EDP remains \({\mathsf {NP}}\)hard even for graphs of constant treewidth, namely treewidth \({w = 2}\) [39]. This further rules out the existence of a fixedparameter algorithm for MaxEDP parameterized by treewidth, assuming \({\mathsf {P}\not =\mathsf {NP}}\). Therefore, to obtain fixedparameter tractability results as well as better approximation guarantees, one needs to resort to parameters stronger than treewidth.
Another route to bridge the large gap between approximation lower and upper bounds for MaxEDP is to allow the paths to have congestion c: that is, instead of requiring the routed paths to be pairwise disjoint, at most c paths can use an edge. We can also think of this problem that each edge has a capacity c; thus, on unitcapacity graphs we ask for solutions without congestion. In their groundbreaking work, Raghavan and Thompson [40] introduced the technique of randomized rounding of LPs to obtain polynomialtime approximation algorithms for combinatorial problems. Their approach allows to route \({\varOmega ({\text {OPT}}^{*})}\) pairs of paths with congestion \({\mathcal {O}\left( \log {n}/\log \log {n}\right) }\), where \({{\text {OPT}}^{*}}\) denotes the value of an optimum solution to the multicommodity flow relaxation. This extensive line of research [2, 17, 31] has culminated in a \({\log ^{\mathcal {O}(1)} k}\)approximation algorithm with congestion 2 for MaxEDP [20]. A slightly weaker result also holds for MaxNDP [10].
1.1 Motivation and contribution
The goal of this work is to study disjoint paths problems under another natural measure for how “far” a graph is from being a tree. In particular, we propose to examine MaxEDP and MaxNDP under the feedback vertex set number. It denotes the smallest size r of a feedback vertex set of a graph G, which is a subset R of nodes for which \({G  R}\) is a forest. Note that the treewidth of G is at most \({r+1}\). Therefore, given the \({\mathsf {NP}}\)hardness of EDP for treewidth \({w = 2}\) and the current gap between the best known upper bound \({\mathcal {O}(w^3)}\) and the linear upper bound suggested by Conjecture 1, it is interesting to study the stronger restriction of bounding the feedback vertex set number r of the input graph. Our approach is further motivated by the fact that MaxEDP is efficiently solvable on trees by means of the algorithm of Garg et al. [26]. Similarly, MaxNDP is easy on trees (see Theorem 3). Throughout this work, the parameter r will denote the feedback vertex set number of a graph.
Our main insight is that one can in fact obtain bounds in terms of r that either strengthen the best known bounds or are almost tight (see Table 1). It therefore seems that the parameter r correlates quite well with the “difficulty” of disjoint paths problems.
Our first result allows the paths to have small congestion: in this setting, we strengthen the result, obtained by the classic randomized LProunding approach of Raghavan and Thompson [40], that one can always route \({\varOmega ({\text {OPT}}^{*})}\) pairs with congestion \({\mathcal {O}\left( \log {n}/\log \log {n}\right) }\) with constant probability.
Theorem 1
There is a polynomialtime algorithm for MaxEDP that produces—with constant probability—a routing of \({\varOmega ({\text {OPT}}^{*})}\) paths with congestion \({\mathcal {O}\left( \log ({k}r)/\log \log ({k}r)\right) }\) where \({{\text {OPT}}^{*}}\) is the value of an optimum solution to the multicommodity flow relaxation, k is the number of terminal pairs and r is the feedback vertex set number.
In other words, we show that there is an \({\mathcal {O}(1)}\)approximation algorithm for MaxEDP with congestion \({\mathcal {O}\left( \log ({k}r)/\log \log ({k}r)\right) }\).
Our second main result builds upon Theorem 1 and uses it as a subroutine. We show how to use a routing for MaxEDP with low congestion to obtain a polynomialtime approximation algorithm for MaxEDP without congestion that performs well in terms of r.
Theorem 2
There is a polynomialtime algorithm for MaxEDP that produces—with constant probability—a routing of \({{\text {OPT}}^{*}\!\!/ \mathcal {O}(\sqrt{r}\log (kr))}\) paths with no congestion where \({{\text {OPT}}^{*}}\) is the value of an optimum solution to the multicommodity flow relaxation, k is the number of terminal pairs and r is the feedback vertex set number.
In particular, our algorithm strengthens the best known approximation algorithm for MaxEDP on general graphs [11] as always \({r\le n}\), and indeed it matches that algorithm’s performance up to a logarithmic factor. Substantially improving upon our bounds would also improve the current state of the art of MaxEDP. Conversely, the result implies that it suffices to study graphs with close to linear feedback vertex set number in order to improve the currently best upper bound of \({\mathcal {O}(\sqrt{n})}\) on the approximation ratio [11].
Our algorithmic approaches harness the forest structure of \({G  R}\) for any feedback vertex set R. However, the technical challenge comes from the fact that the edge set running between \({G  R}\) and R is unrestricted. Therefore, the “interaction” between R and \({G  R}\) is nontrivial, and flow paths may run between the two parts in an arbitrary manner and multiple times. In fact, we show that MaxEDP is already \({\mathsf {NP}}\)hard if R consists of a single node (Theorem 5); this contrasts the efficient solvability on forests [26].
In order to overcome the technical hurdles, we propose several new concepts, which we believe could be of interest in future studies of disjoint paths or routing problems.
In the randomized rounding approach of Raghavan and Thompson [40], it is shown that the probability that the congestion on any fixed edge is larger than \({c\log n/\log \log n}\) for some constant c is at most \({1/n^{\mathcal {O}(1)}}\). Combining this with the fact that there are at most \({n^2}\) edges, yields that every edge has bounded congestion with high probability. The number of edges in the graph may, however, be unbounded in terms of r and k. Hence, in order to prove Theorem 1, we propose a nontrivial preprocessing step of the optimum LP solution that is applied prior to the randomized rounding. In this step, we aggregate the flow paths by a careful rerouting so that the flow “concentrates” in \({\mathcal {O}(kr^2)}\) nodes (socalled hot spots) in the sense that if all edges incident on hot spots have low congestion, then so have all edges in the graph. Unfortunately, for any such hot spot the number of incident edges carrying flow may still be unbounded in terms of k and r. We are, however, able to give a refined probabilistic analysis that suitably relates the probability of exceeding the congestion bound to the amount of flow on the respective edge. Since the total amount of flow traversing any given hot spot is at most k, the probability that there is an edge incident on this hot spot that violates the congestion bound is inverse polynomial in r and k.
The known \({\mathcal {O}(\sqrt{n})}\)approximation algorithm for MaxEDP by Chekuri et al. [11] employs a clever LProunding approach. If there are many long flow paths in the LP solution, then there must be a single node carrying a significant fraction of the total flow and a good fraction of this flow can be realized by integral paths by solving a singlesource flow problem. If the LP solution contains many short flow paths, then greedily routing these short paths yields the bound. Essentially, this follows from the fact that routing a short path blocks only a small amount of flow. In order to prove Theorem 2, we also distinguish two cases. We are interested, however, in the number of nodes in R that a flow path is visiting rather than in its length. In the first case, there are many paths, each of which is visiting a large number of nodes in R. Here, we reduce to a singlesource flow problem in a similar way to the approach of Chekuri et al. The second case where a majority of the flow paths visit only a few nodes in R turns out to be more challenging, since any such path may still visit an unbounded number of edges in terms of k and r. We use two main ingredients to overcome these difficulties. First, we apply our Theorem 1 as a building block to obtain a solution with logarithmic congestion while losing only a constant factor in the approximation ratio. Secondly, we introduce the concept of irreducible routings with low congestion which allows us to exploit the structural properties of the graph and the congestion property to identify a sufficiently large number of flow paths blocking only a small amount of flow.
Note that the natural greedy approach of always routing the shortest conflictfree path gives only an approximation ratio of \({\mathcal {O}(\sqrt{m})}\) for MaxEDP, where m is the number of edges. We believe that it is nontrivial to obtain our bounds via a more direct or purely combinatorial approach.
Our third result is a fixedparameter algorithm for MaxNDP in \({k + r}\).
Theorem 3
MaxNDP can be solved in time \({(k+r)^{\mathcal {O}(r)}\cdot n}\) on graphs with k terminal pairs, feedback vertex set number r, and n vertices. When a minimum feedback vertex set is given, it can be even solved in time \({(8k+8r)^{2r+3}\cdot \mathcal {O}(n)}\).
This run time is polynomial for constant r. We also note that, for small r, our algorithm is asymptotically significantly faster than the fastest known algorithm for NDP, by Kawarabayashi and Wollan [30], which requires time at least quadrupleexponential in k [1]. Namely, if r is asymptotically less than tripleexponential in k, our algorithm is asymptotically faster than theirs. We achieve this result by the idea of socalled essential pairs and realizations, which characterizes the “interaction” between the feedback vertex set R and the paths in an optimum solution. Note that in our algorithm of Theorem 3 the parameter k does not appear in the exponent of the run time at all. Hence, whenever \({r =o(k/\log k)}\), our algorithm is asymptotically faster than reducing MaxNDP to NDP by guessing the subset of pairs to be routed (at an expense of \({2^k}\) in the run time) and using Scheffler’s [43] algorithm for NDP with run time \({2^{\mathcal {O}(r\log r)}\cdot n}\); for \(r=\varOmega (k/\log k)\), our algorithm is asymptotically not slower.
Once a fixedparameter algorithm for a problem has been obtained, the existence of a polynomialsize kernel comes up. Here we note that MaxNDP does not admit a polynomial kernel for the combined parameter \({k+r}\), unless \({\mathsf {NP}\subseteq \mathsf {coNP}/\mathrm {poly}}\) [7].
Another natural question is whether the run time \({f(k,r)\cdot n}\) in Theorem 3 can be improved to \({f(r)\cdot n^{\mathcal {O}(1)}}\). We answer this question in the negative, ruling out the existence of a fixedparameter algorithm for MaxNDP parameterized by r (assuming \({\mathsf {FPT}\not =\mathsf {W}[1]}\)):
Theorem 4
MaxNDP in unitcapacity graphs is \({\mathsf {W}[1]}\)hard parameterized by feedback vertex set number.
This contrasts the known result that NDP is fixedparameter tractable in feedback vertex set number [43]—which further stresses the relevance of understanding this parameter.
For MaxEDP, we prove that the situation is, in a sense, even worse:
Theorem 5
MaxEDP is \({\mathsf {NP}}\)hard for unitcapacity graphs with feedback vertex set number \({r = 1}\) and EDP is \({\mathsf {NP}}\)hard for unitcapacity graphs with feedback vertex set number \({r=2}\).
This theorem also shows that our algorithms are relevant for small values of r, and that they nicely complement the \({\mathsf {NP}}\)hardness for MaxEDP in capacitated trees [26].
Summary of results obtained in this paper
EDP  MaxEDP  NDP  MaxNDP  

\(r = 0\)  Poly [26]  Poly [26]  Poly [43]  Poly (Thm. 3) 
\(r = 1\)  Open  \(\mathsf {NP}\)hard (Thm. 5)  Poly [43]  Poly (Thm. 3) 
Const. \(r \ge 2\)  \({\mathsf {NP}}\)hard (Thm. 5)  \(\mathsf {NP}\)hard (Thm. 5)  Poly [43]  Poly (Thm. 3) 
Param. r  Para\(\mathsf {NP}\)hard (Thm. 5)  \(\mathsf {FPT}\) [43]  \(\mathsf {W}[1]\)hard (Thm. 4)  
\(\mathcal {O}(\sqrt{r}\log ({kr}))\)approx (Thm. 2)  Exact \({(k+r)^{\mathcal {O}(r)} n}\) (Thm. 3)  
\(\mathcal {O}(1)\)approx. w. cg. \(\mathcal {O}\left( \frac{\log ({k}r)}{\log \log ({k}r)}\right) \) (Thm. 1) 
Related work Our study of the parameter feedback vertex set number is in line with the general attempt to obtain bounds for MaxEDP (or related problems) that are independent of the input size. Besides the abovementioned works that provide bounds in terms of the treewidth of the input graph, Günlük [27] and Chekuri et al. [16] give bounds on the flowcut gap for the closely related integer multicommodity flow problem; their bounds are logarithmic with respect to the vertex cover number of a graph. This improved upon earlier bounds of \({\mathcal {O}(\log n)}\) [36] and \({\mathcal {O}(\log k)}\) [4, 37]. As every vertex cover is in particular a feedback vertex set of a graph, our results for disjoint path problems address a generalization of graphs with bounded vertex cover number. Bodlaender et al. [7] showed that NDP does not admit a polynomial kernel parameterized by vertex cover number and the number k of terminal pairs, unless \({\mathsf {NP}\subseteq \mathsf {coNP}/\mathrm {poly}}\); therefore, NDP is unlikely to admit a polynomial kernel in \({k + r}\) either. Ene et al. [21] showed that MaxNDP is \({\mathsf {W}[1]}\)hard parameterized by treedepth, which is another restriction of treewidth that is incomparable to feedback vertex set number.
The basic gap in understanding the approximability of MaxEDP has led to several improved results for special graph classes, and also our results can be seen in this light. For example, polylogarithmic approximation algorithms are known for graphs whose global minimum cut value is \({\varOmega (\log ^5 n)}\) [41], for boundeddegree expanders [8, 9, 25, 32, 36], and for Eulerian planar or 4connected planar graphs [31]. Constant factor approximation algorithms are known for capacitated trees [13, 26], grids and gridlike graphs [3, 5, 33, 34]. For planar graphs, there is a constantfactor approximation algorithm with congestion 2 [44]. Very recently, Chuzhoy et al. [18] gave a \({\tilde{\mathcal {O}}(n^{9/19})}\)approximation algorithm for MaxNDP on planar graphs. However, improving the \({\mathcal {O}(\sqrt{n})}\)approximation algorithm for MaxEDP remains elusive even for planar graphs.
2 Preliminaries
We use standard graph theoretic notation. For a graph G, let V(G) denote its vertex set and E(G) its edge set. The length of a path is the number of its edges. A feedback vertex set of a graph G is a set \({R\subseteq V(G)}\) such that \({G  R}\) is a forest. A minor of a graph G is a graph H that is obtained by successively contracting edges from a subgraph of G (and deleting any occurring loops). A class \({\mathcal {G}}\) of graphs is minorclosed if for any graph in \({\mathcal {G}}\) also all its minors belong to \({\mathcal {G}}\).
For an instance \({(G,\mathcal {M})}\) of MaxEDP/MaxNDP, we refer to the vertices participating in the pairs \({\mathcal {M}}\) as terminals. It is convenient to assume that \({\mathcal {M}}\) forms a matching on the terminals; this can be ensured by making several copies of the terminals and attaching them as leaves. Hence, we can also assume that all terminals are leaves.
We will use the following result by Chekuri et al. [11, Sect. 3.1]; see also Proposition 3.3 of Chekuri et al. [14].
Proposition 1
(Chekuri et al. [11]) Let \({(f,\mathbf {x})}\) be a fractional solution to the LP relaxation of a MaxEDP instance \({(G,\mathcal {M})}\). If some node v is contained in all flow paths of f, then we can find an integral routing of size at least \({\sum _{i}x_i/12}\) in polynomial time.
As a corollary of Theorem 2, we immediately obtain the following proposition about the integrality gap of MaxEDP LP.
Corollary 1
The integrality gap of the multicommodity flow relaxation for MaxEDP with k terminal pairs is \({\mathcal {O}(\sqrt{r}\log (kr))}\) for graphs with feedback vertex set number r.
Let f be a multicommodity flow assigning to each path \(P\in \mathcal {P}\) a nonnegative flow value f(P). The flow f is said to have congestion c if it satisfies a modification of MaxEDP LP where we replace, for each edge \({e \in E(G)}\), the constraint \({\sum _{P \in \mathcal {P}:\; e \in P} f(P) \le 1}\) with \({\sum _{P \in \mathcal {P}:\; e \in P} f(P) \le c}\). In the particular case where f is integral we also speak of a routing f with congestion c.
3 Bicriteria approximation for MaxEDP with low congestion
We present a randomized rounding algorithm that will lead to the proof of Theorem 1. First we will modify a fractional solution to the multicommodity flow relaxation and then run a randomized rounding procedure.
3.1 Algorithm
Consider an instance \({(G,\mathcal {M})}\) of MaxEDP. Let k denote the number of terminal pairs in \(\mathcal {M}\), and let R be a feedback vertex set of G that we construct by taking the union of the terminals in \(\mathcal {M}\) and any 2approximate minimum feedback vertex set; note that such an approximation can be obtained in polynomial time [6]. Thus, \({R\le 2r+2k}\).
Each \({P\in \mathcal {P'}}\) has the form \({(r_1,\dots ,r_2,\dots ,r_\ell )}\) where \({r_1,\dots ,r_\ell }\) are the nodes in R that are traversed by P in this order. For every j with \({1\le j \le \ell 1}\), we call the path \({(r_j,\dots ,r_{j+1})}\) a subpath of P. For every subpath \({P'}\) of P, we set \({f(P')=f(P)}\). Let \({\mathcal {S}}\) be the multiset of all subpaths of all paths in \({\mathcal {P}'}\). Let \({F = GR}\) be the forest obtained by removing R.
We now modify some paths in \({\mathcal {P}'}\), one by one, and at the same time, we incrementally construct a subset \({H_{\text {Alg}}\subseteq V(F)}\) in several steps. We will refer to the nodes in \({H_{\text {Alg}}}\) as hot spots. When the construction of \({H_{\text {Alg}}}\) is complete, every subpath in \({\mathcal {S}}\) will contain at least one hot spot, that is, a node in \({H_{\text {Alg}}}\).
Intuitively speaking, we now aggregate flow on P by rerouting as much flow as possible from \({\mathcal {S}_{uv}}\) to P. To this end, we repeatedly perform the following operation as long as \({f(\mathcal {S}[P])<1}\) and \({\mathcal {S}_{uv}\not =\emptyset }\). We pick a path \({P'}\) in \({\mathcal {S}}\) that contains a subpath in \({\mathcal {S}_{uv}}\); see Fig. 2. We reroute flow from \({P'}\) by creating a new path \({P''}\) that arises from \({P'}\) by replacing its subpath between u and v with a new path identical to P, and assign it the weight \({f(P'')}\) equal to \({\min \{f(P'),1f(\mathcal {S}[P])\}}\). Then we set the weight of (the original path) \(P'\) to \({\max \{0, f(P')+f(\mathcal {S}[P])1\}}\). We update the sets \({\mathcal {P'}}\), \({\mathcal {P}'(s_i,t_i)}\), \({\mathcal {S}}\), \({\mathcal {S}_T}\), \(\mathcal {S}[P]\) and \({\mathcal {S}_{uv}}\) accordingly.
As soon as \({f(\mathcal {S}[P])=1}\) or \({\mathcal {S}_{uv}=\emptyset }\), we mark h(P) as a hot spot and add it to \({H_{\text {Alg}}}\). Then, we proceed with the next \({P\in \mathcal {S}_T}\) that does not contain a hot spot and whose highest node h(P) is farthest away from the root. If no such P is left, we consider the next tree T in F.
At the end, we create our solution \({\mathcal {P}_{\text {Sol}}'}\) by randomized rounding: We route every terminal pair \({(s_i, t_i)}\) with probability \({x_i}\). In case \({(s_i,t_i)}\) is routed, we randomly select a path from \({\mathcal {P}'(s_i, t_i)}\) and add it to \({\mathcal {P}_{\text {Sol}}'}\) where the probability that the path P is taken is \({f(P)/x_i}\).
3.2 Analysis
First, observe that \({\mathbf {x}}\) did not change during our modifications of the paths, as the total flow between any terminal pair did not change. Thus, the expected number of pairs routed in our solution \({\mathcal {P}_{\text {Sol}}'}\) is \({\sum _{i=1}^k x_i\ge {\text {OPT}}^{*}}\). Using the Chernoff bound, the probability that we route less than \({{\text {OPT}}^{*}\!\!/2}\) pairs is at most \({e^{1/8{\text {OPT}}^{*}\!\!}<1/2}\), assuming \({{\text {OPT}}^{*}>8}\).
In the above algorithm, we guarantee that when we aggregate flow on a path P, then the total amount of all flow paths containing P as a subpath has increased to at most 1. Nevertheless, the flow f may have congestion greater than 1 after this modification. This is because P may intersect flow paths that contain only a proper subset of the edges of P. For instance, consider the situation where we increase \({f(\mathcal {S}[P'])}\) for a subpath \(P'\) that initially contained a tight edge e (that is, an edge e with \({\sum _{P \in \mathcal {P}:\; e \in P} f(P) = 1}\)). After increasing \({f(\mathcal {S}[P'])}\), the total amount of flow paths going through e is greater than 1. However, the congestion of the modified flow f is always at most 2 as shown by the following lemma.
Lemma 1
The congestion of the flow f is at most 2.
Proof
In our algorithm, we increase the flow only along flow subpaths that are pairwise edgedisjoint. To see this, consider two distinct flow subpaths P and \({P'}\) on which we increase the flow. If there were an edge e lying on P and \({P'}\), then both subpaths traverse the same tree in the forest F. Assume, without loss of generality, that P was considered before \({P'}\) by the algorithm. Then the path from e to the root would first visit h(P) and then \({h(P')}\). Hence, h(P) would be an internal node of \({P'}\). This yields a contradiction, as h(P) was already marked as a hot spot when \({P'}\) was considered. This shows that we increased the flow along any edge by at most one unit. Hence, f has congestion at most 2. \(\square \)
We now bound the congestion of the integral solution obtained by randomized rounding. In the algorithm, we constructed a set \({H_{\text {Alg}}}\) of hot spots. As a part of the analysis, we will now extend this set to a set \({H}\) as follows. Initially, \({H=H_{\text {Alg}}}\). We build a subforest \({F'}\) of F consisting of all edges of F that lie on a path connecting two hot spots. Then we add to \({H}\) all nodes that have degree at least 3 in \({F'}\). Since the number of nodes of degree 3 in any forest is at most its number of leaves and since every leaf of \({F'}\) is a hot spot, it follows that this can at most double the size of \({H}\) to \({2H_{\text {Alg}}}\). Finally, we add all nodes of the feedback vertex set R to \({H}\) and mark all nodes in \({H}\) as hot spots.
Lemma 2
The number \({H}\) of hot spots is at most \({2 kR^2 + R}\).
Proof
To this end, fix two nodes \({u,v\in R}\) and consider the set of flow subpaths with endpoints u and v for which we added their hot spots to \({H_{\text {Alg}}}\). Due to the aggregation of flows in our algorithm, all except possibly one of the subpaths are saturated, that is, they carry precisely one unit of flow. Since no two of these subpaths are contained in a same flow path of f and since the flow value of f is bounded from above by k, we added at most k hot spots for the pair u, v. Since there are at most \({R^2}\) pairs in R, the claim follows.
Definition 1
A hot spot \({u\in H}\) is good if the congestion on any edge incident on u is bounded by \({12 \log ({k}R)/\log \log ({k}R)}\); otherwise, u is bad.
Lemma 3
Let \({u\in H}\) be a hot spot. The probability that u is bad is bounded from above by \({1/(k^2R^3)}\).
Proof
Let \({e_1=uv_1,\dots ,e_{\ell }=uv_{\ell }}\) be the edges incident on u and, for each i with \({1\le i \le \ell }\), let \({f_i}\) be the total flow on the edge \({uv_i}\). Since any flow path visits at most two of the edges incident on u, the total flow \({\sum _{i=1}^{\ell }f_i}\) on the edges incident on u is at most 2k.
Lemma 4
If every hot spot is good, then the congestion on every edge is bounded from above by \({{24}\log ({k}R)/\log \log ({k}R)}\).
Proof
Consider an arbitrary edge \({e=uv}\) that is not incident on any hot spot. In particular, this means that e lies in the forest \({F=GR}\). A hot spot z in F is called direct to e if the path in F from z to e excluding e does not contain any hot spot other than z.
We claim that there can be at most two distinct hot spots \({z,z'}\) direct to e. If there were a third hot spot \({z''}\) direct to e, then consider the unique node \({z_0\in V(F)}\) such that no two of the hot spots z, \(z'\), \(z''\) are connected in \({Fz_0}\). Such a node \({z_0}\) exists, since z, \(z'\), \(z''\) cannot lie on a common path in F as they are all direct to e. The node \({z_0}\), however, would be added as a hot spot at the latest when \({H}\) was built. Now this is a contradiction, because then one of the paths connecting z, \(z'\) or \({z''}\) to e would contain \({z_0}\) and thus one of these hot spots would not be direct to e.
Now, let P be an arbitrary path that is routed by our algorithm and that traverses e, and let \({P'\in \mathcal {S}}\) be the subpath of P visiting e; see Fig. 3.
Consider the two paths in F connecting z to e and \({z'}\) to e. Let \({e_z}\) and \({e_{z'}}\) be the edges on these paths incident on z and \({z'}\), respectively. By our construction, \(P'\) must visit a hot spot in F. If \({P'}\) visited neither z nor \({z'}\), then \({P'}\) would contain a hot spot direct to u or to v that is distinct from z and \({z'}\)—a contradiction. Hence \({P'}\) and thus also P visit \({e_z}\) or \({e_{z'}}\). The claim now follows from the facts that, first, this holds for any path traversing e, and that, secondly, z and \({z'}\) are good, and that, thirdly, therefore altogether at most \({2\cdot ({12}\log ({k}R)/\log \log ({k}R)}\) paths visit \({e_z}\) or \({e_z'}\).
Now we are ready to prove Theorem 1.
Proof of Theorem 1
We show that the algorithm presented in Sect. 3.1 produces—with constant probability—a routing with \({\varOmega ({\text {OPT}}^{*})}\) paths with congestion \(\mathcal {O}\left( {\log ({k}r)}/{\log \log ({k}r)}\right) \). As argued above, the probability that we route less than \({{\text {OPT}}^{*}\!\!/2}\) paths is at most 1 / 2. By Lemma 2, the number of hot spots is at most \(2kR^2+R \le \) \( 3kR^2\). Thus, Lemma 3 implies an upper bound of \(3kR^2/(k^2R^3)=3/(kR)\) on the probability that at least one of these hot spots is bad. Hence, by Lemma 4, we route with probability \({1  1/2  3/(kR)}\) at least \({{\text {OPT}}^{*}\!\!/2}\) pairs with congestion at most \({{24}\log ({k}R)/\log \log ({k}R)}\). Since the probability is bounded from below by a positive constant for sufficiently big k, the statement of the theorem follows by using \({R\le 2r+2k}\) and \({R\ge r}\).
4 Refined approximation bound for MaxEDP
In this section, we provide an improved approximation guarantee for MaxEDP without congestion, thereby proving Theorem 2.
4.1 Irreducible routings with low congestion
We first develop the concept of irreducible routings with low congestion, which is (besides Theorem 1) a key ingredient of our strengthened bound on the approximability of MaxEDP based on feedback vertex set number.
Consider any multigraph G and any set \({\mathcal {P}}\) of (not necessarily simple) paths in G with congestion c. We say that an edge e is redundant in \({\mathcal {P}}\) if there is an edge \({e'\ne e}\) such that the set of paths in \({\mathcal {P}}\) covering (containing) e is a subset of the set of paths in \({\mathcal {P}}\) covering \({e'}\). For instance, if G contains at least two edges, then any edge that is not covered by any path in \({\mathcal {P}}\) is redundant in \({\mathcal {P}}\).
Definition 2
The set \({\mathcal {P}}\) is called an irreducible routing with congestion c if each edge belongs to at most c paths of \({\mathcal {P}}\) and there is no edge redundant in \({\mathcal {P}}\).
In contrast to a feasible routing of a MaxEDP instance, we do not require an irreducible routing to connect a set of terminal pairs. If there is an edge e redundant in \({\mathcal {P}}\), we can apply the following reduction rule: we contract e in G and we contract e in every path of \({\mathcal {P}}\) that covers e. By this, we obtain a minor \({G'}\) of G and a set \({\mathcal {P}'}\) of paths that consists of all the contracted paths and of all paths in \({\mathcal {P}}\) that were not contracted. Thus, there is a onetoone correspondence between the paths in \({\mathcal {P}}\) and \({\mathcal {P}'}\).
We make the following observation about \({\mathcal {P}}\) and \({\mathcal {P}'}\).
Observation 1
A subset of paths in \({\mathcal {P}'}\) is edgedisjoint in \({G'}\) if and only if the corresponding subset of paths in \({\mathcal {P}}\) is edgedisjoint in G.
As applying the reduction rule strictly decreases the number of redundant edges, an iterative application of this rule yields an irreducible routing on a minor of the original graph.
Theorem 6
Let \({\mathcal {G}}\) be a minorclosed class of multigraphs and let \({p_{\mathcal {G}}}\) be a positive integer. If for each graph \({G\in \mathcal {G}}\) and every nonempty irreducible routing \({\mathcal {P}}\) on G with congestion c there exists a path in \({\mathcal {P}}\) of length at most \({p_{\mathcal {G}}}\), then the average length of the paths in \({\mathcal {P}}\) is at most \({c\cdot p_{\mathcal {G}}}\).
Proof
Take a path \({P_0}\) of length at most \({p_{\mathcal {G}}}\). Contract all edges of \({P_0}\) in G and obtain a minor \({G'\in \mathcal {G}}\) of G. For each path in \({\mathcal {P}}\) contract all edges shared with \({P_0}\) to obtain a set \({\mathcal {P}'}\) of paths. Remove \({P_0}\) along with all degenerated paths from \({\mathcal {P}'}\), thus \({\mathcal {P}' < \mathcal {P}}\). Note that \({\mathcal {P}'}\) is an irreducible routing on \({G'}\) with congestion c. We repeat this reduction procedure recursively on \({G'}\) and \({\mathcal {P}'}\) until \({\mathcal {P}'}\) is empty; this happens after at most \({\mathcal {P}}\) steps. At each step, we decrease the total path length by at most \({c\cdot p_{\mathcal {G}}}\). Hence, the total length of paths in \({\mathcal {P}}\) is at most \({\mathcal {P} \cdot c \cdot p_{\mathcal {G}}}\).
As a consequence of Theorem 6, we get the following result for forests.
Lemma 5
Let F be a forest and let \({\mathcal {P}}\) be a nonempty irreducible routing on F with congestion c. The average path length in \({\mathcal {P}}\) is at most 2c.
Proof
We show that \({\mathcal {P}}\) contains a path of length at most 2. Then the lemma follows immediately by applying Theorem 6 and using the fact that (simple) forests are minorclosed.
Take any tree in F, root it with any node and consider a leaf v of maximum depth. If v is adjacent to the root, then the tree is a star and every path in the tree has length at most 2. Otherwise, let \({e_1}\) and \({e_2}\) be the first two edges on the path from v to the root. By the definition of irreducible routing, the set of all paths covering \({e_1}\) is not a subset of the paths covering \({e_2}\); hence, \(e_1\) is covered by a path which does not cover \({e_2}\). Since all other edges incident to \({e_1}\) end in a leaf, this path has length at most 2.
4.2 Approximation algorithm
Consider an instance \({(G,\mathcal {M})}\) of MaxEDP with k terminal pairs. Let R be a 2approximate minimum feedback vertex set in G; recall that we can obtain R in polynomial time [6]. Furthermore, let \({c =\mathcal {O}\left( \log ({k}r)/\log \log ({k}r)\right) }\) be the bound on the congestion of our algorithm in Theorem 1.
We solve the corresponding MaxEDP LP and obtain an optimal extreme point solution \({(f,\mathbf {x})}\) of total flow \({f={\text {OPT}}^{*}}\). By the same argument as in Sect. 3, the number of all paths with a positive flow value is polynomially bounded in the input size. Let \({\rho =\sqrt{R}/c}\) and let \({\mathcal {P}}\) be the set of all paths with a positive flow value that visit at most \({\rho }\) nodes of R.
Below we argue how to use R, \({\mathcal {P}}\) and f to obtain a feasible routing of \(\varOmega \left( f/(c \sqrt{R})\right) \) paths. This routing yields an overall approximation ratio of \({\mathcal {O}\left( \sqrt{r}\log (kr)\right) }\) and will prove Theorem 2.
We distinguish the following two cases.
Case 1 The total flow of \({\mathcal {P}}\) is at least f / 2. We compute a new flow \({(f',\mathbf {x'})}\), where we set \({f'(P)=f(P)}\) for every path P in \({\mathcal {P}}\), and \({f'(P)=0}\) for any other path P. Thus, we have \({f'\ge f/2}\). By applying our algorithm of Sect. 3 on \({(f',\mathbf {x'})}\), we efficiently compute with constant probability a routing \({\overline{\mathcal {P}}}\) with congestion c containing \({\varOmega (f')=\varOmega (f)}\) paths. Note that all paths in \({\overline{\mathcal {P}}}\) visit at most \({\rho }\) nodes of R. Initialize \({\mathcal {P}'}\) with \({\overline{\mathcal {P}}}\). As long as there is an edge e not adjacent to R that is redundant in \({\mathcal {P}'}\), we iteratively apply the reduction rule (see Sect. 4.1) on e by contracting e in the graph as well as in every path that covers it. Let \({G'}\) be the obtained minor of G with forest \({F'=G'R}\).
Note that \(F'\) is simple (in contrast to \(G'\) that might contain multiple edges) as we contracted edges only in the (simple) forest \(GR\). The obtained set \({\mathcal {P}'}\) is a set of (not necessarily simple) paths in \({G'}\) corresponding to \({\overline{ \mathcal {P}}}\). In order to obtain a feasible routing for \({(G,\mathcal {M})}\) of size \({\varOmega \left( f/( c \rho ) \right) }\), it suffices by iterated application of Observation 1 to \({\overline{\mathcal {P}}}\) and \({\mathcal {P}'}\) that we efficiently find a subset \({\mathcal {P}_{\text {Sol}}'\subseteq {\mathcal {P}'}}\) of pairwise edgedisjoint paths of size \({\mathcal {P}_{\text {Sol}}' =\varOmega \left( \overline{\mathcal {P}}/( c \rho )\right) }\).
Let P be an arbitrary path in \({\mathcal {P}'}\). Each edge on P that is not in a subpath in \({\mathcal {S}}\) is incident on a node in R, and each node in R is incident on at most two edges in P. Together with the fact that P visits less than \({\rho }\) nodes in R, there are less than \({2\rho }\) edges of P outside \({\mathcal {S}}\). By the same fact, P contributes at most \({\rho }\) subpaths to \({\mathcal {S}}\). Given that the average length of the subpaths in \({\mathcal {S}}\) is at most 2c, we can upper bound the total path length \({\sum _{P\in \mathcal {P'}}P}\) by \({\mathcal {P'} \rho (2c+2)}\). Let \({\mathcal {P}''}\) be the set of the \({\mathcal {P}'/2}\) shortest paths in \({\mathcal {P}'}\). Hence, each path in \({\mathcal {P}''}\) has length at most \({4 \rho (c+1)}\).
5 Fixedparameter algorithm for MaxNDP
We give a fixedparameter algorithm for MaxNDP that solves anyinstance \({(G,\mathcal {M})}\) in time \({(k+r)^{\mathcal {O}(r)}\cdot ~n}\), where r denotes the feedback vertex set number of G, \(k=\mathcal {M}\) and \({n = V(G)}\). A feedback vertex set R of size r can be computed in time \({r^{\mathcal {O}(r)}\cdot n}\) [38].
By the matching assumption (see Sect. 2), each terminal in \({\mathcal {M}}\) is a leaf. We can thus assume that none of the terminals is contained in R.
Consider an optimal routing \({\mathcal {P}}\) of the given MaxNDP instance and the set \({\mathcal {M}_R\subseteq \mathcal {M}}\) of terminal pairs that are connected via \({\mathcal {P}}\) by a path that visits at least one node in R. Let \({P\in \mathcal {P}}\) be a path connecting a terminal pair \({(s_i,t_i)\in \mathcal {M}_R}\). This path has the form \({(s_i,\dots ,r_1,\dots ,r_2,\dots ,r_\ell ,\dots ,t_i)}\), where \({r_1,\dots ,r_\ell }\) are the nodes in R that are traversed by P in this order. The pairs \({(s_i,r_1)}\) and \({(r_\ell ,t_i)}\) as well as \({(r_j,r_{j+1})}\) for \({j=1,\dots ,\ell 1}\) are called essential pairs for P. A node pair is called essential if it is essential for some path in \({\mathcal {P}}\). Let \({\mathcal {M}_e}\) be the set of essential pairs.
Let F be the forest that arises when deleting R from the input graph G. Let (u, v) be any pair of nodes in G. A path P in G with endpoints u and v is said to realize (u, v) if all internal nodes of P lie in F. A set \({\mathcal {P}'}\) of paths is said to realize a set of node pairs if every pair in this set is realized by some path in \({\mathcal {P}'}\) and if two paths in \({\mathcal {P}'}\) can only intersect at their endpoints. Note that the optimal routing \({\mathcal {P}}\) induces a realization of \({\mathcal {M}_e}\) in a natural way: The realization consists of all maximal subpaths of paths in \({\mathcal {P}}\) whose internal nodes all lie in F. Conversely, for any realization \({\mathcal {P}'}\) of \({\mathcal {M}_e}\), we can concatenate paths in \({\mathcal {P}'}\) to obtain a feasible routing that connects all terminal pairs in \({\mathcal {M}_R}\). Therefore, we consider \({\mathcal {P}'}\) (slightly abusing notation) also as a feasible routing for \({\mathcal {M}_R}\).
In our algorithm, we first guess the set \({\mathcal {M}_e}\) of essential pairs, which implies the set \({\mathcal {M}_R}\) as well as the set \({\overline{\mathcal {M}}_R}\) that we define as \({\overline{\mathcal {M}}_R=\mathcal {M}{\setminus }\mathcal {M}_R}\). Then, by dynamic programming, we construct two sets of paths, \({\mathcal {P}_e}\) and \({\mathcal {P}_F}\), where \({\mathcal {P}_e}\) realizes \({\mathcal {M}_e}\) and \({\mathcal {P}_F}\) routes in F a subset of \({\overline{\mathcal {M}}_R}\). In our algorithm, the set \({\mathcal {P}_e \cup \mathcal {P}_F}\) forms a feasible routing that maximizes \({\mathcal {P}_F}\) and routes all pairs in \({\mathcal {M}_R}\). Recall that we consider the realization \({\mathcal {P}_e}\) of \({\mathcal {M}_e}\) as a feasible routing for \({\mathcal {M}_R}\).
Now assume that we correctly guessed \({\mathcal {M}_e}\). Below, we will describe an algorithm that uses a dynamic programming table to compute an optimum routing in time \({2^{\mathcal {O}(r)}(k+r)^{\mathcal {O}(1)}\cdot n}\). For the sake of easier presentation, first we describe how to compute the cardinality of such a routing. Then we argue how to find such a routing without a significant increase in the run time.
5.1 Dynamic programming table
Before we describe the dynamic programming table, we make several technical assumptions that help to simplify the presentation. First, we modify the input instance as follows. We subdivide every edge incident on a node in R by introducing a single new node on this edge. Note that this yields an instance equivalent to the input instance. As a result, every neighbor of a node in R that lies in F, that is, every node in \({N_G(R)}\), is a leaf in F. Moreover, the set R is an independent set in G. Also recall that we assumed that every terminal is a leaf and that therefore R does not contain any terminal. We also assume that the forest F is a rooted tree by introducing a dummy node (which plays the role of the root) and arbitrarily connecting this node to every connected component of F by an edge. In our dynamic programming table, we will take care that no path visits this root node. We also assume that F is an ordered tree by introducing an arbitrary order among the children of every node.
 1.
The set \({\mathcal {P}_F}\) is a feasible routing of some subset of \({\overline{\mathcal {M}}_R}\).
 2.
The set \({\mathcal {P}_F}\) is completely contained in \({F_v^i}\).
 3.There is an additional set \({\mathcal {P}_e}\) of paths with the following properties:
 (a)
The set \({\mathcal {P}_e}\) is a realization of \({\mathcal {M}_e'\cup \{(u,v)\}}\) if \({b={\textit{tobeused}}}\). Else, it is a realization of \({\mathcal {M}_e'}\).
 (b)
The set \({\mathcal {P}_e}\) is completely contained in \({F_v^i\cup R}\) and nodedisjoint from the paths in \({\mathcal {P}_F}\).
 (a)
 4.
If \({b={\textit{free}}}\), there is no path in \({\mathcal {P}_e\cup \mathcal {P}_F}\) visiting v.
 1.When \({b={\textit{free}}}\), node v is not allowed to be visited by any path, especially by any path in \({F_{v}^{i1}\cup R}\). Hence, \({T[v,i,\mathcal {M}_e',u,{\textit{free}}]}\) is equal to$$\begin{aligned} T[v,i1,\mathcal {M}_{e1}',u,{\textit{free}}] + T[v_i,c_{v_i},\mathcal {M}_{e2}',u,{\textit{blocked}}]. \end{aligned}$$
 2.When \({b={\textit{tobeused}}}\), we have to realize (u, v) in \({F_{v}^{i}\cup R}\). For this, there are two possibilities: Either (u, v) is realized by a path in \({F_{v}^{i1}\cup R}\), or there is a realizing path that first goes through \({F_{v_i}\cup R}\) and then reaches v via the edge \({(v_i, v)}\). Hence, for the first possibility, we considerfor the second possibility, we consider$$\begin{aligned} T[v,i1,\mathcal {M}_{e1}',u,{\textit{tobeused}}] + T[v_i,c_{v_i},\mathcal {M}_{e2}',u,{\textit{blocked}}], \end{aligned}$$Maximizing over both, we obtain \({T[v,i,\mathcal {M}_e',u,{\textit{tobeused}}]}\).$$\begin{aligned} T[v,i1,\mathcal {M}_{e1}',u,{\textit{free}}] + T[v_i,c_{v_i},\mathcal {M}_{e2}',u,{\textit{tobeused}}]. \end{aligned}$$
 3.When \({b={\textit{blocked}}}\), we will also consider two cases. In the first one, there is no path in \({\mathcal {P}_e\cup \mathcal {P}_F}\) going through edge \({(v_i,v)}\), hence, we get the termIn the second case, there is a path P in \({\mathcal {P}_e\cup \mathcal {P}_F}\) going through edge \({(v_i,v)}\). Since P is connecting two leaves in \({F_{v}^{i}}\), a part of P is in \({F_{v}^{i1}\cup R}\) and the other part is in \({F_{v_i}\cup R}\). If \({P\in \mathcal {P}_e}\), then it is realizing a pair of \({\mathcal {M}_{e}'}\). Hence, for every pair \({(u_1,u_2)\in \mathcal {M}_{e}'}\), we have to consider the term$$\begin{aligned} T[v,i1,\mathcal {M}_{e1}',u,{\textit{blocked}}] + T[v_i,c_{v_i},\mathcal {M}_{e2}',u,{\textit{blocked}}]. \end{aligned}$$and the symmetric term where we swap \({u_1}\) and \({u_2}\). If \({P\in \mathcal {P}_F}\), then it is realizing a terminal pair of \({\overline{\mathcal {M}}_R}\). Hence, for every pair \({(u_1,u_2)\in \overline{\mathcal {M}}_R}\) we get the term$$\begin{aligned}&T[v,i1,\mathcal {M}_{e1}'(u_1,u_2),u_1,{\textit{tobeused}}]\\&\quad +~T[v_i,c_{v_i},\mathcal {M}_{e2}'(u_1,u_2),u_2,{\textit{tobeused}}] \end{aligned}$$and the symmetric term where we swap \({u_1}\) and \({u_2}\). Note that we count the path realizing \({(u_1,u_2)}\) in our objective. Maximizing over all the terms of the two cases, we obtain \({T[v,i,\mathcal {M}_e',u,{\textit{tobeused}}]}\).$$\begin{aligned} 1+ T[v,i1,\mathcal {M}_{e1}',u_1,{\textit{tobeused}}] + T[v_i,c_{v_i},\mathcal {M}_{e2}',u_2,{\textit{tobeused}}] \end{aligned}$$
5.2 Analysis
5.3 Reconstruction of an optimal routing
Above, we computed only the cardinality of the routing \({\mathcal {P}}\). Now we discuss how to compute an optimal routing of size \({\mathcal {P}}\) without asymptotically increasing the total run time. For every nonleaf entry of T, we take a term that maximized its value and define the (at most two) entries appearing in the term as its children. We can do this while computing T without increasing the asymptotic run time. By considering all the children that (recursively) contributed to the entry with the optimum value of the root node, we obtain a computation tree. Going over the computation tree from bottom to top, we compute for each entry of the tree its set of paths \({\mathcal {P}_e\cup \mathcal {P}_F}\). We store the set as a linked list with pointers to the paths which themselves are stored as linked lists of their nodes. Whenever we concatenate two lists, we will not create a new copy but reuse one of them. This will give us constant time for concatenation. Note that for almost all entries we obtain \({\mathcal {P}_e\cup \mathcal {P}_F}\) by just taking the union of the paths of its children. Hence, we just concatenate the lists of its children (at most two) in constant time. The only exception are entries where \({b={\textit{blocked}}}\) and a path P is going through the node given by the first parameter v of the entry. Here, we obtain P by concatenating two paths, where each one belongs to a different child of the entry. Then we add the concatenated path to the union of the remaining paths of the children. The operation to find the two paths that we want to concatenate takes \({\mathcal {O}(\mathcal {P}_e\cup \mathcal {P}_F)=\mathcal {O}(k + r)}\) time. The remaining steps to compute \({\mathcal {P}_e\cup \mathcal {P}_F}\) also take constant time. Thus, for each entry of the tree, we can bound the run time by \({\mathcal {O}(k + r)}\). Note that in the computation tree there is exactly one entry for each subtree \({F_v^i}\), hence, in total there are \({\mathcal {O}(n)}\) entries. Thus, our approach takes additional time of \({(k + r) \cdot \mathcal {O}(n)}\) to compute the paths \({\mathcal {P}_e\cup \mathcal {P}_F}\). Finally, the time needed to accordingly concatenate the paths in \({\mathcal {P}_e}\) to get a routing for \({\mathcal {M}_R}\) takes at most \({\mathcal {O}(\mathcal {P}_e^2) =\mathcal {O}(r^2)}\) time. Hence, in time \({(8k+8r)^{2r+3}\cdot \mathcal {O}(n)}\) we can compute an optimal routing, asymptotically matching the time needed to compute its cardinality.
This finishes the proof of Theorem 3. \(\square \)
6 Parameterized intractability of MaxNDP for the Parameter r
In this section, we prove Theorem 4, that is, we show that MaxNDP is \({\mathsf {W}[1]}\)hard parameterized by feedback vertex set number. This reduction was originally devised for the parameter treedepth by Ene et al. [21]; we notice that the same reduction also works for the parameter r. (Both treedepth and feedback vertex set number are restrictions of treewidth, but they are incomparable to each other.)
For sake of completeness, we include the reduction here, and argue about the feedback vertex set number of the reduced graph. The reduction is from the W[1]hard Multicolored Clique problem [23], where given a graph G and a partition of V(G) into q independent sets \({V^1,\ldots ,V^q}\), we are to check if there exists a qclique in G with exactly one vertex in every set \({V^i}\). By adding dummy vertices, we can assume \({q\ge 2}\) and \({V^i = n}\) for some n with \({n \ge 2}\) and every i with \({1\le i \le q}\).
Construction Given an instance \({(G,(V^i)_{i=1}^q)}\) of Multicolored Clique, we aim at constructing an equivalent instance \({(H,\mathcal {M},\ell )}\) of MaxNDP consisting of a graph H with feedback vertex set number bounded by a function of q, a set M of terminal pairs, and an integer \({\ell }\). The graph H will contain \({\ell }\) nodedisjoint paths, each one routing a distinct terminal pair in M, if and only if \({(G,(V^i)_{i=1}^q)}\) is a “yes”instance.
To encode adjacencies in G, we proceed as follows. For every i and j with \({1 \le i < j \le q}\), we add a vertex \({p_{i,j}}\) adjacent to all vertices in \({\{x_{v,j}^i \mid v \in V^i\}}\) and in \({\{x_{w,i}^j \mid w \in V^j\}}\); see Fig. 5. For every edge \({vw \in E(G)}\) with \({v \in V^i}\) and \({w \in V^j}\), we add a terminal pair \({(x_{v,j}^i, x_{w,i}^j)}\). Let \({\mathcal {M}_x}\) be the set of terminal pairs constructed in this step; we have \({\mathcal {M} = \mathcal {M}_{st} \cup \mathcal {M}_x}\).
From a clique to disjoint paths Assume that the given instance of Multicolored Clique is a “yes”instance, and let \({\{v^i\mid i\in \{1,\ldots ,q\} \}}\) be a clique in G with \({v^i \in V^i}\) for each \({i \in \{1,\ldots ,q\}}\). We construct a family of \({\ell }\) nodedisjoint paths as follows. First, for every \({i \in \{1,\ldots ,q\}}\) and every \({v \in V^i {\setminus } \{u^i\}}\), we route a path from \({s^i_v}\) to \({t^i_v}\) through the path \({X_v^i}\) if \({v \ne v^i}\), and through the path \({X_{u^i}^i}\) if \({v = v^i}\). Note that in this step we have created \({q(n1)}\) nodedisjoint paths connecting terminal pairs, and in every gadget \({W^i}\) the only unused vertices are vertices on the path \({X_{v^i}^i}\). To construct the remaining \({\left( {\begin{array}{c}q\\ 2\end{array}}\right) }\) paths, for every i and j with \({1 \le i < j \le q}\), we take the 3vertex path from \({x_{v^i,j}^i}\) to \({x_{v^j,i}^j}\) through \({p_{i,j}}\); note that the assumption \({v^iv^j \in E(G)}\) ensures that \({(x_{v^i,j}^i, x_{v^j,i}^j)}\) is indeed a terminal pair in \({\mathcal {M}}\).
We claim that \({\{v^i\mid i=1,\ldots ,q\}}\) is a clique in G. To this end, consider any \({p_{i,j}\in P}\). Since \({\mathcal {P}_x = P}\), there exists a path in \({\mathcal {P}_x}\) that goes through \({p_{i,j}}\). Moreover, this path has exactly three vertices. Since the only neighbors of \({p_{i,j}}\) that are not used by paths from \({\mathcal {P}_{st}}\) are \({x_{v^i,j}^i}\) and \({x_{v^j,i}^j}\), we infer that \({(x_{v^i,j}^i, x_{v^j,i}^j)}\) is a terminal pair in \({\mathcal {M}}\) and, consequently, \(v^iv^j \in E(G)\). This concludes the proof of the correctness of the construction.
Bounding the feedback vertex set number We are left with a proof that H has bounded feedback vertex set number in q.
This finishes the proof of Theorem 4. \(\square \)
7 Hardness of edgedisjoint paths in almostforests
In this section, we show that EDP is \({\mathsf {NP}}\)hard already in graphs that become forests after deleting two nodes. Though this immediately implies \({\mathsf {NP}}\)hardness for MaxEDP in such graphs, we show that MaxEDP is \({\mathsf {NP}}\)hard even in graphs that become forests after deleting just one node. Thus, we prove Theorem 5.
Proof of Theorem 5
Regarding correctness of the reduction, we show that H is 3edgecolorable if and only if all pairs in \({\mathcal {M}}\) can be routed in G.
In the forward direction, suppose that H is 3edgecolorable by a proper coloring \({\varphi :E(H)\rightarrow \{1,2,3\}}\). For \({c \in \{1,2,3\}}\), let \({E_c\subseteq E(H)}\) be the set of edges that receive color c under \({\varphi }\). Then there is a routing in G that, for every \({c \in \{1,2,3\}}\), routes all terminal pairs \({\{(s,t)\in \mathcal {M}\mid \{s,t\}\in E_c\}}\) exclusively via the node \({v_c}\) (and thus via paths of length 2). Note that this routing indeed yields edgedisjoint paths. Otherwise there were an edge \({\{s,v_c\}}\) in E(H) contained in at least two paths that route two terminal pairs \({\{s,t_1\}}\) and \({\{s,t_2\}}\). Hence, the two edges in E(H) corresponding to \({\{s,t_1\}}\) and \({\{s,t_2\}}\) would receive the same color c in \({\varphi }\); a contradiction to the proper edgecoloring \({\varphi }\) as both edges are incident on s.
In the backward direction, suppose that all terminal pairs in \({\mathcal {M}}\) can be routed in G. Since H is cubic, any node \({s\in V(H)}\) is contained in three terminal pairs. Therefore, no path of the routing can have a node in V(H) as an internal node and thus all paths in the routing have length 2. Then this routing naturally corresponds to a proper 3edgecoloring \({\varphi }\) of H, where any terminal pair \({\{s,t\}}\) routed via \({v_c\in \{v_1,v_2,v_3\}}\) means that we color the edge \({\{s,t\}\in E(H)}\) with color c under \({\varphi }\).
In order to show \({\mathsf {NP}}\)hardness of MaxEDP for \({r=1}\), we also reduce from Edge 3Coloring in cubic graphs and perform a similar construction as described above: This time, we construct a bipartite graph G with one subset of the partition being \({\{v_1,v_2\}}\), the other being V(H), and the set \({\mathcal {M}}\) of terminal pairs being again specified by the edges of H; see Fig. 6a, c. This completes the reduction. The resulting graph G has feedback vertex set number \({r=1}\).
We claim that H is 3colorable if and only if we can route \({n=V(H)}\) pairs in G.
In the forward direction, suppose that H is 3edgecolorable by a proper coloring \({\varphi :E(H)\rightarrow \{1,2,3\}}\). For \({c \in \{1,2,3\}}\), let \({E_c\subseteq E(H)}\) be the set of edges that receive color c under \({\varphi }\). Then there is a routing in G that, for every \({c\in \{1,2\}}\), routes all terminal pairs \({\{(s,t)\in \mathcal {M}\mid \{s,t\}\in E_c\}}\) exclusively via the node \({v_c}\) (and thus via paths of length 2). Note that the terminals corresponding to edges receiving color 3 remain unrouted. The reasoning that the resulting routing is feasible is analogous to the case of \({r=2}\). To see that precisely n terminal pairs are routed overall, observe that, for each of the n terminals, exactly two of the three terminal pairs are routed.
In the backward direction, suppose that n terminal pairs in \({\mathcal {M}}\) can be routed in G. Since every terminal v in G has degree two, at most two paths can be routed for v. As n terminal pairs are realized, this also means that exactly two paths are routed for each terminal. Hence, none of the paths in the routing has length more than two. Otherwise, it would contain an internal node in V(H), which then could not be part of two other paths in the routing. Then this routing naturally corresponds to a partial edgecoloring of H, where any terminal pair \({\{s,t\}}\) routed via \({v_c\in \{v_1,v_2\}}\) implies that we color the edge \({\{s,t\}\in E(H)}\) with color c. Since each terminal v in V(H) is involved in exactly two paths in the routing, exactly one terminal pair for v remains unrouted. Hence, exactly one edge incident on v in H remains uncolored in the partial coloring. We color all uncolored edges in H by color 3 to obtain a proper 3edgecoloring. \(\square \)
Thus, we almost close the complexity gap for EDP with respect to the size of a minimum feedback vertex set, only leaving the complexity of the case \({r = 1}\) open.
8 Concluding remarks
In this paper, we examined the problems of routing terminal pairs by edge and nodedisjoint paths in graphs of bounded feedback vertex set number r. We observed that our obtained approximability bounds, expressed in terms of r, either strengthen best known bounds or they are almost tight. This leads us to the conclusion that the parameter r in fact captures the “difficulty” of disjoint paths problems.
In particular, for MaxEDP, we obtained a constantfactor approximation algorithm with congestion logarithmic in \({k+r}\), where k is the number of terminal pairs. This strengthens the bound obtained by directly applying the randomized rounding technique for LPs introduced by Raghavan and Thompson [40]. Though also we applied this technique, beforehand we appropriately modified the fractional LP solution by making use of the forest that one obtains when removing the feedback vertex set from the graph. For our next result, we used the solution above to extract \({{\text {OPT}}^{*}/\mathcal {O}({\sqrt{r}\log (kr)})}\) edgedisjoint paths out of it, where \({{\text {OPT}}^{*}}\) denotes the value of an optimum fractional solution. This strengthens, up to a logarithmic factor, the best known bound of \({{\text {OPT}}^{*}/\mathcal {O}(\sqrt{n})}\) [11]. We achieved our result by contracting “redundant” edges in the input graph and in the routing which lead to an “irreducible” routing from which we could greedily pick up our solution. The result shows that in order to improve the best known bound it suffices to focus only on graphs with feedback vertex set number close to n.
We also complemented the upper bounds with hardness results. We observed that the complexities of both problems, routing nodedisjoint paths and edgedisjointpaths, differ when r is constant. Whereas NDP [43] and MaxNDP are efficiently solvable for any constant r, EDP and MaxEDP are \({\mathsf {NP}}\)hard even for \({r=2}\) and \({r=1}\), respectively. Here, the complexity of EDP remains open for \({r=1}\) and we conjecture that this case can be solved in polynomial time. When considering r as part of the input, we can separate NDP and MaxNDP (if \(\mathsf {FPT}\ne \mathsf {W}[1]\)). We showed \({\mathsf {W}[1]}\)hardness of MaxNDP when parameterized by r, whereas NDP is fixedparameterized tractable in r [43]. However, we were able to provide a fixedparameter algorithm for the combined parameter \({k+r}\).
Notes
Acknowledgements
Open access funding provided by Max Planck Society.
References
 1.Adler, I., Kolliopoulos, S.G., Krause, P.K., Lokshtanov, D., Saurabh, S., Thilikos, D.: Tight bounds for linkages in planar graphs. In: Proceedings of ICALP 2011, Lecture Notes in Computer Science, vol. 6755, pp. 110–121 (2011)Google Scholar
 2.Andrews, M.: Approximation algorithms for the edgedisjoint paths problem via Räcke decompositions. In: Proceedings of FOCS 2010, pp. 277–286 (2010)Google Scholar
 3.Aumann, Y., Rabani, Y.: Improved bounds for all optical routing. In: Proceedings of SODA 1995, pp. 567–576 (1995)Google Scholar
 4.Aumann, Y., Rabani, Y.: An \(\cal{O}\)(log k) approximate mincut maxflow theorem and approximation algorithm. SIAM J. Comput. 27(1), 291–301 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
 5.Awerbuch, B., Gawlick, R., Leighton, T., Rabani, Y.: Online admission control and circuit routing for high performance computing and communication. In: Proceedings of FOCS 1994, pp. 412–423 (1994)Google Scholar
 6.Bafna, V., Berman, P., Fujito, T.: A \(2\)approximation algorithm for the undirected feedback vertex set problem. SIAM J. Discrete Math. 12(3), 289–297 (1999). (electronic)MathSciNetCrossRefzbMATHGoogle Scholar
 7.Bodlaender, H.L., Thomassé, S., Yeo, A.: Kernel bounds for disjoint cycles and disjoint paths. Theoret. Comput. Sci. 412(35), 4570–4578 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
 8.Broder, A.Z., Frieze, A.M., Suen, S., Upfal, E.: Optimal construction of edgedisjoint paths in random graphs. SIAM J. Comput. 28(2), 541–573 (1999). (electronic)MathSciNetCrossRefzbMATHGoogle Scholar
 9.Broder, A.Z., Frieze, A.M., Upfal, E.: Existence and construction of edgedisjoint paths on expander graphs. SIAM J. Comput. 23(5), 976–989 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
 10.Chekuri, C., Ene, A.: Polylogarithmic approximation for maximum node disjoint paths with constant congestion. In: Proceedings of SODA 2013, pp. 326–341 (2013)Google Scholar
 11.Chekuri, C., Khanna, S., Shepherd, F.B.: An \(\cal{O}(\sqrt{n})\) approximation and integrality gap for disjoint paths and unsplittable flow. Theory Comput. 2, 137–146 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
 12.Chekuri, C., Khanna, S., Shepherd, F.B.: A note on multiflows and treewidth. Algorithmica 54(3), 400–412 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
 13.Chekuri, C., Mydlarz, M., Shepherd, F.B.: Multicommodity demand flow in a tree and packing integer programs. ACM Trans. Algorithms 3(3), Art. 27, 23 (2007)Google Scholar
 14.Chekuri, C., Naves, G., Shepherd, F.B.: Maximum edgedisjoint paths in \(k\)sums of graphs. Technical Report. http://arxiv.org/abs/1303.4897
 15.Chekuri, C., Naves, G., Shepherd, F.B.: Maximum edgedisjoint paths in \(k\)sums of graphs. In: Proceedings of ICALP 2013, Lecture Notes in Computer Sciences, vol. 7965, pp. 328–339 (2013)Google Scholar
 16.Chekuri, C., Shepherd, F.B., Weibel, C.: Flowcut gaps for integer and fractional multiflows. J. Comb. Theory Ser. B 103(2), 248–273 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
 17.Chuzhoy, J.: Routing in undirected graphs with constant congestion. In: Proceedings of STOC 2012, pp. 855–874 (2012)Google Scholar
 18.Chuzhoy, J., Kim, D.H.K., Li, S.: Improved approximation for nodedisjoint paths in planar graphs. In: Proceedings of STOC 2016, pp. 556–569 (2016)Google Scholar
 19.Chuzhoy, J., Kim, D.H.K., Nimavat, R.: New hardness results for routing on disjoint paths. Proc. STOC 2017, 86–99 (2017)MathSciNetzbMATHGoogle Scholar
 20.Chuzhoy, J., Li, S.: A polylogarithmic approximation algorithm for edgedisjoint paths with congestion 2. In: Proceedings of FOCS 2012, pp. 233–242 (2012)Google Scholar
 21.Ene, A., Mnich, M., Pilipczuk, M., Risteski, A.: On routing disjoint paths in bounded treewidth graphs. In: Proceedings of SWAT 2016, Leibniz International Proceedings in Informatics, vol. 53, pp. 15:1–15:15 (2016)Google Scholar
 22.Even, S., Itai, A., Shamir, A.: On the complexity of time table and multicommodity flow problems. In: Proceedings of FOCS 1975, SFCS ’75, pp. 184–193. IEEE Computer Society, Washington, DC, USA (1975)Google Scholar
 23.Fellows, M.R., Hermelin, D., Rosamond, F., Vialette, S.: On the parameterized complexity of multipleinterval graph problems. Theoret. Comput. Sci. 410(1), 53–61 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
 24.Fleszar, K., Mnich, M., Spoerhase, J.: New algorithms for maximum disjoint paths based on treelikeness. In: Proceedings of ESA 2016, pp. 42:1–42:17 (2016)Google Scholar
 25.Frieze, A.M.: Edgedisjoint paths in expander graphs. SIAM J. Comput. 30(6), 1790–1801 (2001). (electronic)MathSciNetCrossRefzbMATHGoogle Scholar
 26.Garg, N., Vazirani, V.V., Yannakakis, M.: Primaldual approximation algorithms for integral flow and multicut in trees. Algorithmica 18(1), 3–20 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
 27.Günlük, O.: A new mincut maxflow ratio for multicommodity flows. SIAM J. Discrete Math. 21(1), 1–15 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
 28.Holyer, I.: The NPcompleteness of edgecoloring. SIAM J. Comput. 10(4), 718–720 (1981)MathSciNetCrossRefzbMATHGoogle Scholar
 29.Karp, R.M.: On the computational complexity of combinatorial problems. Networks 5, 45–68 (1975)CrossRefzbMATHGoogle Scholar
 30.Kawarabayashi, K.I., Wollan, P.: A shorter proof of the graph minor algorithm: the unique linkage theorem. In: Proceedings of STOC 2010, pp. 687–694 (2010)Google Scholar
 31.Kawarabayashi, K.i., Kobayashi, Y.: An \(\cal O\it (\log n)\)Approximation Algorithm for the Disjoint Paths Problem in Eulerian Planar Graphs and 4EdgeConnected Planar Graphs, pp. 274–286 (2010)Google Scholar
 32.Kleinberg, J., Rubinfeld, R.: Short paths in expander graphs. In: Proceedings of FOCS 1996, pp. 86–95 (1996)Google Scholar
 33.Kleinberg, J., Tardos, É.: Disjoint paths in densely embedded graphs. In: Proceedings of FOCS 1995, pp. 52–61 (1995)Google Scholar
 34.Kleinberg, J., Tardos, É.: Approximations for the disjoint paths problem in highdiameter planar networks. J. Comput. Syst. Sci. 57(1), 61–73 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
 35.Kolliopoulos, S.G., Stein, C.: Approximating disjointpath problems using packing integer programs. Math. Program. 99(1), 63–87 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
 36.Leighton, T., Rao, S.: Multicommodity maxflow mincut theorems and their use in designing approximation algorithms. J. ACM 46(6), 787–832 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
 37.Linial, N., London, E., Rabinovich, Y.: The geometry of graphs and some of its algorithmic applications. Combinatorica 15(2), 215–245 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
 38.Lokshtanov, D., Ramanujan, M.S., Saurabh, S.: Linear time parameterized algorithms for subset feedback vertex set. In: Proceedings of ICALP 2015, pp. 935–946 (2015)Google Scholar
 39.Nishizeki, T., Vygen, J., Zhou, X.: The edgedisjoint paths problem is NPcomplete for seriesparallel graphs. Discrete Appl. Math. 115(1–3), 177–186 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
 40.Raghavan, P., Tompson, C.D.: Randomized rounding: a technique for provably good algorithms and algorithmic proofs. Combinatorica 7(4), 365–374 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
 41.Rao, S., Zhou, S.: Edge disjoint paths in moderately connected graphs. SIAM J. Comput. 39(5), 1856–1887 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
 42.Robertson, N., Seymour, P.D.: Graph minors. XIII. The disjoint paths problem. J. Comb. Theory Ser. B 63(1), 65–110 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
 43.Scheffler, P.: A practical linear time algorithm for disjoint paths in graphs with bounded treewidth. Technical Report TR 396/1994, FU Berlin, Fachbereich 3 Mathematik (1994)Google Scholar
 44.SéguinCharbonneau, L., Shepherd, F.B.: Maximum edgedisjoint paths in planar graphs with congestion 2. In: Proceedings of FOCS 2011, pp. 200–209 (2011)Google Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.