Routing with Congestion in Acyclic Digraphs

We study the version of the $k$-disjoint paths problem where $k$ demand pairs $(s_1,t_1)$, $\dots$, $(s_k,t_k)$ are specified in the input and the paths in the solution are allowed to intersect, but such that no vertex is on more than $c$ paths. We show that on directed acyclic graphs the problem is solvable in time $n^{O(d)}$ if we allow congestion $k-d$ for $k$ paths. Furthermore, we show that, under a suitable complexity theoretic assumption, the problem cannot be solved in time $f(k)n^{o(d/\log d)}$ for any computable function $f$.


Introduction
The k-disjoint paths problem and related routing problems are among the central problems in combinatorial optimisation. In the most basic variant of the k-disjoint paths problem, a graph G is given with k pairs (s 1 , t 1 ), . . . , (s k , t k ) of vertices and the task is to find k pairwise vertex-disjoint paths linking each s i to its corresponding target t i . The problem is well known to be NP-complete [14]. On undirected graphs with a fixed number k of source/terminal pairs, Robertson and Seymour proved in their monumental graph minor series [21] that the problem is polynomial-time solvable. In fact, they showed that it is fixed-parameter tractable with parameter k: it can be solved in cubic time for every fixed value of k.
For directed graphs, the problem is computationally much harder. Fortune et al. [15] proved that it is already NP-complete for only k = 2 source/terminal pairs. In particular, this also implies that it is not fixed-parameter tractable on directed graphs. Following this result a lot of work has gone into establishing more efficient algorithms on restricted classes of digraphs.
Fortune et al. [15] showed that the problem can be solved in time n O(k) on acyclic digraphs, that is, it is polynomial-time for every fixed k. However, as proved by Slivkins [22], the problem is W [1]-hard on acyclic digraphs, and therefore unlikely to be fixed-parameter tractable. On the other hand, Cygan et al. [11] proved that the problem is fixed-parameter tractable with parmeter k when restricted to planar digraphs. Related to this, Amiri et al. [1] proved that the problem remains NP-complete even in upward planar graphs, but admits a single exponential fixed-parameter algorithm.

Preliminaries
We review basic notation and concepts of graph theory needed in the paper. We refer to [3,13] for background. Let G be a digraph. We write V (G) and E(G) for its set of vertices and edges, respectively. We assume that there is no edge with the same head and tail, i.e. there are no loops in the digraphs we consider in this paper. If (u, v) ∈ E(G) is an edge, then u is its tail and v is its head. G is simple if there are no two distinct edges which have the same tail and the same head. Otherwise we call G a multi digraph.

A polynomial-time algorithm on acyclic digraphs
In this section we prove the first main result of this paper, Theorem 3, which we repeat here for convenience. We first need some additional notation and prove some auxiliary lemmas.

