Arc-Disjoint Paths in Expander Digraphs

19
ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS TOM BOHMAN AND ALAN FRIEZE SIAM J. COMPUT. c 2003 Society for Industrial and Applied Mathematics Vol. 32, No. 2, pp. 326–344 Abstract. Given a digraph D =(V,A) and a set of κ pairs of vertices in V , we are interested in finding, for each pair (x i ,y i ), a directed path connecting x i to y i such that the set of κ paths so found is arc-disjoint. For arbitrary graphs the problem is NP-complete, even for κ = 2. We present a polynomial time randomized algorithm for finding arc-disjoint paths in an r-regular expander digraph D. We show that if D has sufficiently strong expansion properties and the degree r is sufficiently large, then all sets of κ = Ω(n/ log n) pairs of vertices can be joined. This is within a constant factor of best possible. Key words. edge disjoint paths, expander digraphs, randomized algorithm AMS subject classifications. 68Q25, 68W20 PII. S0097539701398582 1. Introduction. Given a (graph) digraph D =(V,A) with n vertices and a set of κ pairs of vertices in V , we are interested in finding, for each pair (x i ,y i ), an (undirected) directed path connecting x i to y i , such that the set of κ paths so found is (edge) arc-disjoint. This is a classical problem in graph theory. See Frank [7] for a survey and Chapter 9.2 of the recent book on digraphs by Bang-Jensen and Gutin [2]. For undirected graphs, the related decision problem is in P for fixed κ (see Robert- son and Seymour [22]) but is NP -complete if κ is part of the input. For digraphs the situation is seemingly much worse. Fortune, Hopcroft, and Wyllie [6] showed that the related decision problem is NP -complete, even when κ = 2. For undirected graphs there have been positive results in the case of expanders. Peleg and Upfal [21] presented a polynomial time algorithm for the case where D is a (sufficiently strong) bounded degree expander graph and κ n for a small constant that depends on the expansion property of the graph. This result has been improved and extended by Broder, Frieze, and Upfal [4, 5], Frieze [8, 9], Leighton and Rao [17], and Leighton, Rao, and Srinivasan [18, 19]. In particular Frieze [9] showed that if D has sufficiently strong edge expansion properties and r is sufficiently large, then all sets of κ = Ω(n/ log n) pairs of vertices can be joined. This is within a constant factor of a simple upper bound. The purpose of this paper is to extend this result to digraphs. In this paper we discuss r-regular digraphs. A digraph D is r-regular if every vertex has in-degree and out-degree r. Let d µ be the median distance between pairs of vertices in the digraph D which has m arcs. Clearly, there exists a collection of O(m/d µ ) pairs of vertices that cannot be connected by arc-disjoint paths because such a collection of paths would require more arcs than all the arcs available. In the case of an r-regular expander, this absolute upper bound on κ is O(n/ log n) (assuming r is independent of n). We show that if D has sufficiently strong arc expansion Received by the editors November 26, 2001; accepted for publication (in revised form) August 20, 2002; published electronically January 17, 2003. http://www.siam.org/journals/sicomp/32-2/39858.html Department of Mathematical Sciences, Carnegie Mellon University, Pittsburgh, PA 15213 ([email protected], [email protected]). The work of the first author was supported in part by a grant from the NSA. The work of the second author was supported in part by NSF grant CCR-9818411. 326 Downloaded 12/27/12 to 152.3.102.242. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

Transcript of Arc-Disjoint Paths in Expander Digraphs

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS∗

TOM BOHMAN† AND ALAN FRIEZE†

SIAM J. COMPUT. c© 2003 Society for Industrial and Applied MathematicsVol. 32, No. 2, pp. 326–344

Abstract. Given a digraph D = (V,A) and a set of κ pairs of vertices in V , we are interestedin finding, for each pair (xi, yi), a directed path connecting xi to yi such that the set of κ paths sofound is arc-disjoint. For arbitrary graphs the problem is NP-complete, even for κ = 2.

We present a polynomial time randomized algorithm for finding arc-disjoint paths in an r-regularexpander digraph D. We show that if D has sufficiently strong expansion properties and the degreer is sufficiently large, then all sets of κ = Ω(n/ logn) pairs of vertices can be joined. This is withina constant factor of best possible.

Key words. edge disjoint paths, expander digraphs, randomized algorithm

AMS subject classifications. 68Q25, 68W20

PII. S0097539701398582

1. Introduction. Given a (graph) digraph D = (V,A) with n vertices and aset of κ pairs of vertices in V , we are interested in finding, for each pair (xi, yi), an(undirected) directed path connecting xi to yi, such that the set of κ paths so foundis (edge) arc-disjoint. This is a classical problem in graph theory. See Frank [7] fora survey and Chapter 9.2 of the recent book on digraphs by Bang-Jensen and Gutin[2].

For undirected graphs, the related decision problem is in P for fixed κ (see Robert-son and Seymour [22]) but is NP-complete if κ is part of the input. For digraphs thesituation is seemingly much worse. Fortune, Hopcroft, and Wyllie [6] showed that therelated decision problem is NP-complete, even when κ = 2.

For undirected graphs there have been positive results in the case of expanders.Peleg and Upfal [21] presented a polynomial time algorithm for the case where D is a(sufficiently strong) bounded degree expander graph and κ ≤ nε for a small constant εthat depends on the expansion property of the graph. This result has been improvedand extended by Broder, Frieze, and Upfal [4, 5], Frieze [8, 9], Leighton and Rao [17],and Leighton, Rao, and Srinivasan [18, 19]. In particular Frieze [9] showed that ifD has sufficiently strong edge expansion properties and r is sufficiently large, thenall sets of κ = Ω(n/ log n) pairs of vertices can be joined. This is within a constantfactor of a simple upper bound. The purpose of this paper is to extend this result todigraphs.

In this paper we discuss r-regular digraphs. A digraph D is r-regular if everyvertex has in-degree and out-degree r. Let dµ be the median distance between pairsof vertices in the digraph D which has m arcs. Clearly, there exists a collection ofO(m/dµ) pairs of vertices that cannot be connected by arc-disjoint paths because sucha collection of paths would require more arcs than all the arcs available. In the caseof an r-regular expander, this absolute upper bound on κ is O(n/ log n) (assumingr is independent of n). We show that if D has sufficiently strong arc expansion

∗Received by the editors November 26, 2001; accepted for publication (in revised form) August 20,2002; published electronically January 17, 2003.

http://www.siam.org/journals/sicomp/32-2/39858.html†Department of Mathematical Sciences, Carnegie Mellon University, Pittsburgh, PA 15213

([email protected], [email protected]). The work of the first author wassupported in part by a grant from the NSA. The work of the second author was supported in partby NSF grant CCR-9818411.

326

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 327

properties and r is sufficiently large, then all sets of κ = Ω(n/ log n) pairs of verticescan be joined. This is therefore within a constant factor of the optimum. The precisedefinition of “sufficiently strong” is given after the theorem.

Theorem 1. Let D = (V,A) be an n-vertex, r-regular digraph. Suppose that Dis a sufficiently strong arc expander. Then there exist ε1, ε2 > 0 such that D has thefollowing property: For all sets of pairs of vertices (xi, yi) | i = 1, . . . , κ satisfying

(i) κ = ε1rn/ log n, and(ii) for each vertex v, |i : xi = v|, |i : yi = v| ≤ ε2r,

there exist arc-disjoint paths in D, each of length O(log n), joining xi to yi for eachi = 1, 2, . . . , κ. Furthermore, there is a polynomial time randomized algorithm for con-structing these paths. The constants ε1, ε2 depend only on certain expansion param-eters α, β, γ defined below. They do not depend on n or r. (For example, conditions(2) with ε = α, (3), (9), and (12) suffice.)

