1 Introduction
The Edge Disjoint Paths (EDP) and Node Disjoint Paths (NDP) are fundamental routing graph problems. In the EDP (NDP) problem the input is a graph , and a set containing pairs of vertices and the objective is to decide whether there is a set of pairwise edge disjoint (respectively vertex disjoint) paths connecting each pair in . These problems and their optimization versions – MaxEDP and MaxNDP – have been at the center of numerous results in structural graph theory, approximation algorithms, and parameterized algorithms [29, 22, 5, 24, 11, 31, 27, 18, 14].
When is a part of the input, both EDP and NDP are known to be NPcomplete [21]. Robertson and Seymour’s seminal work in the Graph Minors project [29] provides an time algorithm for both problems for every fixed value of . In the realm of Parameterized Complexity, their result can be interpreted as fixedparameter algorithms for EDP and NDP parameterized by . Here, one considers problems associated with a certain numerical parameter and the central question is whether the problem can be solved in time where is a computable function and the input size; algorithms with running time of this form are called fptalgorithms [15, 8, 6].
While the aforementioned research considered the number of paths to be the parameter, another line of research investigates the effect of structural parameters of the input graphs on the complexity of these problems. Fleszar, Mnich, and Spoerhase [14] initiated the study of NDP and EDP parameterized by the feedback vertex set number (the size of the smallest feedback vertex set) of the input graph and showed that EDP remains NPhard even on graphs with feedback vertex set number two. Since EDP is known to be polynomial time solvable on forests [18], this left only the case of feedback vertex set number one open, which they conjectured to be polynomial time solvable. Our first result is a positive resolution of their conjecture.
Theorem 1.
EDP can be solved in time on graphs with feedback vertex set number one.
A key observation behind the polynomialtime algorithm is that an EDP instance with a feedback vertex set is a yesinstance if and only if, for every tree of , it is possible to connect all terminal pairs in either to each other or to through pairwise edge disjoint paths in .The main ingredient of the algorithm is then a dynamic programming procedure that determines whether such a set exists for a tree of .
Continuing to explore structural parameterizations for the input graph of an EDP instance, we then show that even though EDP is NPcomplete when the input graph has treewidth two, it becomes fixedparameter tractable if we additionally parameterize by the maximum degree.
Theorem 2.
EDP is fixedparameter tractable parameterized by the treewidth and the maximum degree of the input graph.
Having explored the algorithmic applications of structural restrictions on the input graph for EDP, we then turn our attention towards similar restrictions on the augmented graph of an EDP instance , i.e., the graph obtained from after adding an edge between every pair of terminals in . Whereas EDP is NPcomplete even if the input graph has treewidth at most two [27], it can be solved in nonuniform polynomial time if the treewidth of the augmented graph is bounded [31]. It has remained open whether EDP is fixedparameter tractable parameterized by the treewidth of the augmented graph; interestingly, this has turned out to be the case for the strongly related multicut problems [19]. Surprisingly, we show that this is not the case for EDP, by establishing the W[1]hardness of the problem parameterized by not only the treewidth but also by the feedback vertex set number of the augmented graph.
Theorem 3.
EDP is W[1]hard parameterized by the feedback vertex set number of the augmented graph.
Motivated by this strong negative result, our next aim was to find natural structural parameterizations for the augmented graph of an EDP instance for which the problem becomes fixedparameter tractable. Towards this aim, we introduce the fracture number, which informally corresponds to the size of a minimum vertex set such that the size of every component in the graph minus is small (has size at most ). We show that EDP is fixedparameter tractable parameterized by this new parameter.
Theorem 4.
EDP is fixedparameter tractable parameterized by the fracture number of the augmented graph.
We note that the reduction in [14, Theorem 6] excludes the applicability of the fracture number of the input graph by showing that EDP is NPcomplete even for instances with fracture number at most three. Finally, we complement Theorem 4 by showing that bounding the number of terminal pairs in each component instead of the its size is not sufficient to obtain fixedparameter tractability. Indeed, we show that EDP is NPhard even on instances where the augmented graph has a deletion set of size such that every component of contains at most
terminal pair. We note that a parameter similar to the fracture number has recently been used to obtain fptalgorithms for Integer Linear Programming
[10].2 Preliminaries
2.1 Basic Notation
We use standard terminology for graph theory, see for instance [7]. Given a graph , we let denote its vertex set, its edge set and by the set of vertices incident with the edges in , where . The (open) neighborhood of a vertex is the set and is denoted by . For a vertex subset , the neighborhood of is defined as and denoted by . For a vertex set , we use to denote the graph obtained from by deleting all vertices in , and we use to denote the subgraph induced on , i.e., . A forest is a graph without cycles, and a vertex set is a feedback vertex set (FVS) if is a forest. We use to denote the set . The feedback vertex set number of a graph , denoted by , is the smallest integer such that has a feedback vertex set of size .
2.2 Edge Disjoint Path Problem
Throughout the paper we consider the following problem.
0.98 Edge Disjoint Paths (EDP)
[5pt] Input: A graph a set of terminal pairs, i.e., a set of subsets of of size two. Question: Is there a set of pairwise edge disjoint paths connecting every set of terminal pairs in ?
Let be an instance of EDP; for brevity, we will sometimes denote a terminal pair simply as . For a subgraph of , we denote by the subset of containing all sets that have a nonempty intersection with and for , we denote by the set . We will assume that, w.l.o.g., each vertex occurs in at most one terminal pair, each vertex in a terminal pair has degree in , and each terminal pair is not adjacent to each other; indeed, for any instance without these properties, we can add a new leaf vertex for terminal, attach it to the original terminal, and replace the original terminal with the leaf vertex [31]. [[31]] The augmented graph of is the graph obtained from by adding edges between each terminal pair, i.e., .
2.3 Parameterized Complexity
A parameterized problem is a subset of for some finite alphabet . Let be a classical decision problem for a finite alphabet, and let be a nonnegative integervalued function defined on . Then parameterized by denotes the parameterized problem where . For a problem instance we call the main part and the parameter. A parameterized problem is fixedparameter tractable (FPT in short) if a given instance can be solved in time where is an arbitrary computable function of and is a polynomial function; we call algorithms running in this time fptalgorithms.
Parameterized complexity classes are defined with respect to fptreducibility. A parameterized problem is fptreducible to if in time , one can transform an instance of into an instance of such that if and only if , and , where and are computable functions depending only on . Owing to the definition, if fptreduces to and is fixedparameter tractable then is fixedparameter tractable as well. Central to parameterized complexity is the following hierarchy of complexity classes, defined by the closure of canonical problems under fptreductions:
All inclusions are believed to be strict. In particular, under the Exponential Time Hypothesis.
The class is the analog of NP in parameterized complexity. A major goal in parameterized complexity is to distinguish between parameterized problems which are in FPT and those which are hard, i.e., those to which every problem in is fptreducible. There are many problems shown to be complete for , or equivalently complete, including the MultiColored Clique (MCC) problem [8]. We refer the reader to the respective monographs [15, 8, 6] for an indepth introduction to parameterized complexity.
2.4 Integer Linear Programming
Our algorithms use an Integer Linear Programming (ILP) subroutine. ILP is a wellknown framework for formulating problems and a powerful tool for the development of FPTalgorithms for optimization problems.
[Variable Integer Linear Programming Optimization] Let and
. The task is to find a vector
which minimizes the objective function and satisfies all inequalities given by and , specifically satisfies . The number of variables is the parameter.2.5 Treewidth
A treedecomposition of a graph is a pair where for every and is a tree such that:

for each edge , there is a such that , and

for each vertex , is a nonempty (connected) tree.
The width of a treedecomposition is . The treewidth [23] of is the minimum width taken over all treedecompositions of and it is denoted by . We call the elements of nodes and bags.
While it is possible to compute the treewidth exactly using an fptalgorithm [2], the asymptotically best running time is achieved by using the recent stateoftheart approximation algorithm of Bodlaender et al. [3].
Fact 1 ([3]).
There exists an algorithm which, given an vertex graph and an integer , in time either outputs a treedecomposition of of width at most and nodes, or correctly determines that .
It is well known that, for every clique over in , it holds that every treedecomposition of contains an element such that [23]. Furthermore, if separates a node from another node in , then separates from in [23]; this inseparability property will be useful in some of our later proofs. A treedecomposition of a graph is nice if the following conditions hold:

is rooted at a node such that .

Every node of has at most two children.

If a node of has two children and , then ; in that case we call a join node.

If a node of has exactly one child , then exactly one of the following holds:

and ; in that case we call an introduce node.

and ; in that case we call a forget node.


If a node of is a leaf, then ; we call these leaf nodes.
The main advantage of nice treedecompositions is that they allow the design of much more transparent dynamic programming algorithms, since one only needs to deal with four specific types of nodes. It is well known (and easy to see) that for every fixed , given a treedecomposition of a graph of width at most and with nodes, one can construct in linear time a nice treedecomposition of with nodes and width at most [4]. Given a node in , we let be the set of all vertices contained in the bags of the subtree rooted at , i.e., .
3 Closing the Gap on Graphs of Feedback Vertex Number One
In this section we develop a polynomialtime algorithm for EDP restricted to graphs with feedback vertex set number one. We refer to this particular variant as Simple Edge Disjoint Paths (SEDP): given an EDP instance and a FVS , solve .
0.98 Simple Edge Disjoint Paths (SEDP)
[5pt] Input: A graph , a minimal FVS for and a set of terminal pairs, i.e., a set of subsets of of size two. Question: Is there a set of pairwise edge disjoint paths connecting every set of two terminals in ?
Additionally to our standard assumptions about EDP (given in Subsection 2.2), we will assume that: (1) every neighbor of in is a leaf in , (2) is not a terminal, i.e., , and (3) every tree in is rooted in a vertex that is not a terminal. Property (1) can be ensured by an additional leaf vertex to any nonleaf neighbor of , removing the edge and adding the edge to . Property (2) can be ensured by adding an additional leaf vertex to and replacing with in and finally (3) can be ensured by adding a leaf vertex to any nonterminal vertex in and replacing with in .
A key observation behind our algorithm for SEDP is that whether or not an instance has a solution merely depends on the existence of certain sets of pairwise edge disjoint paths in the trees in . In particular, as we will show in Lemma 1 later on, has a solution if and only if every tree in is connected (see Definition 3). The main ingredient of the algorithm is then a bottomup dynamic programming algorithm that determines whether a tree in is connected. We now define the various connectivity states of subtrees of that we need to keep track of in the dynamic programming table. Let be a tree in rooted at (recall that we can assume that is not in ), , and let be a set of pairwise edge disjoint paths in and , where is the subtree of rooted at .
We say that the set connects in if for every , the set either contains an  path disjoint from , or it contains an  path disjoint from , where . Moreover, for , we say that the set connects if connects and additionally the following conditions hold.