Definition 5.
Let G be a digraph and let L be a set of paths in G. For every v ∈ V (G) we define the congestion of v with respect to L as the number of paths in L containing v.
The following lemma provides a simple extension of the algorithm from [15] for disjoint paths in acyclic digraphs.
Then H contains k pairwise vertex disjoint paths P 1 , . . . , P k such that P i links (s i , 1) to (t i , 1) if, and only if, there is a positive solution to the (k, c)-Congestion Routing Problem on G. By the algorithm in [15] we can decide whether the paths P 1 , . . . , P k exist in H in time |V (H)| O(k) and hence in time (c · n) O(k) = n O(k) as c ≤ n.
We will use this lemma in the form given in the next corollary. The next lemma provides the main reduction argument for proving Theorem 3. . . ,P k } be a (k − d)-routing of I such thatP i links s i to t i , for all 1 ≤ i ≤ k. We define a multi digraph G on the same vertex set V (G) as G as follows. For every pair u, v ∈ V (G ) such that e = (u, v) ∈ E(G) and every 1 ≤ i ≤ k, if e occurs on the pathP i ∈ S, then we add a new edge e i = (u, v) to G . Hence, if any edge e ∈ E(G) is used by different paths inŜ, then G contains parallel edges between the endpoints of e. In the rest of the proof we will work on the multi digraph G . We can now take a set S := {P 1 , . . . , P k } of pairwise edge disjoint paths, where P i is the path from s i to t i induced by the edge set {e i : e ∈ E(P i )}. That is, by using the parallel edges, we can turn the routingŜ into a (k−d)-routing S of I where the paths are mutually edge disjoint.
In the remainder of the proof we will construct a subset I I of order k − 1 and a (k − d − 1)-routing of I in G which is pairwise edge disjoint. This naturally induces a (k − d − 1)-routing of I in G. Note that in G , if L is any set of pairwise edge disjoint paths, then the congestion of any vertex with respect to L is at most the congestion of the vertex with respect to S (and thusŜ) in G (and G, respectively).
Let be a topological ordering of G and let A := {a 1 , . . . , a } be the set of vertices of congestion k − d with respect to S such that a i a j whenever i < j. As k > 3d, for all For 1 ≤ i ≤ k, an atomic subpath of P i (with respect to S) is a subpath of P i that starts and ends in a vertex of A ∪ {s i , t i } and is internally vertex disjoint from A. Hence, every path P i ∈ S consists of the concatenation P 1 1 · · · · · P i i of its atomic subpaths where we identify the last vertex of P j i with the first vertex of P j+1 i for all 1 ≤ j < i . Note that any two atomic subpaths of paths P i , P j in S are pairwise edge disjoint.
Let I ⊂ I be a subset of order k − 1. A routing S := {P 1 , . . . , P k−1 } of I is conservative with respect to S if it consists of pairwise edge disjoint paths and every path in S consists of a concatenation of atomic subpaths of paths in S. In the sequel, whenever we speak of a conservative I -routing we implicitly mean that it is conservative with respect to S.
If S is a conservative I -routing with respect to S, then it consists of pairwise edge disjoint paths and hence for every v ∈ V (G) the congestion of v with respect to S is at most the congestion of v with respect to S.
Let 1 ≤ i 1 < i 2 ≤ and let 1 ≤ j ≤ k. Let S be a conservative I -routing. An (i 1 , i 2 )jump of colour j is a subpath P of P j from a i1 to a i2 such that for all i with i 1 < i < i 2 the vertex a i is not on P j . Note that any jump is an atomic subpath. We call the jump P free with respect to S if P is not used by any path in S .
We are now ready to complete the proof of the lemma. Note first that, as k > 3d, for any three vertices b 1 -routing of I and we are done. Otherwise, for every vertex a r ∈ A which has congestion k − d with respect to S \ {P h } there are i, j with i < r < j and an (i, j)-jump P of colour h. This follows as a 1 , a ∈ V (P h ). Note also that a 1 and a have congestion Thus, it is easily seen that S \ {P h } satisfies the following two properties: Now let S be a routing of I which satisfies Condition 1 and 2 (with respect to S instead of S \ {P h }) and, subject to this, the number of vertices of congestion k − d with respect to S is minimal. We Towards a contradiction, suppose there is a vertex a r of congestion k − d with respect to S . As S is conservative, we have a r ∈ A. Hence, by assumption, there are i < r < j and a free (i, j)-jump P with respect to S .
Let Q h be a path in S that contains a i , a r and a j , which exists by Condition 2. Let h is the initial subpath of Q h from its first vertex to a i , Q 2 h is the subpath starting at a i and ending in a j and Q 3 h is the subpath starting in a j and ending at the end of Q h .
We define Q h := Q 1 h ∪ P ∪ Q 2 h , i.e. Q h is the path obtained from Q h by replacing the inner subpath Q 2 h by the (i, j)-jump P . Let L := (S \ {Q h }) ∪ {Q h }. Then L is a routing of I . It is also conservative as we have only rerouted a single path along a free jump.
We need to show that for all b 1 , b 2 , b 3 of congestion k − d with respect to L there is a path Q ∈ L containing b 1 , b 2 , b 3 . By assumption, such a path Q exists in S . If Q = Q h , then we are done. So suppose Q h = Q . But then this implies that b s ∈ {a i+1 , . . . , a j−1 } for all 1 ≤ s ≤ 3 as otherwise the congestion of b s would have dropped to k − d − 1 in L. But It remains to show that for every vertex a s of congestion k − d with respect to L there is a free (i, j)-jump for some i < s < j. As before, by assumption, there are s 1 < s < s 2 and a free (s 1 , s 2 )-jump with respect to S . If this jump is not P , then it still exists with respect to L and we are done. So suppose this jump is P , which implies that i < s < j. Furthermore, a s ∈ Q h as otherwise the congestion of a s in L would be k − d − 1. But then, there must be indices i 1 , i 2 with i ≤ i 1 < s < i 2 ≤ j such that a i1 , a i2 ∈ V (Q h ) and a s ∈ V (Q h ) for all i 1 < s < i 2 . Hence, the atomic subpath Q of Q h from a i1 to a i2 is an (i 1 , i 2 )-jump as required. As Q ⊆ Q 2 h , this jump is now free. Finally, the vertex a r now has congestion k − d − 1 with respect to L as a r is not contained in Q h . Hence, L has fewer vertices of congestion k − d than S , contradicting the choice of S . Thus, S must have been a (k − d − 1)-routing of I as required. This completes the proof of the lemma.
The previous lemma has the following consequene which essentially implies Theorem 3.