Remark 1. The algorithm is similar to the algorithm of [9]. The difficulty inmoving from graphs to digraphs has been with that part of the algorithm for graphswhich was based on the rapid mixing of a random walk on expanders. Randomwalks on digraphs are not necessarily time reversible, and the steady state can behard to determine. We therefore abandoned this approach and replaced it with adifferent random choice of path (in part, this random choice for digraphs uses themulticommodity flow results of Leighton and Rao [16]).

It will be observed that this new algorithm can substitute for that given in [9].Remark 2. If D has sufficiently strong vertex expansion properties, then we can

take κ = ε1rn/ logr n; see Remark 4 below.Remark 3. It is perhaps worth remarking that regularity is not crucial to the

result. One can easily extend the results to digraphs where in- and out-degrees areconstrained to be in the interval [r, ar], where a ≥ 1 is an absolute constant. All weneed is for r to be sufficiently large. The crucial property is strong expansion.

1.1. Preliminaries. In this section we state the definitions for the expanderswe work with here, make some preliminary observations about such expanders, andprecisely define the notion of “sufficiently strong” expansion needed for Theorem 1.We begin with some notational conventions.

Let D = (V,A) be a digraph and let n = |V |. For S, T ⊆ V let A+D(S, T ) be the

set of arcs with tail in S and head in T ; that is,

A+(S, T ) = A+D(S, T ) = (u, v) ∈ A | u ∈ S, v ∈ T and d+(S, T ) = |A+(S, T )|.

We define A−(S, T ) similarly (i.e., A−(S, T ) = A+(T, S)). We set

A+(S) = (u, v) ∈ A | u ∈ S, v ∈ S and d+(S) = |A+(S)|.

So, for example, we have A+(S) = A+(S, V \ S). We define A−(S) and d−(S) analo-gously. Throughout the paper, when is used as a subscript or superscript, it standsfor + or −. We abbreviate A(v, T ) to A(v, T ). Thus, for v ∈ V , d+D(v) and d−D(v)denote the out-degree and in-degree of v in D.

We now have the notation necessary to introduce expansion. We define expandersin terms of arc expansion (a weaker property than vertex expansion). For S ⊆ V letΦS = d(S)/|S|. The (arc) expansion Φ = Φ(D) of D is defined by

Φ = minS⊆V

|S|≤n/2

minΦ+S ,Φ

−S .

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

328 TOM BOHMAN AND ALAN FRIEZE

A digraph D = (V,A) is a θ-expander if for every set S ⊆ V , |S| ≤ n/2, we haved(S) ≥ θ|S|; in other words, D is a θ-expander if Φ(D) ≥ θ. An r-regular digraphD = (V,A) is called an (α, β, γ)-expander if for every set S ⊆ V ,

d(S) ≥(1− α)r|S| if |S| ≤ γn,βr|S| if γn < |S| ≤ n/2.

We naturally assume that β < 1 − α. By “sufficiently strong” in Theorem 1 wemean that β, γ are arbitrary and α is sufficiently small; in particular, we assumethat conditions (2) with ε = α, (3), (9), and (12) hold. We also assume throughoutthat r and n are sufficiently large (but r is not a function of n). We have madeno real attempt to optimize constants. Such digraphs exist; in particular, randomregular digraphs are usually (α, β, γ)-expanders. (See [4] for the corresponding notionin undirected graphs.)

We conclude this section with some preliminary observations about expanders.Since |A(S, S)|+ d(S) = r|S| we see that, putting in(S) = |A+(S, S)| = |A−(S, S)|,in an (α, β, γ)-expander

in(S) ≤ αr|S| when |S| ≤ γn.(1)

For a digraph ∆ = (V ′, A′) and a set S ⊆ V ′ we define its out-neighbor set N+∆(S)

as

N+∆(S) = w /∈ S : ∃v ∈ S such that (v, w) ∈ A′.

Similarly, the in-neighbor set of S, N−∆ (S), is given by

N−∆ (S) = w /∈ S : ∃v ∈ S such that (w, v) ∈ A′.Lemma 1. Suppose that D = (V,A) is an (α, β, γ)-expander and that D′ =

(V ′, A′) is a subdigraph of D of expansion at least θr where θ > α. Suppose S ⊆ V ′.If |S| ≤ γα

θ n, then

|ND′(S)| ≥ θ − α

α|S|.

Proof. Suppose that |S| ≤ γαθ n and T = N

D′(S) satisfies |T | < θ−αα |S|. Then

|S ∪ T | <(1 +

θ − α

α

)|S| = θ

α|S| ≤ γn.

But S ∪ T contains at least

θr|S| > θr

(1 +

θ − α

α

)−1|S ∪ T | = αr|S ∪ T |

arcs, which contradicts (1).

2. The algorithm. The input to our algorithm is a sufficiently strong (α, β, γ)-expander digraph D and a set of pairs of vertices (xi, yi) | i = 1, . . . , κ satisfyingthe premises of Theorem 1. The output is a set of κ arc-disjoint paths, P1, . . . , Pκ,such that Pi connects xi to yi.

The algorithm has three phases. We begin in Phase 0 by splitting our graphinto 13 arc-disjoint expanders Di = (V,Ai), 1≤ i≤13. These graphs will be used for

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 329

various purposes in Phases 1 and 2, and each path we construct will be a union of pathsin the Di’s. Phase 1 consists mainly of applications of GenPaths, an algorithm thatuses the expander property to naively connect pairs of vertices with paths of lengthO(log n) one at a time, deleting the arcs from a path as soon as it is used. Of course,this deletion of arcs may quickly destroy the expander property. To compensate forthis problem, GenPaths “shrinks” the expanders in which it finds paths. The realwork of GenPaths is in keeping as many vertices as possible “connected” to theseshrinking expanders. Those pairs of vertices that are not connected with paths inPhase 1 (i.e., those pairs that contain a vertex whose connection with one of the“shrinking expanders” is lost) are handled in Phase 2. There are O( n

log4 n) such pairs.

Loosely speaking, Phase 2 uses the multicommodity flow algorithm of Leighton andRao to give a distribution on paths connecting the remaining pairs such that whppaths chosen at random with respect to this distribution are arc-disjoint.

2.1. Phase 0. We need an algorithm for splitting an (α, β, γ)-expander digraphinto 13 expander digraphs. Algorithms for splitting undirected graphs are given in [4]and [10]. They are easily adapted to digraphs, and we outline an adaptation of thealgorithm of [10] in Appendix A. In the appendix we prove the following.

Theorem 2. Suppose we have

r

log r≥ 91ε−2 and β ≥ 65ε−2r−1 log 2er(2)

and that D is an r-regular (α, β, γ)-expander, r constant. Then there is a ran-domized polynomial time algorithm which, with probability at least 1 − δ, constructsA1, A2, . . . , A13 such that the arc expansion Φi of Di = (V,Ai) satisfies

Φi ≥ (1− ε)Φ

13− (α+ 2ε) r

for i = 1, 2, . . . , 13.This theorem is useful only if Φ is at least a constant multiple of r and α is

sufficiently small. This is the case discussed in this paper. The algorithm runs inO(n2 lnn log δ−1) expected time. There is not enough time to verify that the algorithmsucceeds. Instead, we simply assume it has and repeat the split if we fail to find therequired paths.

We apply the algorithm of Theorem 2 with α = ε and assume that

β > 156α.(3)

Setting

β0 =β

13− 4α > 8α > 0,(4)

each Di satisfies

Φi = Φ(Di) ≥ β0r, and(5)

β0r ≤ di (v) < r for all v ∈ V.(6)

2.2. Phase 1. Phase 1 uses expanders D1 through D6. The centerpiece ofPhase 1 is the algorithm GenPaths, which connects a large collection of random

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

330 TOM BOHMAN AND ALAN FRIEZE

