The Edge-Disjoint Paths Problem is NP-Complete for Partial k

The Edge-Disjoint Paths Problem is
NP-Complete for Partial k-Trees
Xiao Zhou and Takao Nishizeki
Graduate School of Information Sciences, Tohoku University
Aoba-yama 05, Sendai 980-8579, Japan
{zhou,nishi}@ecei.tohoku.ac.jp
Abstract. Many combinatorial problems are NP-complete for general
graphs, but are not NP-complete for partial k-trees (graphs of treewidth
bounded by a constant k) and can be efficiently solved in polynomial
time or mostly in linear time for partial k-trees. On the other hand,
very few problems are known to be NP-complete for partial k-trees with
bounded k. These include the subgraph isomorphism problem and the
bandwidth problem. However, all these problems are NP-complete even
for ordinary trees or forests. In this paper we show that the edge-disjoint
paths problem is NP-complete for partial k-trees with some bounded k,
say k = 3, although the problem is trivially solvable for trees.
1
Introduction
Many combinatorial problems are NP-complete for general graphs, and are
unlikely to be solvable in polynomial time. However, many “natural” problems defined on unweighted graphs can be efficiently solved for partial k-trees
(graphs of treewidth bounded by a constant k) in polynomial time or in linear time [1,2,4,6,23,26]. On the other hand, very few problems are known to be
NP-complete for partial k-trees. These include the subgraph isomorphism problem and the bandwidth problem [7,10,15,20]. However, all these problems are
NP-complete even for ordinary trees or forests, i.e. partial 1-trees [9].
The edge-disjoint paths problem asks whether there exist p pairwise edgedisjoint paths Pi , 1 ≤ i ≤ p, connecting terminals si and ti in a given graph G
with p terminal pairs (si , ti ), 1 ≤ i ≤ p, assigned to vertices of G. The vertexdisjoint paths problem is similarly defined. These problems come up naturally
when analyzing connectivity questions or generalizing (integral) network flow
problems. Another reason for the growing interest is the variety of applications,
e.g. in VLSI-design and communication [12,13,18,21,22,25]. If p = O(1), then the
vertex-disjoint paths problem can be solved in polynomial time for any graph
by Robertson and Seymour’s algorithm based on their series of papers on graph
minor theory [17]. The edge-disjoint paths problem on a graph G can be reduced
in polynomial time to the vertex-disjoint paths problem on a new graph similar to
the line graph of G. Therefore, the edge-disjoint paths problem can also be solved
in polynomial time for any graph by the algorithm if p = O(1). However, if p
K.-Y. Chwa and O. H. Ibarra (Eds.): ISAAC’98, LNCS 1533, pp. 417–426, 1998.
c Springer-Verlag Berlin Heidelberg 1998
418
Xiao Zhou and Takao Nishizeki
is not bounded, then both the edge-disjoint and vertex-disjoint paths problems
are NP-complete even for planar graphs [14,24].
A natural question is whether the vertex-disjoint and edge-disjoint paths
problems can be efficiently solved for a restricted class of graphs, other than planar graphs, say partial k-trees. Indeed Scheffler showed that the vertex-disjoint
paths problem can be solved in linear time for partial k-trees even if p is not
bounded [19]. Frank obtained a necessary and sufficient condition for the existence of edge-disjoint paths in a class of planar graphs [8]. The result together
with the algorithms in [13,25] yields a polynomial-time algorithm for a class
of partial 2-trees, i.e., outer planar graphs. Zhou et al. showed that the edgedisjoint paths problem can be solved in polynomial time for partial k-trees if
either p = O(log n) or the location of terminals satisfies some condition, where n
denotes the number of vertices in a given partial k-tree [27]. However, it has
not been known whether the edge-disjoint paths problem is NP-complete for
partial k-trees if there is no restriction on the number of terminal pairs or the
location of terminals.
In this paper we show that the edge-disjoint paths problem is NP-complete
for partial 3-trees. This is the first example of problems which are efficiently
solvable for trees and outer planar graphs but NP-complete for partial k-trees
with some bounded k ≥ 2.
The edge-disjoint paths problem is a decision problem, i.e., a YES-NO problem. The optimization version is the maximum edge-disjoint paths problem
which asks to find a maximum number of edge-disjoint paths connecting terminal pairs. Garg et al. [11] showed that the maximum multicommodity integral
flow problem is NP-hard for a tree with edge-capacities 1 or 2. Replace each edge
of capacity 2 in the tree with a pair of parallel paths of length 2, then the resulting graph is an outer planar graph and hence is a partial 2-tree. Thus the result
in [11] immediately implies that the maximum edge-disjoint paths problem is
NP-hard for outer planar graphs or partial 2-trees. However, it does not imply
our result because the NP-hardness of an optimization problem does not always
imply the NP-completeness of the decision problem. Thus the complexities of
edge-disjoint paths problems are similar to those of SAT problems: 2-SAT is
polynomial-time solvable, MAX 2-SAT is NP-hard, and 3-SAT is NP-complete.
2
Terminology and Definitions
In this section we give some definitions. Let G = (V, E) denote a graph with
vertex set V and edge set E. The paper deals with simple undirected graphs
without multiple edges or self-loops. Throughout the paper a path is assumed
to be simple, that is, it does not pass through any vertex more than once. An
edge joining vertices u and v is denoted by (u, v).
The class of k-trees is defined recursively as follows:
The Edge-Disjoint Paths Problem is NP-Complete for Partial k-Trees
419
(a) A complete graph with k vertices is a k-tree.
(b) If G = (V, E) is a k-tree and k vertices v1 , v2 , · · · , vk induce a complete
subgraph of G, then G = (V ∪ {w}, E ∪ {(vi , w)|1 ≤ i ≤ k}) is a k-tree
where w is a new vertex not contained in G.
(c) All k-trees can be formed with rules (a) and (b).
A graph is a partial k-tree if it is a subgraph of a k-tree. Thus a partial k-tree
G = (V, E) is a simple graph, and |E| < kn. In this paper we assume that k is
a fixed constant.
A tree-decomposition of a graph G = (V, E) is a tree T = (VT , ET ) with VT
a family of subsets of V satisfying the following properties [16]:
• Xi ∈VT Xi = V ;
• for every edge e = (v, w) ∈ E, there is a node Xi ∈ VT with v, w ∈ Xi ; and
• if node Xj lies on the path in T from node Xi to node Xl , then Xi ∩ Xl ⊆
Xj .
The width of a tree-decomposition T = (VT , ET ) is maxXi ∈VT |Xi | − 1. The
treewidth of graph G is the minimum width of a tree-decomposition of G, taken
over all possible tree-decompositions of G. It is known that every graph with
treewidth ≤ k is a partial k-tree, and conversely, that every partial k-tree has a
tree-decomposition with width ≤ k. Bodlaender has given a linear-time sequential algorithm to find a tree-decomposition of G with width ≤ k for fixed k [3].
3
The Edge-Disjoint Paths Problem
Our main result is the following theorem.
Theorem 1. The edge-disjoint paths problem is NP-complete for partial 3-trees.
In the remainder of this section we will give a proof of Theorem 1. Let
X = {x1 , x2 , · · · , xn } be a set of n Boolean variables. A literal of xi ∈ X is
either a Boolean variable xi or its negation xi . We denote by 3-CNF the set
of Boolean formulas in a conjunctive normal form over the n variables in X
with at most three literals per clause. For a Boolean formula f ∈ 3-CNF, the 3SAT problem asks whether there is an assignment a of true-false values to the n
variables such that f (a) is true [5]. If there is an assignment a such that f (a) is
true, then we say that f is satisfiable. Clearly the edge-disjoint path problem is
in NP [9]. Therefore it suffices to show that the 3-SAT problem can be reduced
in polynomial time to the edge-disjoint paths problem for partial 3-trees.
For example, consider the following Boolean formula f with n = 4 variables
and m = 3 clauses:
f = (x1 + x2 + x4 )(x2 + x3 )(x1 + x3 + x4 ).
As illustrated in Figure 1, we will construct a graph Gf which contains edgedisjoint paths connecting terminal pairs if and only if f is satisfiable. The formula f above is satisfiable for a true-false assignment a such
s40
s30
s20
s10
v0
sC1
v0
2
s41
2
s21
1
s41
1
s31
1
s21
1
2 s11
s11
t40
Fig. 1. Graph Gf and edge-disjoint paths.
b41
b21
b11
G1
a41
t30
a31
t20
a21
t10
a11
s41
a31
s31
a21
s21
a11
s11
1
t41
1
t31
2
t41
2
2
t11
1 t 21
t21
1
t11
v1
tC1
v1
sC2
2
s32
2
s22
1
s42
1
s32
1
s22
1
s12
t41
a22
s22
a12
s12
a42
s42
a32
b32 s
32
b22
G2
a42
t31
a32
t21
a22
t11
a12
1
t42
1
t32
1
t22
1
t12
2
t32
2
t22
tC2
v2
v2
sC3
1
s23
1
s13
a43
t32
a33
t22
a23
t12
2
t42
s43
1
s43
s1
2 33
s33
2
s13
a13
G3
a21
b33
b13
a43
s43
a33
s33
a23
s23
a13
s13
2
1 t 43
t43
2
t33
1
t33
1
t23
2
1 t 13
t13
v3
tC3
v3
t43
t33
t23
t13
420
Xiao Zhou and Takao Nishizeki
The Edge-Disjoint Paths Problem is NP-Complete for Partial k-Trees
421
that x1 = 0, x2 = 1, x3 = 0 and x4 = 1, and Gf in Figure 1 has edgedisjoint paths connecting terminal pairs. In Figure 1 all terminals are drawn by
white circles, and the edge-disjoint paths are drawn in thick solid or dotted lines
colored black or gray.
Roughly speaking, Gf has a “grid structure” with n rows and m+ 2 columns.
The ith row corresponds to variable xi for each i, 1 ≤ i ≤ n. The leftmost column,
i.e. 0th column, denoted by G0 , contains n isolated vertices si0 , 1 ≤ i ≤ n. The
rightmost column, i.e. (m + 1)st column, denoted by Gm+1 , contains n isolated
vertices tim , 1 ≤ i ≤ n. The jth column, 1 ≤ j ≤ m, denoted by Gj , corresponds
to the jth clause Cj in f and contains n gadgets G1j , G2j , · · · , Gnj , which will
be defined later. For each j, 0 ≤ j ≤ m, two consecutive columns Gj and Gj+1
are connected through exactly two vertices vj and v j , called upper or lower
connection vertices, as illustrated in Figure 1. Thus the graph Gf constructed in
this way has essentially a “ladder” structure instead of a “grid” structure, and
is a partial 3-tree as we will observe later.
We now describe how to construct Gf in detail. Consider a Boolean formula
f ∈3-CNF with m clauses C1 , C2 , · · · , Cm and n variables in X. We write xi ∈ Cj
and xi ∈ Cj if clause Cj contains literals xi and xi , respectively. One may assume
that, for any variable xi , 1 ≤ i ≤ n, and any clause Cj , 1 ≤ j ≤ m, exactly one
of the following three cases occurs:
(a) xi ∈ Cj and xi ∈ Cj ,
(b) xi ∈
Cj and xi ∈ Cj , and
(c) xi , xi ∈ Cj .
aij
vj-1
sij2
_
vj-1
si1j
bij
ti(j-1)
si j
t1i j
vj
vj-1
t2ij
sij2
_
_
ti(j-1)
sij1
t1i j
_
vj-1
aij
(b) B ij
ai j
vj-1
vj
sij
sij1
vj-1
sij
bi j
(a) A ij
_
vj
_
vj
aij
ai j
ti(j-1)
_
aij
t1ij
_
vj
(c) Dij
Fig. 2. Three types of gadgets Aij , Bij and Dij .
t2ij
_
vj
422
Xiao Zhou and Takao Nishizeki
For 1 ≤ i ≤ n and 1 ≤ j ≤ m, we place a graph Gij , called the ij-gadget, at
the ith row and jth column in Gf . The construction of Gij depends on which
case among (a), (b) and (c) above occurs. Denote the graphs in Figure 2 (a), (b)
and (c) by Aij , Bij and Dij , respectively. Then we define Gij as follows:

 Aij if xi ∈ Cj ,