If then also contains a path from to .

If for some then:

If then contains a  path disjoint from .

If then contains a  path disjoint from and a  path disjoint from or contains a  path disjoint from and an  path disjoint from .

For , we say that is connected if there is a set which connects in . Informally, a tree is:

connected if all its terminal pairs can be connected in either to themselves or to ,

connected if it is connected and additionally there is a path from its root to (which can later be used to connect some terminal not in to via the root of ),

connected if all but one of its terminals, i.e., one of the terminals in , can be connected in either to themselves or to , and additionally one terminal in can be connected to the root of (from which it can later be connected to or the other terminal in ).
Lemma 1.
has a solution if and only if every tree in is connected.
Proof.
Let be a solution for , i.e., a set of pairwise edge disjoint paths between all terminal pairs in . Consider the set of pairwise edge disjoint paths obtained from after splitting all paths in between two terminals and that intersect , into two paths, one from to and the other from to . Then the restriction of to any tree in shows that is connected.
In the converse direction, for every tree in , let be a set of pairwise edge disjoint paths witnessing that is connected. Consider a set and let and be the tree containing and , respectively. If then either contains an  path or contains an  path and a  path. In both cases we obtain an  path in . Similarly, if then contains an  path and contains a  path, whose concatenation gives us an  path in . Since the union of all over all trees in is a set of pairwise edge disjoint paths, this shows that has a solution. This completes the proof of the lemma. ∎
Due to Lemma 1, our algorithm to solve EDP only has to determine whether every tree in is connected. For a tree in , our algorithm achieves this by computing a set of labels , where is the set of all labels such that is connected, via a bottomup dynamic programming procedure. We begin by arguing that for a leaf vertex , the value can be computed in constant time.
Lemma 2.
The set for a leaf vertex of can be computed in time .
Proof.
Since is a leaf vertex, we conclude that is connected if and only if either or and . Similarly, is connected if and only if and . Finally, is connected for some if and only if . Since all these properties can be checked in constant time, the statement of the lemma follows. ∎
We will next show how to compute for a nonleaf vertex with children . We define the following three sets.
That is, is the set of those children such that is not connected, is the set of those children such that is connected and is the set comprising the remaining children. Observe that forms a partition of and moreover and for every . Let be the graph with vertex set having an edge between and (for ) if and only if and not both and are in . The following lemma is crucial to our algorithm, because it provides us with a simple characterization of for a nonleaf vertex .
Lemma 3.
Let be a nonleaf vertex of with children . Then is:

connected if and only if for every and has a matching such that ,

connected if and only if for every and has a matching such that ,

connected (for ) if and only if for every and there is a with such that has a matching with .
Proof.
Towards showing the forward direction let be a set of pairwise edge disjoint paths witnessing that is connected for some . Then contains the following types of paths:
 (T1)

A path between and that does not contain , where ,
 (T2)

A path between and , which does not contain , where ,
 (T3)

A path between and (only if ),
 (T4)

A path between and , which does not contain , (only if for some and ),
For every with , let be the subset of containing all paths that use at least one vertex in and let be the restriction of all paths in to . Consider an with . Because the paths in are pairwise edge disjoint, we obtain that at most one path in contains the edge . We start with the following observations.

If contains no path that contains the edge , then shows that is connected.

If contains a path say that contains the edge , then the following statements hold.

If is a path of Type (T1) for some , then shows that is connected,

If is a path of Type (T2) for some , then the following statements hold.

If the endpoint of in is a terminal , then shows that is connected.

Otherwise, i.e., if the endpoint of in is , then shows that is connected.



If is a path of Type (T3), then shows that is connected.

If is a path of Type (T4), for some terminalpair then shows that is connected.
Let be the set of all pairs such that or and contains a path that contains both edges and . We claim that is a matching of . Since an edge can be used by at most one path in , it follows that the pairs in are pairwise disjoint and it remains to show that , namely, for every . Let be the path witnessing that . Because contains the edges and , it cannot be of Type (T3) or (T4). Moreover, if is of Type (T2) then either or is connected, contradicting our assumption that . Hence is of Type (T1) for some terminalpair , which implies that and are connected, as required.
In the following let . Because of Observation (O1), we obtain that contains a path, say , using the edge (otherwise is connected). Moreover, together with Observations (O2)–(O4), we obtain that either:
 (P1)

is a path of Type (T1) for some ,
 (P2)

is a path of Type (T2) for some and the endpoint of in is a terminal ,
 (P3)

is a path of Type (T4) for some .
Because is not connected to and is not a terminal, we obtain that if satisfies (P1), then there is a with such that contains the edge . Similarly, if satisfies (P2) then there is a such that contains the edge . Consequently, every for which satisfies (P1) or (P2) is mapped to a unique such that contains the edge .
We now distinguish three cases depending on . If , then contains no path of type (T4) and hence for every either (P1) or (P2) has to hold. In particular, for every there must be a such that contains the edge . Consequently, if , this is not achievable contradicting our assumption that is a witness to the fact that is connected.
If , then contains a path of Type (T3), which due to Observation (O3) uses the edge for some . Since again (P1) or (P2) has to hold for every , we obtain that for every there must be a such that contains the edge . Consequently, if then and this is not achievable contradicting our assumption that is a witness to the fact that is connected.
Finally, if for some , then contains a path of Type (T4), which due to Observation (O4) uses the edge for some with . Observe that cannot be matched by and hence is also a matching of . Moreover, Since (P1) or (P2) has to hold for every , we obtain that for every there must be a such that contains the edge . Consequently, if then this is not achievable contradicting our assumption that is a witness to the fact that is connected.
Towards showing the reverse direction we will show how to construct a set of pairwise edge disjoint paths witnessing that is connected.
If , then let be a matching of such that and let be a bijection between and arbitrarily chosen elements in . Then the set of pairwise edge disjoint paths witnessing that is connected is obtained as follows.
 (S1)

For every , let be a set of pairwise edge disjoint paths witnessing that is connected. Add all paths in to .
 (S2)

For every , let be a set of pairwise edge disjoint paths witnessing that is connected. Add all paths in to .
 (S3)

For every , choose arbitrarily and let and be sets of pairwise edge disjoint paths witnessing that and are connected, respectively. Moreover, let and be the unique paths connecting a terminal in with and , respectively. Then add all path in and additionally the path to .
 (S4)