pairs of vertices in an expander with arc-disjoint paths. Since the pairs xi, yi are ar-bitrary, GenPaths cannot be applied to them directly; we must reduce the problemof connecting the xi’s to the yi’s to the problem of connecting random pairs.

In order to produce random pairs we introduce three random sets of κ vertices:X, Y , and Z. In the initialization step of Phase 1, a network-flow technique is used tofind a collection of arc-disjoint paths P1 = P 1

i : i = 1, . . . , κ from X = x1, . . . , xκto X in expander D1 such that the path P 1

i starts at xi for i = 1, . . . , κ. It isimportant to note that we have no control over which element of X is at the end ofthe path P 1

i (but there will be one path ending at x for each x ∈ X). This network-flow technique is also used in the initialization step of Phase 1 to find a collectionof arc-disjoint paths P6 = P 6

i : i = 1, . . . , κ from Y to Y = y1, . . . , yκ in D6

such that the endpoint of the path P 6i is yi. After the initialization step, we take a

random ordering of X: X = x1, . . . , xκ. Furthermore, we order Y so as to respectthe pairing of X and Y that is inherited from the collections P1 and P6; that is,we set Y = y1, . . . , yκ so that if the endpoint of P 1

i is xj , then yj is the startingpoint of P 6

i . Thus, it remains to find a collection of arc-disjoint paths connectingthe pairs (xi, yi) : i = 1, . . . , κ. Unfortunately this sequence of pairs of verticesis not truly random. This is a consequence of the fact that the pairing between Xand Y is determined by a deterministic process (i.e., knowledge of some of the pairsfrom this collection may bias the distribution on the unknown pairs). We overcomethis problem by introducing the third random set Z = z1, . . . , zκ. The sequences(xi, zi) : i = 1, . . . , κ and (zi, yi) : i = 1, . . . , κ are perfectly random sequences ofpairs of vertices (as long as we view them separately). It remains to connect thesetwo sequences of pairs of vertices with arc-disjoint paths. This is the work of thealgorithm GenPaths.

The input to GenPaths is a pair of expanders, Da and Db, and a collection ofpairs of vertices (vi, ui) : i = 1, . . . , κ that is generated uniformly at random. Theoutput of GenPaths is a collection of arc-disjoint paths from vi to ui for i = 1, . . . , κthat use only the arcs from Da and Db. We apply GenPaths twice. For the firstapplication we set Da = D2, Db = D3, and (vi, ui) : i = 1, . . . , κ = (xi, zi) : i =1, . . . , κ. In the second application we set Da = D4, Db = D5, and (vi, ui) : i =1, . . . , κ = (zi, yi) : i = 1, . . . , κ. Now, the expander Da is used to connect the vi’sto the ui’s with short paths one at a time. In order to be sure that such paths exist wemust be working with an expander. Therefore we delete some vertices in the course ofthe algorithm; in other words, this expander shrinks as the algorithm progresses. Db

is used to keep as many vertices as possible connected to the “shrinking expander”contained in Da. We should note that these connections also require that Db be anexpander. So, Db also “shrinks” in the course of the algorithm. The subroutinesRemove and ConnectBack are used by GenPaths.

2.2.1. Initialization. Let X, Y be two randomly chosen κ-subsets of V . Webegin by replacing the problem of finding paths from xi to yi by that of finding pathsfrom ai to bi, where ai ∈ X and bi ∈ Y . Let X denote the set x1, x2, . . . , xκ andY = y1, y2, . . . , yκ. We connect X to X via arc-disjoint paths in the digraph D1

using a network flow. We construct our network as follows:

• Each directed arc of D1 gets capacity 1.• Each v ∈ V becomes a source of capacity |i : xi = v|, and each member of

X becomes a sink of capacity 1.

Then we find a flow from X to X that satisfies all demands. We can find such amaximum flow with integer values, and this decomposes naturally into |X| arc-disjoint

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 331

paths (together perhaps with some cycles). We connect Y to Y by arc-disjoint pathsin a similar manner using D6

We now have a collection of arc-disjoint paths P1 = P 1i : i = 1, . . . , κ such that

the starting point of P 1i is xi for i = 1, . . . , κ and each member of X is the endpoint

of exactly one path from P1. Furthermore, we have a collection of arc-disjoint pathsP6 = P 6

i : i = 1, . . . , κ such that each member of Y is the starting point of exactlyone path from P6 and the endpoint of path P 6

i is yi for i = 1, . . . , κ.

2.2.2. Algorithm GENPATHS. The aim of GenPaths is to join vi and ui fori = 1, 2, . . . , κ by a short (i.e., of length O(log n)) path in Da. After constructinga path, we remove its arcs. It is important to ensure that short paths exist. Ofcourse, this would not be a problem if we could ensure that Da remained an expanderthroughout. We have to be satisfied with identifying a dynamically changing largesubgraph ∆a = (Va, Fa) of Da which is an expander. Initially ∆a = Da, and Valoses vertices as GenPaths progresses. We ensure that ∆a remains an expanderby keeping the degrees of vertices in the ∆a close to their degree in Da. This mayinvolve deleting some (low degree) vertices after the construction of a path. We usethe routine Remove to do this.

If the proposed start vertex v of a walk on ∆a does not lie in Va, then we tryto connect it back to Va by a path in Db. The terminal endpoint of this walk isdenoted by v′. We use a subroutine ConnectBack for this purpose. Similarly, theproposed end vertex u might not lie in Va. In this case we use ConnectBack tofind a path from some u′ ∈ Va to u in Db. We do not expect to succeed all the timeand our failures are kept in a set L for treatment in Phase 2. The arcs in the pathsgenerated by ConnectBack are deleted from Db. Since ConnectBack requiresthat Db is an expander we will also be working with a second “shrinking expander”∆b = (Vb, Fb) contained in Db. This shrinking expander will also be maintained byuse of the subroutine Remove.

In the end, the path from vi to ui will be a concatenation of up to three separatepaths. There will always be a path Qi from Da, and there may also be a short walk (orwalks) from Db provided by ConnectBack (these are denoted WCB→

i and WCB←i ,

respectively).1. Algorithm GenPaths2. begin3. ∆t ← Dt, t = a, b.4. for i = 1 to κ do5. Execute Remove(∆a)6. Execute ConnectBack(Va, vi,→, v′i, i,W

CB→i )

7. Execute ConnectBack(Va, ui,←, u′i, i,WCB←i )

8. if i ∈ L then9. Construct a shortest path Qi from v′i to u′i in ∆a.10. Pi ← (WCB→

i , Qi,WCB←i )

11. ∆a ← ∆a \ E(Pi)12. fi13. od14. end GenPaths

2.2.3. Subroutine REMOVE. The purpose of Remove is to delete verticesthat might prevent a digraph from being an expander. In the course of GenPathswe apply remove to ∆a and ∆b. In other words, this simple algorithm iterativelyremoves those vertices whose in-/out-degree is less than the original in-/out-degree

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

332 TOM BOHMAN AND ALAN FRIEZE

minus β0r/2. To be precise, at the end of the algorithm we have a graph ∆t = (Vt, Ft),where t ∈ a, b such that

v ∈ Vt implies d∆t(v) ≥ dDt

(v)− β0r/2 ≥ β0r/2.(7)

The final inequality in (7) follows from (6). It follows immediately from (7) that forS ⊆ Vt we have

d∆t(S) ≥ dDt

(S)− β0r|S|/2 ≥ (Φt − β0r/2)|S|.

This implies that, provided neither Va nor Vb become empty (an issue which we takeup in the next section), both ∆a and ∆b are expanders throughout Phase 1:

Φ∆t ≥ Φt − β0r/2 ≥ β0r/2 for t = a, b.(8)

