# On Structural Parameterizations of the Edge Disjoint Paths Problem

In this paper we revisit the classical Edge Disjoint Paths (EDP) problem, where one is given an undirected graph G and a set of terminal pairs P and asks whether G contains a set of pairwise edge-disjoint paths connecting every terminal pair in P. Our focus lies on structural parameterizations for the problem that allow for efficient (polynomial-time or fpt) algorithms. As our first result, we answer an open question stated in Fleszar, Mnich, and Spoerhase (2016), by showing that the problem can be solved in polynomial time if the input graph has a feedback vertex set of size one. We also show that EDP parameterized by the treewidth and the maximum degree of the input graph is fixed-parameter tractable. Having developed two novel algorithms for EDP using structural restrictions on the input graph, we then turn our attention towards the augmented graph, i.e., the graph obtained from the input graph after adding one edge between every terminal pair. In constrast to the input graph, where EDP is known to remain NP-hard even for treewidth two, a result by Zhou et al. (2000) shows that EDP can be solved in non-uniform polynomial time if the augmented graph has constant treewidth; we note that the possible improvement of this result to an fpt-algorithm has remained open since then. We show that this is highly unlikely by establishing the W[1]-hardness of the problem parameterized by the treewidth (and even feedback vertex set) of the augmented graph. Finally, we develop an fpt-algorithm for EDP by exploiting a novel structural parameter of the augmented graph.

• 29 publications
• 27 publications
• 10 publications
08/10/2018

### The Power of Cut-Based Parameters for Computing Edge Disjoint Paths

This paper revisits the classical Edge Disjoint Paths (EDP) problem, whe...
05/02/2022

### Weighted Counting of Matchings in Unbounded-Treewidth Graph Families

We consider a weighted counting problem on matchings, denoted PrMatching...
05/18/2018

### Multivariate Analysis of Orthogonal Range Searching and Graph Distances Parameterized by Treewidth

We show that the eccentricities, diameter, radius, and Wiener index of a...
09/23/2021

### Filling Crosswords is Very Hard

We revisit a classical crossword filling puzzle which already appeared i...
07/03/2022

### On Polynomial Kernels for Traveling Salesperson Problem and its Generalizations

For many problems, the important instances from practice possess certain...
03/15/2012

### Algorithms and Complexity Results for Exact Bayesian Structure Learning

Bayesian structure learning is the NP-hard problem of discovering a Baye...
09/19/2022

### Parameterized Complexity of Path Set Packing

In PATH SET PACKING, the input is an undirected graph G, a collection P ...

## 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 NP-complete [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 fixed-parameter 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 fpt-algorithms [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 NP-hard 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 polynomial-time algorithm is that an EDP instance with a feedback vertex set is a yes-instance 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 NP-complete when the input graph has treewidth two, it becomes fixed-parameter tractable if we additionally parameterize by the maximum degree.

###### Theorem 2.

EDP is fixed-parameter 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 NP-complete even if the input graph has treewidth at most two [27], it can be solved in non-uniform polynomial time if the treewidth of the augmented graph is bounded [31]. It has remained open whether EDP is fixed-parameter 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 fixed-parameter 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 fixed-parameter tractable parameterized by this new parameter.

###### Theorem 4.

EDP is fixed-parameter 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 NP-complete 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 fixed-parameter tractability. Indeed, we show that EDP is NP-hard 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 fpt-algorithms 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 non-empty 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 non-negative integer-valued 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 fixed-parameter 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 fpt-algorithms.

Parameterized complexity classes are defined with respect to fpt-reducibility. A parameterized problem is fpt-reducible 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 fpt-reduces to and is fixed-parameter tractable then is fixed-parameter tractable as well. Central to parameterized complexity is the following hierarchy of complexity classes, defined by the closure of canonical problems under fpt-reductions:

 {{FPT}}⊆{{W}}[1]⊆{{W}}[2]⊆⋯⊆{{XP}}.

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 fpt-reducible. There are many problems shown to be complete for , or equivalently -complete, including the Multi-Colored Clique (MCC) problem [8]. We refer the reader to the respective monographs [15, 8, 6] for an in-depth introduction to parameterized complexity.

### 2.4 Integer Linear Programming

Our algorithms use an Integer Linear Programming (ILP) subroutine. ILP is a well-known framework for formulating problems and a powerful tool for the development of FPT-algorithms 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.

Lenstra [25] showed that -ILP, together with its optimization variant -OPT-ILP (defined above), are in FPT. His running time was subsequently improved by Kannan [20] and Frank and Tardos [16] (see also [13]).

[[25, 20, 16, 13]] -OPT-ILP can be solved using arithmetic operations in space polynomial in , being the number of bits in the input.

### 2.5 Treewidth

A tree-decomposition of a graph is a pair where for every and is a tree such that:

1. for each edge , there is a such that , and

2. for each vertex , is a non-empty (connected) tree.

The width of a tree-decomposition is . The treewidth [23] of is the minimum width taken over all tree-decompositions 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 fpt-algorithm [2], the asymptotically best running time is achieved by using the recent state-of-the-art -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 tree-decomposition 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 tree-decomposition 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 tree-decomposition of a graph  is nice if the following conditions hold:

1. is rooted at a node such that .

2. Every node of has at most two children.

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

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

1. and ; in that case we call an introduce node.

2. and ; in that case we call a forget node.

5. If a node of is a leaf, then ; we call these leaf nodes.

The main advantage of nice tree-decompositions 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 tree-decomposition of a graph of width at most and with nodes, one can construct in linear time a nice tree-decomposition 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 polynomial-time 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 non-leaf 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 non-terminal 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 bottom-up 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 bottom-up 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 non-leaf vertex with children . We define the following three sets.

 V¬γ∅t={ti|γ∅∉L(ti)}
 VγXt={ti|γX∈L(ti)}
 Vt={t1,…,tl}∖(V¬γ∅t∪VγXt)

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 non-leaf vertex .

###### Lemma 3.

Let be a non-leaf 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 terminal-pair 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 terminal-pair , 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 non-leaf 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 non-leaf 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 bottom-up 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 .

###### Proof.

We first employ Lemma 6 to determine whether every tree of is -connected. If so we output Yes and otherwise No. Correctness follows from Lemma 1. ∎

## 4 Treewidth and Maximum Degree

The goal of this section is to obtain an fpt-algorithm 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 tree-decomposition of of width at most ; recall that such can be computed in time by Fact 1. Consider the following leaf-to-root 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