For every , choose arbitrarily and let be a set of pairwise edge disjoint paths witnessing that is connected. Moreover, let be the unique path in connecting a terminal in with . Furthermore, let be a set of pairwise edge disjoint paths witnessing that is connected and let be the unique path in connecting with . Then add all path in and additionally the path to .
It is straightforward to verify that witnesses that is connected.
If , then the set of pairwise edge disjoint paths witnessing that is connected is defined analogously to the case where only that now step (S2) is replaced by:
 (S2’)

Chose one arbitrarily; note that such a must exist because . Let be a set of pairwise edge disjoint paths witnessing that is connected and let be the unique path in connecting with . Then add all paths in to and additionally the path obtained from after adding the edge . Finally, for every child in proceed as described in Step (S2).
Finally, if for some , then let be a child with and let be a matching of such that . Moreover, and let be a bijection between and arbitrarily chosen elements in . Then the set of pairwise edge disjoint paths witnessing that is connected is obtained analogously to the case where above only that we do not execute the steps (S1)–(S4) for but instead do the following:
 (S0)

Let be a set of pairwise edge disjoint paths witnessing that is connected and let be the unique path in connecting a terminal in to . Then we add all path in and additionally the path to .
This completes the proof of Lemma 3. ∎
The following two lemmas show how the above characterization can be employed to compute for a nonleaf vertex of . Since the matching employed in Lemma 3 needs to maximize the number of vertices covered in , we first show how such a matching can be computed efficiently.
Lemma 4.
There is an algorithm that, given a graph and a subset of , computes a matching maximizing in time .
Proof.
We reduce the problem to Maximum Weighted Matching problem, which can be solved in time [26]. The reduction simply assigns weight two to every edge that is completely contained in , weight one to every edge between and , and weight zero otherwise. The correctness of the reduction follows because the weight of any matching in the weighted graph equals the number of vertices in covered by . ∎
Lemma 5.
Let be a nonleaf vertex of with children . Then can be computed from in time .
Proof.
First we construct the graph in time . We then check for every , whether is connected with the help of Lemma 3 as follows. If we compute a matching in that maximizes , i.e., the number of matched vertices in . This can be achieved according to Lemma 4 in time . Then in accordance with Lemma 3, we add or to if or , respectively. For any , again in accordance with Lemma 3, we compute for every child of with , a matching in that maximizes . Since has at most two children with and due to Lemma 4 such a matching can be computed in time , this is also the total running time for this step of the algorithm. If one of the at most two such matchings satisfies , we add to and otherwise we do not. This completes the description of the algorithm whose total running time can be obtained as the time required to construct () plus times the time required to compute the required matching in (), which results in a total running time of . ∎
We are now ready to put everything together into an algorithm that decides whether a tree is connected.
Lemma 6.
Let be a tree in . There is an algorithm that decides whether is connected in time .
Proof.
The algorithm computes the set of labels for every vertex using a bottomup dynamic programming approach. Starting from the leaves of , for which the set of labels can be computed due to Lemma 2 in constant time, it uses Lemma 5 to compute for every inner node of in time . The total running time of the algorithm is then the sum of the running time for any inner node of plus the number of leaves of , i.e., . ∎
Theorem 1.
SEDP can be solved in time .
4 Treewidth and Maximum Degree
The goal of this section is to obtain an fptalgorithm for EDP parameterized by the treewidth and maximum degree of the input graph.
Theorem 2.
EDP can be solved in time , where , and are the treewidth, maximum degree and number of vertices of the input graph , respectively.
Proof.
Let be an instance of EDP and let be a nice treedecomposition of of width at most ; recall that such can be computed in time by Fact 1. Consider the following leaftoroot dynamic programming algorithm , executed on . At each bag associated with a node of , will compute a table of records, which are tuples of the form where:

used is a multiset of subsets of of cardinality with each subset occurring at most times,

give is a mapping from subsets of of cardinality to , and

single is a mapping which maps each terminal such that its counterpart to an element of .
Before we proceed to describe the steps of the algorithm itself, let us first introduce the semantics of a record. For a fixed , we will consider the graph obtained from by removing all edges with both endpoints in (we note that this “pruned” definition of is not strictly necessary for the algorithm, but makes certain steps easier later on). Then if and only if there exists a set of edge disjoint paths in and a surjective mapping from terminal pairs occurring in to subsets of of size two with the following properties:

For each terminal pair that occurs in :

either contains a path whose endpoints are and , or

contains an  path for some and a  path for some which is distinct from , and furthermore used;


for each terminal pair such that