1. Algorithm REMOVE(∆t)2. begin3. B ← v ∈ Vt : d+∆t

(v) < d+Dt(v)− β0r/2 or d−∆t

(v) < d−Dt(v)− β0r/2.

4. if B = ∅ then5. A← Vt \B6. d← max maxd+Dt

(v)− d+∆t(v,A) , d−Dt

(v)− d−∆t(v,A) : v ∈ A.

7. while d > β0r/2 do8. C ← w ∈ A : maxd+Dt

(w)− d+∆t(w,A) , d−Dt

(w)− d−∆t(w,A) ≥ β0r/2

9. B ← B ∪ C10. A← A \ C11. d← max maxd+Dt

(v)− d+∆t(v,A) , d−Dt

(v)− d−∆t(v,A) : v ∈ A.

12. od13. Vt ← A14. fi15. end Remove

2.2.4. Subroutine CONNECTBACK. The purpose ofConnectBack is to con-nect a vertex z to Va by means of a short walk in Db. The direction of this walk isdetermined by the input dir. If dir =→, then a path from z to Va is required, and ifdir =←, then a path from Va to z is needed. If z ∈ Va already, then ConnectBackdoes nothing but relabel z as z′. Since |V \Va| can be of order n (this is discussed be-low), we must maintain the expander property of ∆b in order to find short connectingpaths. Thus we apply Remove to ∆b in the course of ConnectBack. Now, thosepairs that contain a vertex that lies in V \ (Va ∪ Vb) are passed to Phase 2 in the setL. Thus, the long-term success of ConnectBack hinges on keeping V \ (Va ∪ Vb)small. In fact, this can be viewed as the key point in all of GenPaths.

We keep Vb large by ensuring that the paths we use in ∆b are spread out; inother words, we avoid using too many paths through any one vertex. This is achievedwhp; recall that the pairs of vertices (vi, ui) : i = 1, . . . , κ that are the input toGenPaths are assumed to be generated uniformly at random. When a path is needed(i.e., when z ∈ Va) ConnectBack constructs a collection Wdir of walks in ∆b. Thiscollection has the following properties:

1. If dir =→, then every walk in Wdir = W→ is a walk from a distinct vertexin Vb \ Va to Va.

2. If dir =←, then every walk in Wdir = W← is a walk from Va to a distinctvertex in Vb \ Va.

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 333

3. No path in Wdir is longer than 22 log logn.4. No vertex of Db lies on more than 240(log logn)2 paths.

The set of start vertices of the walks in W→ is denoted S→CB , and the set of terminalvertices of the walks in W← is denoted S←CB . Clearly, S

dirCB ⊆ Vb \ Va. The collection

of walks will have the following additional property:

5. |V \ (Va ∪ SdirCB)| ≤ n

(lnn)4 .

In other words, condition 3 says that the paths in Wdir are short, condition 4 saysthat the paths are “spread out” and condition 5 says that very few vertices are leftout of the collection.

We emphasize that Wdir is constructed without use of any information about z.Therefore, z (which was a random vertex to begin with) can be viewed as a vertexchosen uniformly at random after the collection Wdir is constructed. Heuristically,we can think of W→ and W← as collections of connecting paths that are updatedwhenever ∆a or ∆b “shrink,” but we only “look” at these collections when we needthem.

If z ∈ SdirCB , then we connect z back to Va by way of the unique path in Wdirthat

begins at z (if dir =→) or ends at z (if dir =←). If z does not lie in SdirCB , we put i

into L (note that we have either z = xi or z = yi). Arc-disjoint paths for the pairs(xi, yi), i ∈ L are found in Phase 2.

A network-flow technique for the construction of the collection of paths Wdir

follows from the proof of Lemma 3, which is given in section 2.3.3.

1. subroutine CONNECTBACK(Va, z,dir, z′, i,WCB)

2. begin3. if z ∈ Va4. then z′ ← z5. else6. Execute Remove(∆b)7. Construct Wdir (see Lemma 3 for algorithm).8. if z ∈ Sdir

CB

9. then L← L ∪ i10. else11. WCB ← the unique path in Wdir with start/terminal vertex z12. z′ ← terminal/start vertex of WCB

13. ∆b ← ∆b \WCB

14. fi15. fi16. end ConnectBack

2.3. Analysis of Phase 1. There are three facts concerning Phase 1 that remainto be shown: that the flow needed in the initialization exists, that V3 stays large, andthat at the end of Phase 1 whp we have L = O( n

(log n)4 ).

2.3.1. Initialization. In this subsection we show that if (5) holds and r is suf-ficiently large, then we can find arc-disjoint paths from x1, . . . , xκ to X in D1 andarc-disjoint paths from Y to y1, . . . , yκ in D6 for any choice of x1, . . . , yκ consistentwith the premises of Theorem 1, and for every choice for X, Y . We assume that wehave

8α > ε2 > r−1.(9)

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

334 TOM BOHMAN AND ALAN FRIEZE

For S ⊆ V , let

α(S) =∑v∈S|i : xi = v| and ξ(S) = |S ∩ X|.

It follows from a theorem of Gale [12] (see Bondy and Murty [3, Theorem 11.8]) thatif

d+D1(S) ≥ ξ(S)− α(S) for all S ⊆ V,(10)

then there exists a flow in the network defined on D1 such that exactly one unit offlow travels through each vertex in X, and the amount of flow traveling through eachvertex v ∈ x1, . . . , xκ is |i : xi = v|. In other words, (10) implies a successful runof Phase 2.

Now, if |S| ≤ n/2, then, applying (4), (5), and (9), we have

d+D1(S) ≥ |S|Φ1 ≥ |S|β0r ≥ 8αr|S| ≥ ε2r|S| ≥ α(S)− ξ(S) = ξ(S)− α(S).

On the other hand, if |S| > n/2, then we have

d+D1(S) = d−D1

(S) ≥ |S|Φ1 ≥ |S|β0r ≥ ε2r|S| ≥ ξ(S)− α(S).

Therefore, Phase 1 succeeds with respect to X, X. The same argument applies toY, Y . To ensure these paths are of length O(log n) we can solve a minimum costmaximum flow problem as indicated in Kleinberg and Rubinfeld [13].

2.3.2. On the size of Va.Lemma 2. Throughout GenPaths we have

|Va| ≥ (1− γ0)n,

where

γ0 =β0γ

10.

Proof. It follows from (8) that ∆a is a (β0r/2)-expander throughout the executionof Phase 1. It follows from Lemma 1 that the diameter of ∆a is always at most

τ =

⌈2 log3 n+

2

αγ

⌉.(11)

Indeed, consider breadth-first search from some v ∈ Va. Let Lt, t ≥ 0, be the verticesat distance t from v. Lemma 1 implies that the cardinalities of the Lt grow at a rateat least 3 until they reach size (2γα/β0)n. The same will be true for breadth-firstsearch to a target vertex w. This accounts for the first term in (11). Once Lt reaches(2γα/β0)n, we use the fact that going to the next level involves finding β0r|Lt|/2“new arcs,” at least until size n/2 is reached. This accounts for the second term in(11).

Thus the total number of arcs in the paths that are removed from Da is at mostκτ . Let B be the set of vertices that are removed from ∆a in the course of Phase 1,and let B1 be the set of vertices in B incident with at least β0r/4 of the paths thatare generated in Da. We have

|B1| ≤ 4κτ

β0r≤ γ0n

2,

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 335

provided

ε1 ≤ β20γ

160,(12)

where ε1 is as in the statement of Theorem 1. Let B2 = B \ B1 (i.e., those verticesremoved from ∆a that lie on less than β0r/4 of the paths generated in Da).

Assume for the sake of contradiction that |B2| > |B1|. Let B3 be the first |B1|vertices of B2 to join B. Note that the vertices in B3 have a large degree to B1 ∪B3