Gij = Bij if xi ∈ Cj , and

Dij if xi , xi ∈ Cj .
The graph Aij in Figure 2(a) has thirteen vertices: four outer vertices and
nine inner ones. Two of the four outer vertices are vj−1 and v j−1 on the left side,
and the other two are vj and v j on the right. Six of the nine inner vertices are
terminals ti(j−1) , sij , s1ij , t1ij , s2ij and t2ij . Both (s1ij , t1ij ) and (s2ij , t2ij ) are terminal
pairs in Gij . The terminal ti(j−1) in Gij is paired with the terminal si(j−1)
in Gi(j−1) , and the terminal sij in Gij is paired with the terminal tij in Gi(j+1) .
Only the four outer vertices in Aij are connected to vertices in other gadgets
or connection vertices in Gf ; none of the nine inner vertices in Aij is connected
to any vertex in other gadgets or any connection vertex in Gf . Similarly we
construct Bij and Dij as illustrated in Figures 2(b) and (c). Bij is isomorphic
to Aij rotated 180◦ . Dij is obtained from Aij by deleting vertices bij , s2ij and t2ij .
For each clause Cj , 1 ≤ j ≤ m, we now construct the jth column Gj
of graph Gf . The graph Gj has n rows ordered from the top to the bottom
by 1, 2, · · · , n. For each i, 1 ≤ i ≤ n, the ith row in Gj corresponds to the variable xi , and contains Gij . Identify all the n outer vertices vj−1 on the left sides of
gadgets G1j , G2j , · · · , Gnj as an upper connection vertex vj−1 ; identify all the n
outer vertices v j−1 on the left sides as a lower connection vertex v j−1 ; identify
all the n outer vertices vj on the right sides as an upper connection vertex vj ;
and identify all the n outer vertices v j on the right sides as a lower connection
vertex v j . Add to Gj a terminal pair (sCj , tCj ) as follows. (See Figure 1.) If Cj
contains an affirmative literal, that is, xi ∈ Cj for some i, 1 ≤ i ≤ n, then
join sCj with vj−1 and join tCj with vj . If Cj contains a negative literal, that
is, xi ∈ Cj for some i, 1 ≤ i ≤ n, then join sCj with v j−1 and join tCj with v j .
Thus the degrees of both vertices sCj and tCj are one or two.
The graph G0 , i.e., the 0th column of Gf , consists of n vertices si0 , 1 ≤ i ≤ n,
together with two vertices v0 and v 0 , where si0 , 1 ≤ i ≤ n, is connected to v0
and v 0 as illustrated in Figure 1. Similarly, we construct Gm+1 .
We now construct the whole graph Gf by connecting the m + 2 graphs
G0 , G1 , · · · , Gm+1 in cascade as illustrated in Figure 1; any two consecutive
columns Gj and Gj+1 , 0 ≤ j ≤ m, are connected through exactly two connection
vertices vj and v j . This completes the construction of Gf , which essentially has
a “ladder” structure.
Let N be the number of vertices in Gf , then clearly N = Θ(mn). On the
other hand, Gf has the following p terminal pairs:
(a) (m + 1)n pairs (sij , tij ) for all i and j such that 1 ≤ i ≤ n and 0 ≤ j ≤ m;
(b) m pairs (sCj , tCj ) for all j such that 1 ≤ j ≤ m;
(c) mn pairs (s1ij , t1ij ) for all j and j such that 1 ≤ i ≤ n and 1 ≤ j ≤ m; and
The Edge-Disjoint Paths Problem is NP-Complete for Partial k-Trees
423
(d) at most 3m pairs (s2ij , t2ij ) for all i and j such that 1 ≤ i ≤ n, 1 ≤ j ≤ m
and xi or xi ∈ Cj .
Hence p ≤ (m + 1)n + m + mn + 3m = O(N ). Thus, from f , one can construct
the graph Gf and assign the p terminal pairs to vertices in Gf in polynomial
time. We denote by Pij the paths for pairs in (a), by PCj those for (b), by Pij1
those for (c), and by Pij2 those for (d).
The following lemma holds.
Lemma 1. Gf is a partial 3-tree.
Thus it suffices to prove the following lemma.
Lemma 2. Gf has edge-disjoint paths connecting terminal pairs if and only if f
is satisfiable.
In the remainder of this section we will give a proof of Lemma 2. We first
have the following lemma.
Lemma 3. Assume that Gf has edge-disjoint (simple) paths connecting terminal pairs. Then none of the paths passes through vj and v j for some j and j ,
0 ≤ j, j ≤ m.
A path P connecting a terminal pair is called an inner path if the two terminals and all the edges of P are contained in a single gadget. Thus the terminal
pair of an inner path is (s1ij , t1ij ) or (s2ij , t2ij ) for some i and j, 1 ≤ i ≤ n and
1 ≤ j ≤ m. Such an inner-path P is called a Gij -inner-path. A path P is called
a Gij -through-path if both of the terminals of P are outside Gij and P passes
through at least one of the edges in Gij . Lemma 3 implies that a Gij -throughpath P passes either through vj−1 and vj or through v j−1 and v j . In the former
case P is called an upper Gij -through-path, and in the latter case P is called a
lower Gij -through-path. We then have the following three lemmas.
Lemma 4. Assume that Gf has edge-disjoint paths connecting terminal pairs.
If a path P among them is a Gij -through-path for some i and j, 1 ≤ i ≤ n and
1 ≤ j ≤ m, then P is an upper or lower Gij -through-path.
Lemma 5. Assume that Gf has edge-disjoint paths connecting terminal pairs,
and that a path P among them is a Gij -through-path for some i and j, 1 ≤ i ≤ n
and 1 ≤ j ≤ m. Then the following (a) and (b) hold:
(a) Gij = Aij if and only if P is an upper Gij -through-path; and
(b) Gij = Bij if and only if P is a lower Gij -through-path.
Lemma 6. Assume that Gf has edge-disjoint paths connecting terminal pairs,
and that PCj is a Gij -through-path for some i and j, 1 ≤ i ≤ n and 1 ≤ j ≤ m.
Then the following (a) and (b) hold:
(a) if Gij = Aij , then there is a variable xi , 1 ≤ i ≤ n, such that xi ∈ Cj and
Pi 0 passes through v0 ; and
424
Xiao Zhou and Takao Nishizeki
(b) if Gij = Bij , then there is a variable xi , 1 ≤ i ≤ n, such that xi ∈ Cj and
Pi 0 passes through v 0 .
We are now ready to give a proof of Lemma 2.
Proof of Lemma 2 ⇒: Suppose that Gf has edge-disjoint paths connecting
terminal pairs. Let a be an assignment of true-false values to the n variables xi ,
1 ≤ i ≤ n, such that xi is true if Pi0 passes through vertex v0 , and xi is false
if Pi0 passes through vertex v 0 . Then we claim that f (a) is true.
For each clause Cj , 1 ≤ j ≤ m, PCj passes through Gij for some i, 1 ≤ i ≤ n,
and hence PCj is a Gij -through-path. Then, by Lemma 4 PCj is an upper or
lower Gij -through-path, and hence by Lemma 5 Gij = Aij or Bij .
Consider first the case Gij = Aij . Then, by Lemma 6(a), xi ∈ Cj and Pi 0
passes through vertex v0 for some i , 1 ≤ i ≤ n. Thus the value of variable xi
is true, and hence Cj is true.
Consider next the case Gij = Bij . By Lemma 6(b), xi ∈ Cj and Pi 0 passes
through vertex v 0 for some i , 1 ≤ i ≤ n. Thus the value of variable xi is false,
the value of literal xi in Cj is true, and hence Cj is true.
Thus all clauses Cj of f are true, and hence f (a) is true.
⇐: Suppose that f is satisfiable. Then there is an assignment a such that f (a)
is true. We shall show that Gf has edge-disjoint paths connecting all terminal
pairs.
We first find paths Pij for all i and j, 1 ≤ i ≤ n and 0 ≤ j ≤ m, as follows. If a
assigns variable xi , 1 ≤ i ≤ n, true, then we make each path Pij , 0 ≤ j ≤ m − 1,
pass through sij , vj , ai(j+1) and tij , and make Pim pass through sim , vm and tim .
If a assigns variable xi , 1 ≤ i ≤ n, false, then we make Pi0 pass through si0 , v 0
and ti0 , and make each path Pij , 1 ≤ j ≤ m, pass through sij , aij , v j and tij .
We next find paths Pij1 for all i and j, 1 ≤ i ≤ n and 1 ≤ j ≤ m, as follows.
If a assigns variable xi , 1 ≤ i ≤ n, true, then we make each path Pij1 , 1 ≤ j ≤ m,
pass through s1ij , ti(j−1) , v j−1 , aij , sij and t1ij . If a assigns variable xi , 1 ≤ i ≤ n,
false, then we make each path Pij1 , 1 ≤ j ≤ m, pass through s1ij , ti(j−1) , aij , vj , sij
and t1ij .
We next find paths Pij2 for all i and j such that 1 ≤ i ≤ n, 1 ≤ j ≤ m and xi
or xi ∈ Cj , as follows. There are the following two cases.
Case 1: xi ∈ Cj .
If xi is true, then we make Pij2 pass through s2ij , aij , vj and t2ij ; otherwise, we
make Pij2 pass through s2ij , vj−1 , bij , vj and t2ij .
Case 2: xi ∈ Cj .
If xi is true, then we make Pij2 pass through s2ij , v j−1 , bij , v j and t2ij ; otherwise,
we make Pij2 pass through s2ij , v j−1 , aij and t2ij .
We finally find paths PCj , 1 ≤ j ≤ m, as follows. At least one of the three
literals in Cj , say lij , is true under the assignment a, where lij is either xi or xi .
Then either lij = xi and xi is true or lij = xi and xi is false. For the former
case, we make PCj pass through sCj , vj−1 , bij , vj and tCj . For the latter case, we
make PCj pass through sCj , v j−1 , bij , v j and tCj .
The Edge-Disjoint Paths Problem is NP-Complete for Partial k-Trees
425
Thus we have proved that Gf has edge-disjoint paths connecting terminal
pairs.
4
Conclusion
In this paper we showed that the edge-disjoint paths problem is NP-complete for
partial 3-trees. Since the graph Gf constructed by our reduction has a bounded
pathwidth, our reduction implies that the edge-disjoint paths problem is NPcomplete for the class of graphs with bounded pathwidth. Therefore the maximum edge-disjoint paths problem is NP-hard for the same class. It should be
noted that the graph constructed by the reduction in [11] has an unbounded
pathwidth.
Zhou et al. proved the following fact: the edge-disjoint paths problem can
be solved in polynomial time for a partial k-tree G if the augmented graph G+
obtained from G by adding p edges (si , ti ), 1 ≤ i ≤ p, remains to be a partial ktree [27]. The result in this paper does not conflict with the fact above, because
the augmented graph G+
f of Gf is not always a partial k-tree with bounded k.
A class of tractable problems for partial k-trees has been characterized in
terms of the monadic second order logic [1,2,4,6]. It remains open to characterize
a class of intractable problems, including the edge-disjoint paths problem, the
subgraph isomorphism problem, and the bandwidth problem.
Acknowledgment
Thanks to A. Frank and an anonymous referee for pointing out some references.
References
1. S. Arnborg, B. Courcelle, A. Proskurowski, and D. Seese. An algebraic theory of
graph reduction. Journal of the Association for Computing Machinery, 40(5):1134–
1164, 1993. 417, 425
2. S. Arnborg, J. Lagergren, and D. Seese. Easy problems for tree-decomposable
graphs. Journal of Algorithms, 12(2):308–340, 1991. 417, 425
3. H. L. Bodlaender. A linear time algorithm for finding tree-decompositions of small
treewidth. SIAM Journal on Computing, 25:1305–1317, 1996. 419
4. R. B. Borie, R. G. Parker, and C. A. Tovey. Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively
constructed graph families. Algorithmica, 7:555–581, 1992. 417, 425
5. S.A. Cook. The complexity of theorem-proving procedures. In Proc. of 3th Symp.
Theory of Comp. Association for Computing Machinery, pages 151–158, 1971. 419
6. B. Courcelle. The monadic second-order logic of graphs I: Recognizable sets of
finite graphs. Information and Computation, 85:12–75, 1990. 417, 425
7. A. Dessmark, A. Lingas, and A. Proskurowski. Faster algorithms for subgraph
isomorphism of k-connected partial k-trees. In Proc. of the Fourth Europian Symposium on Algorithms, Lect. Notes in Computer Science, Springer-Verlag, volume
1136, pages 501–513, 1996. 417
426
Xiao Zhou and Takao Nishizeki
8. A. Frank. Edge-disjoint paths in planar graphs. Journal of Combinatorial Theory,
Series B, 39:164–178, 1985. 418
9. M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the
Theory of NP-Completeness. W.H. Freeman & Co., New York, 1979. 417, 419
10. A. Gupta and N. Nishimura. The complexity of subgraph isomorphism for classes
of partial k-trees. Theoretical Computer Science, 164:287–297, 1996. 417
11. N. Garg, V.V. Vazirani, and M. Yannakakis. Primal-dual approximation algorithms
for integral flow and multicut in trees. Algorithmica, 18:3–20, 1997. 418, 425
12. J. Kleinberg and É. Tardos. Approximations for the disjoint paths problem in
high-diameter planar networks. In Proc. ACM Symp. Theory of Computing, pages
26–35, 1995. 417
13. K. Matsumoto, T. Nishizeki, and N. Saito. An efficient algorithm for finding
multicommodity flows in planar networks. SIAM J. Comput., 14(2):289–302, 1985.
417, 418
14. M. Middendorf and F. Pfeiffer. On the complexity of disjoint paths problem.
Combinatorica, 13(1):97–107, 1993. 418
15. J. Matoušek and R. Thomas. On the complexity of finding iso- and other morphisms for partial k-trees. Discrete Mathematics, 108:343–364, 1992. 417
16. N. Robertson and P.D. Seymour. Graph minors II. Algorithmic aspects of treewidth. Journal of Algorithms, 7:309–322, 1986. 419
17. N. Robertson and P.D. Seymour. Graph minors XIII. The disjoint paths problem.
J. of Combin. Theory, Series B, 63(1):65–110, 1995. 417
18. H. Ripphausen-Lipa, D. Wagner, and K. Weihe. Efficient algorithms for disjoint
paths in planar graphs. DIMACS Series in Discrete Math. and Theoretical Computer Science, 20:295–354, 1995. 417
19. P. Scheffler. A practial linear time algorithm for disjoint paths in graphs with
bound tree-width. Technical Report 396, Dept. Mathematics, Technische Universität Berlin, 1994. 418
20. M. SysNlo. NP-complete problems on some tree-structured graphs: a review. In
Proc. WG’83 International Workshop on Graph Theoretic Concepts in Computer
Science, pages 478–489, Univ. Verlag Rudolf Trauner, Linz, West Germany, 1983.
417
21. H. Suzuki, A. Ishiguro, and T. Nishizeki. Edge-disjoint paths in a grid bounded
by two nested rectangles. Discrete Applied Mathematics, 27:157–178, 1990. 417
22. H. Suzuki, , T. Nishizeki, and N. Saito. Algorithms for multicommodity flows in
planar graphs. Algorithmica, 4:471–501, 1989. 417
23. J. A. Telle and A. Proskurowski. Algorithms for vertex partitioning problems on
partial k-trees. SIAM J. Discrete Math., 10:529–550, 1997. 417
24. J. Vygen. NP-completeness of some edge-disjoint paths problems. Discrete Appl.
Math., 61:83–90, 1995. 418
25. D. Wagner and K. Weihe. A linear-time algorithm for edge-disjoint paths in planar
graphs. Combinatorica., 15:135–150, 1995. 417, 418
26. X. Zhou, S. Nakano, and T. Nishizeki. Edge-coloring partial k-trees. Journal of
Algorithms, 21:598–617, 1996. 417
27. X. Zhou, S. Tamura, and T. Nishizeki. Finding edge-disjoint paths in partial ktrees. In Proc. of the Seventh International Symposium on Algorithms and Computation, Lect. Notes in Computer Science, Springer-Verlag, volume 1178, pages
203–212, 1996. 418, 425