Corollary 9.
Let G be an acyclic digraph, let d ≥ 0 and let I := {(s 1 , t 1 ), . . . , (s k , t k )} be a set of pairs of vertices such that for all 1 ≤ i ≤ k there is a path in G linking s i to t i . G contains a (k − d)-routing of I if, and only if, there is a subset I ⊆ I of order |I | ≤ 3d such that G contains a (k−dc)-routing of I . If k ≥ 3d, then I can be chosen of size exactly 3d.
We are now ready to prove Theorem 3. G, k, d and I := {(s 1 , t 1 ), . . . , (s k , t k )} be given. Let n := |G|. If for some 1 ≤ i ≤ k there is no path in G from s i to t i , then the answer is no and we are done. If k ≤ 3d, then we can apply Corollary 7 to compute the answer in time n O(d) as required.

Proof of Theorem 3. Let
Otherwise, by Corollary 9, there is a (k − d)-routing for I in G if, and only if, there is a subset I I of order 3d such that I has a (3d − d)-routing. There are k 3d ≤ k 3d ≤ n 3d subsets I of order 3d. By Corollary 7, we can decide for any such I of order 3d in time

Lower Bounds
In this section, we prove Theorem 2 by a reduction from Partitioned Subgraph Isomorphism. The input of the Partitioned Subgraph Isomorphism problem consists of a graph H with vertex set {u 1 , . . . , u k } and a graph G whose vertex set is partitioned into k classes V 1 , . . . , V k . The task is to find a mapping µ : To prove Theorem 2, we need a reduction from Partitioned Subgraph Isomorphism (for 3-regular bipartite graphs) to (k, c)-Congestion Routing, where the number k of demands is linear in the number of vertics of H.
Proof (of Theorem 2). We prove the theorem by a reduction from Partitioned Subgraph Isomorphism. Let H and G be two graphs, let V (H) = {u 1 , . . . , u k }, and let (V 1 , . . . , V k ) be a partition of V (G). By copying vertices if necessary, we may assume that every V i has the same size n; let us denote by {v i,1 , . . . , v i,n } the vertices in V i . By Theorem 10, we may assume that H is 3-regular and bipartite. This means that H has exactly h = 3k/2 edges and both partite classes contain k/2 vertices. Without loss of generality, we can assume that U 1 = {u 1 , . . . , u k/2 } and U 2 = {u k/2+1 , . . . , u k } are the two partite classes. Let us fix an arbitrary ordering e 1 , . . . , e h of the edges of H.
Construction. We construct an instance of (k, c)-Congestion Routing the following way. We construct a directed graph D that contains, for every 1 ≤ i ≤ k, two directed paths Q i and Q i (see Figure 1). Path Q i has n(h + 1) + 1 vertices: it contains the vertices q i,0 , . . . , q i,n in this order and additionally, for every 1 ≤ j ≤ n, the vertices q i,j,1 , . . . , q i,j,h are inserted between q i,j−1 and q i,j . The path Q i is defined the same way, with vertices q instead of q. For every 1 ≤ ≤ h, we introduce two vertices s and t . Then we complete the construction of the graph D by introducing further edges as follows.  For every 1 ≤ i ≤ k and 1 ≤ j ≤ n, we introduce the edge (q i,j−1 , q i,j ) (the curved bypass edges in Figure 1). For every 1 ≤ i ≤ k, 1 ≤ j ≤ n, and 1 ≤ s ≤ h, we introduce the edge (q i,j,s , q i,j,s ) (the vertical edges in Figure 1). For every 1 ≤ ≤ h, we do the following. Suppose that edge e of H connects u ia and u i b for some 1 ≤ i a ≤ k/2 and k/2 Then for every pair of vertices v ia,ja ∈ V ia and v i b ,j b ∈ V i b that are adjacent in G, we introduce the following three edges into D: and (q i b ,j b , , t ). To complete the construction of the (k, c)-Congestion Routing instance, we define the following set of k + 2k(c − 1) + h demands: For every 1 ≤ i ≤ k, we introduce the demand (q i,0 , q i,n ) (vertex demands).
For every 1 ≤ i ≤ k, we introduce c − 1 copies of the demand (q i,0 , q i,n ) (blocking demands). For every 1 ≤ i ≤ k, we introduce c − 1 copies of the demand (q i,0 , q i,n ) (blocking demands). For every 1 ≤ ≤ h, we introduce the demand (s , t ) (edge demands). Note that, for every fixed c ≥ 1, the number of demands is O(k). In the rest of the proof, we show that a routing with congestion c exists if and only if the Partitioned Subgraph Isomorphism instance has a solution. Then the W[1]-hardness and lower bound stated in Theorem 10 implies the same hardness results for the routing problem.
Subgraph embedding ⇒ routing. Suppose first that vertices v 1,z1 ∈ V 1 , . . . , v k,z k ∈ V k form a solution to the Partitioned Subgraph Isomorphism instance. We construct a routing that contains the following paths, satisfying the demands defined above: For every 1 ≤ i ≤ k, the vertex demand (q i,0 , q i,n ) is satisfied by a path P v i that goes from q i,0 to q i,zi−1 on Q i , uses the edge (q i,zi−1 , q i,zi ), and the goes from q i,zi to q i,n on Q i . For every 1 ≤ i ≤ k, each of the c − 1 copies of the blocking demand (q i,0 , q i,n ) is satisfied by a path going on Q i . For every 1 ≤ i ≤ k, each of the c − 1 copies of the blocking demand (q i,0 , q i,n ) is satisfied by a path going on Q i . For every 1 ≤ ≤ h, the edge demand (s , t ) is satisfied by a 5-edge path P e = (s , q ia,zi a , , q ia, It is easy to verify that these are indeed paths: all the required edges exist. We claim that each vertex of D is used by at most c of these paths. It is easy to see that two paths P v i and P v i with i = i satisfying vertex demands do intersect, and this is also true for any two paths P e and P e with = satisfying edge demands (note that each vertex of the path P e has in its index). The crucial observation is that the path P v i does intersect the path P e for any . The only way this could possibly happen is if edge e of H connects u ia with u i b , and i is equal to i a or i b . But the path P e uses only vertex q ia,zi a , from Q ia and vertex , while the path P v i does not use these vertices, as it jumps from q i,zi−1 to q i,zi . Thus each vertex is used by at most c − 1 paths satisfying a blocking demand and at most one additional path satisfying a vertex or edge demand. We can conclude that each vertex is used by at most c of the paths, what we had to show.
Routing ⇒ subgraph embedding. Next we show that given a routing with congestion c, it is possible to construct the required subgraph embedding from H to G. It is clear that the path satisfying the blocking demand (q i,0 , q i,n ) is exactly Q i : after leaving Q i , there is no way to return back to it. Similarly, the solution must use path Q i to satisfying the blocking demand (q i,0 , q i,n ). It is also clear that the path P v i satisfying the vertex demand (q i,0 , q i,n ) has to be contained in the union of Q i and Q i . Let 1 ≤ z i ≤ n be the smallest value such that q i,zi is on path P v i (note that this value is positive, as vertex q i,0 cannot be reached from q i,0 ). Observe that path P v i uses every vertex of Q i from q i,zi to q i,n (as it cannot leave Q i ). Moreover, since P v i does not use the part of Q i from q i,0 to q i,zi−1 by definition, it has to use the part of Q i from q i,0 to q i,zi−1 .
We claim that mapping vertex u i of H to vertex v i,zi of G is a correct subgraph embedding of H into G. To show this, suppose that edge e i of H connects u ia and u i b with 1 ≤ i a ≤ k/2 and k/2 Consider the path P e satisfying edge demand (s , t ). By construction, the vertex of P e after s has to be on the path Q ia and the vertex of P e before t has to be on Q i b . The only way to go from Q ia to Q i b is to use an edge of the form (q ia,ja, , q i b ,j b , ): the only way we can leave the union of Q ia and Q ia is to enter some Q i with k/2 + 1 ≤ i ≤ k, and there is no edge connecting Q i b or Q i b with any Q i with k/2 + 1 ≤ i ≤ k and i = i b (this is the part of the proof where we use that H is bipartite). We claim that j a = z ia . If j > z ia , then q ia,ja, is also used by the c − 1 paths satisfying the blocking demand (q ia,0 , q ia,n ) and (as we REFERENCES XX:9 have seen) the path P v ia , contradicting the assumption that the routing has congestion c. If j < z ia , then there is no way for the path P e to reach q ia,ja, from s : each vertex of the path Q ia from q ia,0 to q ia,ja is used by c − 1 paths satisfying the blocking demand (q ia,0 , q ia,n ) and (as shown above) by the path P v ia . This shows j z = z ia and a similar argument shows j b = z i b . Now the existence of the edge (q ia,za, , q i b ,z b , ) means, by construction, that G contains an edge between v ia,za ∈ V ia and v i b ,z b ∈ V i b , what we had to show.

Conclusion
In this paper we have studied the (k, c)-Congestion Routing problem on acyclic digraphs. It is easy to see that the n O(k) algorithm in [15] for solving the disjoint paths problem on acyclic digraphs can be extended to an n O(k) algorithm for (k, c)-Congestion Routing.
As we proved in Theorem 2, the n O(k) time algorithm is essentially best possible with respect to the exponent of n, under the Exponential-Time Hypothesis (ETH). We therefore studied the extreme cases of relatively high congestion k − d for some fixed value of d. In Theorem 3 we showed that in this case we can obtain an n O(d) algorithm on acyclic digraphs, i.e. the algorithm only depends on the offset d in (k, k − d)-Congestion Routing but not on the number k of demand pairs. The proof relied on a reduction argument that shows that as long as k is big enough compared to d, then a demand pair can be eliminated without changing the answer. It will be interesting to see whether our result can be extended to larger classes of digraphs. In particular classes of digraphs of bounded directed tree width would be a natural target. On such classes, the k-disjoint paths problem can be solved in time n O(k+w) , where w is the directed tree width of the input digraph (see [17]). It is conceivable that our results extend to bounded directed tree width classes and we leave this for future research.