(otherwise these vertices would remain in Va). Applying (4) we have

inDa(B1 ∪B3) ≥ β0r

4|B3| = β0r

8|B1 ∪B3| > αr|B1 ∪B3|.

This contradicts (1).Therefore, |B| = |B1|+ |B2| ≤ 2|B1| ≤ γ0n.

2.3.3. Analysis of CONNECTBACK. Of course, the first order of business hereis to show how the collection of paths Wdir is generated.

Lemma 3. Suppose that D = (V,A) is an (α, β, γ)-expander and that D′ =(V ′, A′) is a subdigraph of D of expansion at least θr where θ > 6α. Suppose thatS ⊆ V ′ and that |S| ≥ (1− γα

θ )n, and let T = V ′ \ S. Then there exists T ⊆ T suchthat D′ contains a collection of walks Wdir = Wv : v ∈ T such that

1. for dir =→ /←, v is the start/terminal vertex of Wv for all v ∈ T ;2. the terminal/start vertex of each Wv is in S;3. each Wv is of length at most 22 log log n;4. no vertex of D′ lies on more than 240(log log n)2 paths; and5. |T \ T | ≤ n

(log n)4 .

Proof. Assume without loss of generality that dir =→. For i = 1, 2, . . . , let

Ti = v ∈ T : distD′(v, S) = i,and set T0 = S. Since N+

D′ (∪k≥iTk) ⊆ Ti−1, it follows from Lemma 1 that we have

|Ti−1| ≥ ζ|Ti| for i ≥ 1,(13)

where ζ = θ−αα > 5. Setting i0 = 11 log log n and T =

⋃i≥i0 Ti, it follows from (13)

that we have

|T | ≤ n

2(log n)4.(14)

Fix 1 ≤ i < i0. We define a flow network Ni. The vertex set of Ni is s, t ∪⋃j0j=1(Cj ∪C ′j), where C1 and C ′1 are disjoint copies of Ti for 2 ≤ j ≤ i, Cj and C ′j are

disjoint copies of⋃

≥i+1−j T and, for i < j ≤ j0 = 2i0, Cj and C ′j are disjoint copiesof V ′. The vertices s and t will be the source and sink, respectively, for the flow weintroduce to Ni. A vertex v in V ′ may appear many times in the vertex set of Ni; acopy of v in Cj is denoted vj , and a copy of v in C ′j is denoted v′j . For ease of notation,we let φ be the map that takes the vertices of Ni to their corresponding vertices inV ′. The arc-set of Ni is defined as follows. There is an arc from s to each vertex ofC1. Each v ∈ S gives rise to arcs (v′j , t), i < j ≤ j0. If v

′j ∈ C ′j and wj+1 ∈ Cj+1 are

such that (v, w) is an arc of D′, then (v′j , wj+1) is an arc of Ni. All arcs described sofar have infinite capacity. In addition there are arcs (vj , v

′j) of unit capacity defining

a perfect matching between Cj and C ′j for 1 ≤ j ≤ j0.

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

336 TOM BOHMAN AND ALAN FRIEZE

Claim 1. Ni contains an s− t flow of value at least |Ti| − n(log n)5 .

We first show the lemma follows from Claim 1. The flow given by Claim 1 definespaths in D′ from all but at most n

(log n)5 vertices of Ti to S, each of length at most j0.

No vertex of V ′ can be on more than j0 paths since each visit to v uses a (vj , v′j) arc

for some j. Repeating this construction for i = 1, 2, . . . , i0 we find paths for all buta set T of at most i0

n(log n)5 ≤ n

2(log n)4 vertices, and no vertex can be on more than

i0j0 paths. Putting T = T \ (T ∪ T ) and using (14) gives us the lemma.It only remains to prove Claim 1. Of course, we do this via the max-flow min-cut

theorem. Consider a cut Z∪Z of Ni, where the vertex set Z contains s but not t. LetAj = Z∩Cj , Bj = Cj \Aj , A

′j = Z∩C ′j , and B′j = C ′j \A′j for j = 1, 2, . . . , j0. Assume

for the sake of contradiction that the capacity of this cut is less than |C1| − n(log n)5 .

It follows from this assumption that the cut contains no infinite capacity arcs andtherefore

A1 = C1, φ(Aj+1) ⊇ N+D′(φ(A

′j)) for all j, φ(A′j) ∩ S = ∅ for all j.

(15)

The capacity of the cut is

|B′1|+j0∑j=2

|φ(Aj) ∩ φ(B′j)|.(16)

The third condition of (15) implies that for all j, |A′j | < γαθ n. It then follows from

Lemma 1 and the second condition of (15) that we have |Aj+1| ≥ ζ|A′j |. This impliesthat for all j we have either

|A′j+1| ≥1

2|Aj+1| ≥ ζ

2|A′j |(17)

or

|φ(Aj+1) ∩ φ(B′j+1)| ≥1

2|Aj+1| ≥ ζ

2|A′j |.(18)

Now, if |A′1| ≤ n(log n)5 , then |B′1| ≥ |C1| − n

(log n)5 , which contradicts our initial

assumption. On the other hand, if |A′1| > n(log n)5 , then, since ( ζ2 )

j0−1 > (log n)5,

condition (17) cannot always hold. Let j1 ≥ 1 be the first j for which (18) holds. Wehave

|φ(Aj1+1) ∩ φ(B′j1+1)| ≥ (ζ/2)j1 |A′1| ≥ |A′1|.

The capacity of the cut is at least |B′1|+ |A′1| = |C1|. This is a contradiction.To get the collection of paths needed for ConnectBack we apply Lemma 3 with

D′ = ∆b, V′ = Vb, S = Va ∩ Vb. So, for example, we have Sdir

CB = T . It remains toshow that whp we have |L| ≤ n

(log n)4 .

Note that Lemma 3 can be applied only if Va ∩ Vb is large. However, by applyingthe proof of Lemma 2 and the fact that the paths generated by ConnectBackare short (length at most 22 log logn) we see that |Vb| = n − O(n log log n/ log n)throughout, and this is sufficient. (Furthermore, the assumption that θ > 6α inLemma 3 is justified, since it follows from this observation that the expansion of ∆b

is always at least 3β0r/4.) However, we shall see that Vb is whp larger than this.

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 337

This is where we use the fact that the paths inWdir are spread out (i.e., the fact thatthere are at most 240(log log n)2 paths in Wdir through any one vertex).

It follows from this fact that the probability that an arbitrary vertex w is on thepath WCBdir

i is at most 240(log log n)2/n. It follows that we have

Pr(∣∣i : w ∈WCB→

i

∣∣+ ∣∣i : w ∈WCB←i

∣∣ ≥ 20)

≤ Pr(B(2κ, 240(log log n)2/n) ≥ 20)

≤(2κ

20

)(240(log log n)2

n

)20

= o((log n)−19).

(19)

Let B be the set of vertices which are removed from ∆b by applications of Remove.Let X1 be the set of vertices in B that are on at least 20 of the paths WCB→

i ,WCB←i .

Note that X1 contains the set B1 introduced in the proof of Lemma 2 (B1 is thecollection of vertices taken out of Vb by Remove that are on many of the paths).It follows from (19) and Markov’s inequality that whp we have |X1| ≤ n/(log n)18.Now, B (which contains V \ Vb at every step) consists of B1 together with extravertices deleted by Remove. In total this will be at most 2|B1| vertices removed bythe argument of Lemma 2, following (12). Thus, |B| ≤ 2|B1| ≤ 2|X1|. Therefore

|B| ≤ n

(log n)18(20)

whp.Now, a failure (i.e., the index i joining the set L) can occur in one of two ways.

On one hand we have a failure if either vi or ui does not lie in Va∪Vb, and on the otherhand a failure results when ui ∈ Vb \ (Va ∪ S→CB) or vi ∈ Vb \ (Va ∪ S←CB). It followsfrom (20) that the total number of failures of the first type is whp at most n

(log n)18 .

For failures of the second type we note that v1, . . . , vκ form a random sequence of sizeo(n). The probability that a particular vertex gives a failure of the second kind is atmost

|SdirCB |n

= O

(1

(log n)4

).

Applying the Chernoff bound for the tails of the binomial, we see that whp the totalnumber of failures of the second kind is O(n/(log n)4).

Remark 4. Suppose D has the following vertex expansion property for small sets:S ⊆ V, |S| ≤ γ

rn implies that |ND(S)| ≥ (1 − α)r|S|. The algorithm of Theorem 4

can be modified to split D so that each subgraph Di and small S satisfies |NDi(S)| ≥

1−30α13 r|S|. Then the shortest paths in ∆a will be of length O(logr n) and the claim

in Remark 2 will follow.

2.4. Phase 2. The set of pairs (xi, yi) : i ∈ L have not yet been connected bypaths. We have seen that whp the number of such pairs, |L|, is at most O(n/(log n)4).These pairs are dealt with by the algorithm described below which uses digraphs D7–D13.

The heart of the algorithm is a randomized method (based on a multicommodityflow result of Leighton and Rao [16]) for connecting pairs of vertices with arc-disjointpaths which workswhp when the collection of pairs is generated uniformly at random.So, as in Phase 1, some preliminary steps must be taken in order to reduce the problem

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

338 TOM BOHMAN AND ALAN FRIEZE

of connecting an arbitrary set of pairs of vertices with arc-disjoint paths to the problemof connecting a random collection of pairs with arc-disjoint paths. We proceed directlyto a description of the algorithm. Let m = |L| and λ = log n.

We begin by “amplifying” each start vertex xi, i ∈ L, and each end vertex yi, i ∈ L,to a collection of λ vertices. This process occurs in steps (a) and (b).

(a) In this step, we choose a collection of vertices wj , 1 ≤ j ≤ 2m, and a collectionof sets of vertices Wj , 1 ≤ j ≤ 2m, such that for 1 ≤ j ≤ 2m,(i) wj ∈Wj ;(ii) |Wj | = λ;(iii) the sets Wj are pairwise disjoint; and(iv) D9 contains an arborescence with vertex set Wj and root wj ; for 1 ≤

j ≤ m this arborescence is directed away from the root, and for m+1 ≤j ≤ 2m this arborescence is directed toward the root.

Following [17], we find these arborescences by partitioning large arborescencesof D9. We begin with a rooted spanning arborescence T with the propertythat all arcs are directed away from the root. We generate W1, . . . ,Wm

greedily from D9, removing an arborescence from T once it is used. Ofcourse, this process will divide T into a number of components. However,since the maximum degree of D9 is r, the number of components producedin this process is at most rλm = O( nr

(log n)3 ). Since any tree having at least λ

vertices contains a subtree having exactly λ vertices, we will always be ableto find the needed arborescences. We then apply Remove to D9 less thevertex set ∪mi=1Wi to produce an expander D′9. It follows from the proof ofLemma 2 that D′9 has n − o(n) vertices. We repeat the process describedabove (this time using D′9 and an arborescense directed toward the roots) toproduce Wm+1, . . . ,W2m.

(b) Let SX = xi : i ∈ L and SY = yi : i ∈ L denote the sets of verticesthat need to be joined. Use a network flow algorithm (analogous to what isgiven in the initialization step of Phase 1) in D7 to connect in an arbitrarymanner the vertices of SX to WX = w1, . . . , wm by m arc-disjoint paths.Using the same network flow algorithm in D8, connect in an arbitrary mannerthe vertices of WY = wm+1, . . . , w2m to SY by m arc-disjoint paths. Theexpansion properties of D7 and D8 ensure that such paths always exist (aswe saw in the initialization step of Phase 1).

Let xk (resp., yk) denote the vertex in WX that was connected to the endpoint xk(resp., yk). Our problem is now to find arc-disjoint paths joining xk to yk for 1 ≤ k ≤m. If wt has been renamed as xk (resp., yk), then rename the elements of Wt as xk,(resp., yk,), 1 ≤ 8 ≤ λ.

(c) Choose ξj , 1 ≤ j ≤ λm, and ηj , 1 ≤ j ≤ λm, uniformly at random fromV without replacement. Using a network-flow algorithm (as in (b)) connectxk, : 1 ≤ k ≤ m, 1 ≤ 8 ≤ λ to ξj : 1 ≤ j ≤ λm by arc-disjoint paths inD10. Similarly, connect ηj : 1 ≤ j ≤ λm to yk, : 1 ≤ k ≤ m, 1 ≤ 8 ≤ λby arc-disjoint paths in D13. Rename the other endpoint of the path startingat xk, (resp., ending at yk,) as x∗k, (resp., y

∗k,).

(d) Choose z∗k,, 1 ≤ k ≤ m, 1 ≤ 8 ≤ λ, uniformly at random from V with re-placement. (We sample without replacement in (c) to ensure that all verticeshave demands 0 or 1 in the flow algorithm. Here it is convenient to samplewith replacement so that these choices are independent.) Now, it is impor-tant to note that the pairs x∗k,, z

∗k, and the pairs z∗k,, y

∗k, are (when viewed

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 339

separately) perfectly random. We are using the same “trick” that we used inPhase 1 for replacing the problem of connecting arbitrary pairs to the problemof connecting random pairs.The paths between pairs of the form x∗k,, z

∗k, and between pairs of the form

z∗k,, y∗k, are generated at random. Using the multicommodity flow algorithm

of Leighton and Rao [16] find a collection of paths Pu,v;θ, u = v ∈ V, 1 ≤ θ ≤νu,v, where each Pu,v;θ is a path in D11 from u to v. These are the flow pathsgiven by Theorem 18 in [16] (νu,v is simply the number of flow paths we havefor the pairs u, v). Let Pu,v = Pu,v;θ : 1 ≤ θ ≤ νu,v. For each Pu,v;θ wewill have a flow value fu,v;θ > 0, and we let Fu,v =

∑νu,v

θ=1 fu,v;θ. Theorem 18promises the following:(P1) For all arcs e of D11, ∑

(u,v,θ): e∈Pu,v;θ

fu,v;θ ≤ 1.

(P2)

Fu,v ≥ c2n log n

for some absolute constant c2 > 0.(P3) The length of each path Pu,v;θ is at most λ1 = c1 logr n for some abso-

lute constant c1 > 0.For u, v ∈ V , let Pu,v be the probability distribution over Pu,v wherePu,v(Pu,v;θ) = f(u, v, θ)/F (u, v). Then for each k, 8 choose W ′k, randomlyfrom Px∗

k, ,z∗k,

using the distribution Px∗k, ,z

∗k,

to select the path.

Let B′k denote the bundle of paths W ′k,, 1 ≤ 8 ≤ λ. Carry out the sameconstruction in D12 and construct a bundle of paths B′′k = W ′′k,, 1 ≤ 8 ≤ λ,where W ′′k, is a path from z∗k, to y∗k,.Let π0 = maxePr(e ∈ P ), where P is a path chosen by (i) randomly choosingendpoints u, v and then (ii) choosing P ∈ Pu,v according to the distributionPu,v. We have

π0 = maxe

∑Pu,v;θe

1

n2· f(u, v, θ)

F (u, v)≤ 1

n2n log n

c2=

log n

c2n.

We say that W ′k, is bad if there exists k′ = k such that W ′k, shares an arcwith a walk in a bundle B′k′ .Now, suppose the bundles in the set Bj : j = k are fixed. The collection ofpaths involved in these bundles gives at most mλλ1 arcs. Thus, the proba-bility that Wk,l is bad, conditioning on what happens outside the bundle Bk,is at most

π0mλλ1 = O

(1

log n

).

We say that index k is bad if either B′k or B′′k contains more than λ/3 badwalks. If index k is not bad, then we can find a walk from x∗k, to y∗k, throughx∗k, for some 8 which is arc-disjoint from all other walks. This gives a walk

xk − xk − xk − xk, − x∗k, − z∗k, − y∗k, − yk, − yk − yk − yk,

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

340 TOM BOHMAN AND ALAN FRIEZE

which is arc-disjoint from all other such walks.The probability that index k is bad is at most

2Pr(B(λ,O((log n)−1)) ≥ λ/3) = O(n−2).

So with probability 1-o(1) there are no bad indices.

Appendix A. Splitting an expander digraph. We prove two results onsplitting D into D1 ∪ · · · ∪Dk, where Di = (V,Ai). The first is nonconstructive andshows what might be achieved. The second is constructive and uses the first. Thesplit produced by the second is not as good as that indicated by the first result. Weuse a subscript i to denote graph-theoretic constructs related to Di. Thus d

+i (v) is the

out-degree of v in Di. Left unsubscripted, such things refer to D. Thus d−(v) = r.In section B we prove the following.Theorem 3. Let k ≥ 2 be a positive integer and let ε > 0 be a small positive

real number. Suppose that the r-regular digraph D = (V,A) has edge expansion Φ andthat we have

r

ln r≥ 7kε−2 and Φ ≥ 5ε−2k ln 2er.

Then there exists a partition A = A1 ∪A2 ∪ · · · ∪Ak such that for 1 ≤ i ≤ k

Φi ≥ (1− ε)Φ

kand (1− ε)

r

k≤ δ∗(Di) ≤ ∆∗(Di) ≤ (1 + ε)

r

k.

We then use this in Appendix C in the proof of Theorem 4.Theorem 4. Suppose that the conditions of Theorem 3 hold, and suppose further

that D is an (α, β, γ)-expander. Then there is a randomized polynomial time algo-rithm (running time O(n2 lnn ln δ−1)) which with probability at least 1− δ constructsA1, A2, . . . , Ak such that

Φi ≥ (1− ε)Φ

k− (α+ ε) r

for i = 1, 2, . . . , k.Note that this theorem is useful only if Φ ≥ cr for some c satisfying c α. For

random r-regular digraphs we can take γ to be a small constant and α = O(γ + 1√r).

Also note that there is not enough time to verify that the algorithm succeeds. Instead,we assume it has and repeat the split if we fail to find the required paths.

Appendix B. Existence result. We prove Theorem 3. We will use the generalversion of the Lovasz local lemma. For each a ∈ A we randomly choose an integeri ∈ [k] and then place a in Ai. We must show that there is a positive probability ofchoosing a partition which satisfies the conditions of the theorem.

We begin with some definitions and preliminary observations. Let G = (V,E) bethe 2r-regular (multi-)graph obtained by ignoring orientation in D. If S ⊆ V , thenG[S] is the subgraph of G induced by S. We say that S is connected if G[S] is.

Claim 2. For v ∈ V there are at most (2er)s−1 sets S such that (i) v ∈ S, (ii)|S| = s, and (iii) S is connected.

Proof of Claim 2. The number of such sets is bounded by the number of distincts-vertex trees which are rooted at v. This in turn is bounded by the number of distinct2r-ary rooted trees with s vertices. This is equal to

(2rss

)/((2r − 1)s+ 1); see Knuth

[15].

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 341

In both this section and what follows will use the following Chernoff bounds forthe tails of the binomial distribution B(n, p):

Pr(B(n, p) ≥ (1 + ε)np) ≤ e−ε2np/3,(21)

Pr(B(n, p) ≤ (1− ε)np) ≤ e−ε2np/2,(22)

where 0 ≤ ε ≤ 1.

For our application of the Lovasz local lemma, we define the following bad events:

(a) For v ∈ V , i ∈ [k], and ∗ ∈ +,−, Av,i,∗ = Av,i,∗ is the event that

d∗i (v) ∈ [(1− ε)r/k, (1 + ε)r/k].

(b) For S ⊆ V, 2 ≤ |S| ≤ n/2, S connected, i ∈ [k], and ∗ ∈ +,−, AS,i,∗ is theevent that

|d∗i (S)| < (1− ε)|d∗(S)|/k.

In showing that Φi is sufficiently large we can restrict our attention to S for which Sis connected. Indeed, for S ⊆ V let C1, C2, . . . , Ct be the components of G[S]. Thenfor ∗ ∈ +,−,

Φ∗S,i ≥ min1≤s≤t

d∗i (Cs)

|Cs| .

Using the Chernoff bounds given above, we obtain

Pr(Av,i,∗) ≤ 2e−ε2r/(3k) ≤ 2e−(7 ln r)/3 <

1

r2

and

Pr(AS,i,∗) ≤ exp

−ε2d∗(S)

2k

≤ e−2|S| ln r =

1

r2|S|.

Now, for S ⊆ V, 1 ≤ |S| ≤ n/2, and S connected, let

xS,i,∗ =(2

r2

)|S|.

We show that for ∗,# ∈ +,−,

Pr(AS,i,∗) < xS,i,∗∏

(S,i,∗)∼(T,j,#)

(1− xT,j,#),(23)

where (S, i, ∗) ∼ (T, j,#) denotes adjacency of AS,i,∗ and AT,j,# in the dependencygraph of bad events (i.e., we have (S, i, ∗) ∼ (T, j,#) if and only if A∗(S)∩A#(T ) = ∅).The theorem then follows from the general version of the local lemma; see, for example,Alon and Spencer [1].

It follows from Claim 2 that if |S| = s, then there are at most ks(2er)t eventsAT,j,# with |T | = t such that (S, i, ∗) ∼ (T, j,#). Thus, using 1 − x ≥ e−2x for

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

342 TOM BOHMAN AND ALAN FRIEZE

0 ≤ x ≤ 1/2, we have

xS,i,∗∏

(S,i,∗)∼(T,j,#)

(1− xT,j,#) ≥(2

r2

)s∏t≥1

(1−

(2

r2

)t)ks(2er)t

≥(2

r2

)s

exp

−2ks

∑t≥1

(4e

r

)t

=

(2

r2

)s

exp

− 8kes

r − 4e

>1

r2s,

since for small values of ε, the fact that r/ ln r ≥ 7kε−2 implies

r > 4e+8ke

ln 2.

Thus (23) holds, proving the theorem.

Appendix C. Splitting algorithm. In this section, we prove Theorem 4.Idea. We produce the split in a series of rounds that gives a series of vertex sets

V = B1 ⊇ B2 ⊇ · · · ⊇ Bt. In round i we fix the “destination” of a fixed arc if it has atleast one endpoint in Bi but no endpoint in Bi+1. This is done in such a way that ifS ⊆ Bj \Bj+1, then d+i (S), d

−i (S) are large enough, and further that every vertex in

Bj \Bj+1 has few neighbors in Bj+1. We will see that this latter condition accountsfor the − (α+ 2ε) r term in the theorem.

Assume that we have B ⊆ V . Initially, B = V . We randomly color the arcs of Dwhich are incident with B with k colors. Note that if s0 = 5kε−2Φ−1 lnn,

Pr

(∃S ⊆ B, i ∈ [k] s.t. |S| > s0, S is connected and Φi,S ≤ (1− ε)

Φ

k

)

≤ 2kn∑s≥s0

(2er)s−1e−ε2sΦ/(2k) ≤ 4kn(2er)s0e−ε

2s0Φ/(2k) = O(kn−1/5).

So, in a sense the large sets take care of themselves. Now consider the smaller sets.Let

X0 =

v : ∃S ⊆ B, |S| ≤ s0, S is connected, v ∈ S and i ∈ [k] s.t. Φi,S ≤ (1− ε)

Φ

k

.

X0 can be constructed in O(n(er)s0) = O(n2) time.

E(|X0|) ≤ |B|s0∑s=1

(2er)s−1e−ε2sΦ/(2k) ≤ |B|

2er

since Φ ≥ 5ε−2k ln 2er.Therefore by Markov’s inequality,

Pr

(|X0| ≥ |B|

er

)≤ 1

2.

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

ARC-DISJOINT PATHS IN EXPANDER DIGRAPHS 343

We repeat the above coloring until we find that |X0| ≤ |B|er . Now recursively define

Xj = Xj−1 ∪ vj, where d+(vj , Xj−1) ≥ (α+ ε)r or d−(vj , Xj−1) ≥ (α+ ε)r if sucha vj exists. Here we use the strong expansion properties of an (α, β, γ)-expander:|S| ≤ γn implies that S contains at most

(r|S| − d∗(S)) ≤ αr|S|

arcs. Note that Xj has at least (α+ ε)rj arcs and at most j + |B|er vertices. Thus this

process stops before j reaches α|B|εer , unless |Xj | exceeds γn first. However, this latter

possibility cannot happen because |X0| + α|B|εer ≤ (1 + α

ε )1er |B| ≤ γ|B| ≤ γn, since

γ, ε > r−12 , α < 1 implies γ > (1 + α

ε )1er .

So if X denotes Xj when vj+1 cannot be found, then

|X| ≤ γ|B|.We will repeat the construction with B replaced by X. Let V = B1 ⊇ B2 ⊇ · · · ⊇ Bt

be the sequence of sets constructed. Bt will be the first set of size at most r−1 lnn.Since γ < 1

2 , we have t ≤ log2 n. Thus the expected number of recolorings needed isat most 2 log2 n and is ≤ 3 log2 n whp. We can “brute force” color the arcs incidentwith Bt so that every subset S of Bt satisfies Φi,S ≥ (1− ε) Φ

k . We use Theorem 3 tojustify the success of this. The sequence of sets B1, B2, . . . , Bt satisfies the following:

• |Bj | ≤ γjn;• S ⊆ Bj \Bj+1 implies Φi,S ≥ (1− ε) Φ

k ;• v ∈ Bj \ Bj+1 implies v has at most (α + ε)r out-neighbors and at most(α+ ε)r in-neighbors in Bj+1.

So if S ⊆ V and Sj = S ∩ (Bj \Bj+1),

d∗i (S) ≥t−1∑j=1

(d∗i (Sj)− d∗i (Sj , Bj+1)) + d∗i (St)

≥t−1∑j=1

((1− ε)

Φ

k− (α+ ε)r

)|Sj |+ (1− ε)

Φ

k|St|

≥((1− ε)

Φ

k− (α+ ε) r

)|S|.

REFERENCES

[1] N. Alon and J. H. Spencer, The Probabilistic Method, John Wiley, New York, 1992.[2] J. Bang-jensen and G. Gutin, Digraphs: Theory, Algorithms and Applications, Springer-

Verlag, London, 2001.[3] J. A. Bondy and U. S. R. Murty, Graph Theory with Applications, North–Holland, Amster-

dam, 1976.[4] A. Z. Broder, A. M. Frieze, and E. Upfal, Existence and construction of edge-disjoint paths

on expander graphs, SIAM J. Comput., 23 (1994), pp. 976–989.[5] A. Z. Broder, A. M. Frieze, and E. Upfal, Existence and construction of edge low congestion

paths on expander graphs, Random Structures Algorithms, 14 (1999), pp. 87–109.[6] S. Fortune, J. E. Hopcroft, and J. Wyllie, The directed subgraph homeomorphism problem,

Theoret. Comput. Sci., 10 (1980), pp. 111–121.[7] A. Frank, Disjoint paths in rectilinear grids, Combinatorica, 2 (1982), pp. 361–371.[8] A. M. Frieze, Disjoint Paths in Expander Graphs via Random Walks: A Short Survey, in

Proceedings of Random ’98, Lecture Notes in Comput. Sci. 1518, Springer-Verlag, NewYork, 1998, pp. 1–14.

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php

344 TOM BOHMAN AND ALAN FRIEZE

[9] A. M. Frieze, Edge-disjoint paths in expander graphs, SIAM J. Comput., 30 (2001), pp. 1790–1801.

[10] A. M. Frieze and M. Molloy, Splitting an expander graph, J. Algorithms, 33 (1999), pp. 166–172.

[11] A. M. Frieze and L. Zhao, Optimal construction of edge-disjoint paths in random regulargraphs, in Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms,SIAM, Philadelphia, PA, 1999, pp. 346–355.

[12] D. Gale, A theorem on flows in networks, Pacific J. Math., 7 (1957), pp. 1073–1082.[13] J. Kleinberg and R. Rubinfeld, Short paths in expander graphs, in Proceedings of the 37th

Annual IEEE Symposium on Foundations of Computer Science, IEEE Press, Piscataway,NJ, 1996, pp. 86–95.

[14] J. Kleinberg and E. Tardos, Approximations for the disjoint paths problem in high diam-eter planar networks, in Proceedings of the 27th Annual ACM Symposium on Theory ofComputing, Association for Computing Machinery, New York, 1995, pp. 26–35.

[15] D. E. Knuth, The Art of Computer Programming, Vol. 1, Fundamental Algorithms, Addison–Wesley, Reading, MA, 1968.

[16] T. Leighton and S. Rao, Multicommodity max-flow min-cut theorems and their use in de-signing approximation algorithms, J. ACM, 46 (1999), pp. 787–832.

[17] T. Leighton and S. Rao, Circuit switching: A multicommodity flow based approach, in Pro-ceedings of a Workshop on Randomized Parallel Computing, 1996.

[18] T. Leighton, S. Rao, and A. Srinivasan, Multi-commodity flow and circuit switching, inProceedings of the Hawaii International Conference on System Sciences, 1998.

[19] T. Leighton, S. Rao, and A. Srinivasan, New algorithmic aspects of the local lemma withapplications to routing and partitioning, in Proceedings of the 10th Annual ACM-SIAMSymposium on Discrete Algorithms, Philadelphia, PA, 1999, pp. 643–652.

[20] A. Lubotsky, R. Phillips, and P. Sarnak, Ramanujan graphs, Combinatorica, 8 (1988),pp. 261–277.

[21] D. Peleg and E. Upfal, Constructing disjoint paths on expander graphs, Combinatorica, 9(1989), pp. 289–313.

[22] N. Robertson and P. D. Seymour, Graph minors. XIII: The disjoint paths problem, J. Com-bin. Theory Ser. B, 63 (1995), pp. 65–110.

[23] A. Sinclair and M. Jerrum, Approximate counting, uniform generation, and rapidly mixingMarkov chains, Inform. and Comput., 82 (1989), pp. 93–133.

[24] D. Wagner and K. Weihe, A linear time algorithm for edge-disjoint paths in planar graphs,Proceedings of the First European Symposium on Algorithms (ESA ’93), in Lecture Notesin Comput. Sci. 726, Springer-Verlag, New York, 1992, pp. 384–395.

[25] X. Zhou, S. Tamura, and T. Nishizeki, Finding edge-disjoint paths in partial k-trees, Algo-rithmica, 26 (2000), pp. 3–30.

Dow

nloa

ded

12/2

7/12

to 1

52.3

.102

.242

. Red

istr

ibut

ion

subj

ect t

o SI

AM

lice

nse

or c

opyr

ight

; see

http

://w

ww

.sia

m.o

rg/jo

urna

ls/o

jsa.

php