Maximum Skew-Symmetric Flows. September Abstract

Size: px
Start display at page:

Download "Maximum Skew-Symmetric Flows. September Abstract"

Transcription

1 Maximum Skew-Symmetric Flows Andrew V. Goldberg NEC Research Institute 4 Independence Way Princeton, NJ avg@research.nj.nec.com Alexander V. Karzanov Institute for Systems Analysis 9, Prospect 60 Let Oktyabrya Moscow, Russia karzanov@cs.vniisi.msk.su September 1995 Abstract We introduce the maximum skew-symmetric ow problem which generalizes ow and matching problems. We develop a theory of skew-symmetric ows that is parallel to the classical ow theory. We use the newly developed theory to extend, in a natural way, the blocking ow method of Dinitz to the skew-symmetric ow case. In the special case of the skew-symmetric ow problem that corresponds to cardinality matching, our algorithm is simpler and more ecient than the corresponding matching algorithm. Part of this work was done while the author was at Computer Science Department, Stanford University, and supported in part by NSF Grant CCR

2 1 Introduction Flow and matching problems are classical problems in combinatorial optimization [1, 8, 13, 26] and have many practical applications. These problems are closely related; in particular, the bipartite matching problem can be viewed as a special case of the maximum ow problem (see e.g. [1, 25]). In general, however, the combinatorial structure of matchings is more complicated than the combinatorial structure of ows. Although matching algorithms are similar to and often motivated by ow algorithms, the former are much more complicated. This paper continues a systematical study of skew-symmetric graphs and their applications started in our previous paper [18, 19]. That paper, devoted to problems on regular paths, extends to the skew-symmetric graphs the usual path reachability and shortest path problems, as well as certain problems on alternating paths in matching theory. The present paper deals with the maximum integral skew-symmetric ow (maximum IS-ow) problem. We study combinatorial and linear programming structure of this problem and develop algorithms for it. As the ow and matching problems are closely related to path problems, the maximum IS-ow problem is closely related to regular path problems in skew-symmetric graphs. For example, duals of the shortest regular path and maximum IS-ow problems are similar, and the shortest regular path algorithm developed in [18] is used as a subroutine in the algorithms developed in the present paper. The theory of IS-ows, developed in the current paper, is parallel to that for usual maximum ows [13]. The maximum IS-ow problem generalizes both the maximum ow and maximum matching problems. This appears to be a right generalization since combinatorial and linear programming theorems and algorithms for ows extend in a natural way to IS-ows. The implied results for matching are often simpler and better motivated. The fundamental results in the ow theory are the decomposition theorem, the augmenting path theorem, and the max-ow min-cut theorem. Next we state these theorems and their skewsymmetric equivalents. Denitions of the concepts we use appear in Sections 2 and 3, and proofs of the new theorems appear in Section 3. The ow decomposition theorem says that a ow can be decomposed into a collection of sourceto-sink paths and cycles; the IS-ow decomposition theorem says that an IS-ow can be decomposed into a collection of symmetric pairs of source-to-sink paths and symmetric pairs of cycles. The augmenting path theorem says that a ow is maximum if and only if it admits no augmenting path. The IS-ow augmenting path theorem says that an IS-ow is maximum if and only it it admits no regular augmenting path. The max-ow min-cut theorem says that the maximum ow value is equal to the minimum cut capacity. Its skew-symmetric equivalent is that the maximum IS-ow value is equal to the minimum odd-barrier capacity. Linear programming duality, in particular complementary slackness, plays an important role in understanding the structure of network ow problems and in developing algorithms for these problems. We study linear programming formulation of the maximum IS-ow problem and the complementary slackness conditions for it in Section 4. The augmenting path theorem is the basis for the augmenting path algorithm of Ford and 1

3 Fulkerson [13] and the shortest augmenting path algorithm of Edmonds and Karp [10]. A more ecient version of the latter algorithm is the blocking ow algorithm of Dinitz [7]. These algorithmic results can be extended to IS-ows using the combinatorial and linear programming results of Sections 3 and 4. In Section 5 we introduce a skew-symmetric version of the blocking ow algorithm. The resulting algorithm has the same running time bound as Dinitz' algorithm on general networks [7] as well as on networks with unit arc or node capacities [11, 22, 23]. Modications of our algorithm achieve better time bounds. Let n and m denote the number of nodes and arcs in the input network, respectively. For the special case arising from the cardinality matching problem, we use the graph compression techniques of Feder and Motwani [12] to get an pnm log(n O 2 =m) time bound. 1 This improves the previous bound of O( p nm) for cardinality log n matching [17, 27, 28]. For the general problem, we can use any integral maximum ow algorithm to nd a good initial solution for our skew-symmetric blocking ow algorithm. This yields an O(M(n; m) + nm) time bound, where M(n; m) is the time to nd an integral maximum ow in a network with with n nodes, m arcs, and integral capacities. Note that, with one exception, all fastest currently known maximum ow algorithms [2, 5, 20, 24] nd integral solutions and run in (nm) time. The only exception is the algorithm of Cheriyan et. al. [5] that runs in O(n 3 = log n) time (taking advantage of bit operations in the uniform-cost RAM model of computation). Thus except for dense graphs, our bound for the maximum IS-ow problem matches the best bounds for the maximum ow problem. This paper is organized as follows. Section 2 gives basic denitions and reviews results related to the r-path problems. Sections 3 and 4 deal with the combinatorial and linear programming aspects of the skew-symmetric ow theory, respectively. Section 5 develops the general blocking ow method for regular ows and Section 6 deals with improved performance of the method on special classes of networks. Section 7 gives a reductions from the b-matching problem to the skew-symmetric ow problem. In Section 8 we give concluding remarks. 2 Background A digraph G = (V; E) is skew-symmetric if there is a mapping of V [ E onto itself such that: is an involution (i.e., (x) 6= x and ((x)) = x for any x 2 V [ E); for every v 2 V, (v) 2 V ; and for every a = (v; w) 2 E, (a) = ((w); (v)). We assume that a description of G includes. In this paper, we shall usually use the term symmetric instead of skew-symmetric. We say that the node (v) is symmetric to v, and the arc (a) is symmetric to a; symmetric elements are also called mates. The mate (x) of an element x will often be denoted by x 0. We extend the symmetry to paths (cycles) in a natural way by saying that two paths (cycles) are symmetric if the elements of one of them are symmetric to those of the other and go in the reverse order. Note that G cannot contain non-trivial self-symmetric paths or cycles. Indeed, if P = (x 0 ; a 1 ; x 1 ; : : :; a k ; x k ) is such a path (cycle), choose arcs a i and a j such that i j, a j = (a i ) and j? i is minimum. Then j > i + 1 (as j = i would imply (a i ) = a i and j = i + 1 would imply (x i ) = x j?1 = x i ). Now 1 This bound was conjectured in [12]. 2

4 (a i+1 ) = a j?1 contradicts the minimality of j? i. Note also that if v 0 = (v) and (v; v 0 ) 2 E, then there are even number of copies of (v; v 0 ) which are partitioned into pairs of mates. A function h on arcs is called symmetric if h(a) = h((a)) for all a 2 E. Given a source s 2 V, a sink t 2 V, and a capacity function u : E! Z +, a function f : E! R + is a ow if it obeys the capacity constraints f(a) u(a) 8a 2 E and the conservation constraints div f (v) := f(u; v)? (u;v)2e (v;w)2e f(v; w) = 0 8v 2 V? fs; tg: The value of a ow f is given by jfj = div f (s): An IS-ow abbreviates a symmetric integer ow, the main object that we study in this paper. An input to the maximum skew-symmetric ow problem (MSFP) is a skew-symmetric graph G, a symmetric integer capacity function u : E! Z +, a source s, and a sink s 0 = (s). The goal is to nd an IS-ow of maximum value. W.l.o.g., we may assume that no arc of G enters s; otherwise we can delete such arcs and the arcs leaving s 0, which produces an equivalent problem in a skew-symmetric graph. Note that the integrality requirement is important: if we do not require f to be integral, then for any maximum ow f, the ow (f + (f))=2 is a symmetric maximum ow. For the rest of this paper, we consider only integral ows. In what follows we will utilize some results on regular paths in skew-symmetric graphs. A regular path (r-path) is a path in G that does not contain a pair of symmetric arcs. Similarly, an r-cycle is a cycle that does not contain a pair of symmetric arcs. Suppose we are given two symmetric nodes s and s 0. The r-reachability problem is to nd an r-path from s to s 0 or a proof that there is none. Given a symmetric function of arc lengths, the shortest r-paths problem to nd the shortest r-path from s to s 0 or a proof that there is none. The r-reachability problem can be solved in O(m) time [3, 18]. For nonnegative lengths, the shortest r-path problem can be solved in O(m log n) time; for unit lengths, in O(m) time [18]. Given a simple path P and nodes v and w on P, we denote the portion of P between v and w by P [v; w]. We denote the number of arcs on P by jp j. A concatenation of paths P and Q is denoted by P Q. 2.1 Buds and Trimming Operation Buds, introduced in the context of skew-symmetric paths [18], play an important role in our algorithms. A bud is a triple = (V ; E ; e = (v; w)) such that (1) (V ; E ) is a symmetric subgraph of G with s 62 V. 3

5 v z v z w w y x y x b a x a b y x y z w z w v v Before trimming After trimming Figure 1: Bud trimming example. (2) e is an arc of G entering V, i.e., v 62 V 3 w. (3) For every node x 2 V there is an r-path from w to x in (V ; E ) (and therefore an r-path from x to (w)). (4) There is an r-path from s to v which is node-disjoint from V. The node w is called the base node of the bud and the arc (v; w) is called the base arc. The node (w) is called the anti-base node of the bud and the arc (v; w) is called the anti-base arc. Given a symmetric graph G = (V; E) with a bud (V ; E ; e = (v; w)), let v 0 = (v), w 0 = (w), and e 0 = (e ). The trimming operation transforms G into G with the node set and arc set E constructed as follows. V = V? (V? fw; w 0 g) 1. Each arc a = (x; y) 2 E such that either x; y 2 V? V, or a = e, or a = e 0 remains in E. 2. Each arc (x; y) 2 E? fe 0 g that leaves V is replaced by an arc from w to y. 3. Each arc (x; y) 2 E? fe g that enters V is replaced by an arc from x to w 0. See Figure 1 for an example of bud trimming. Clearly G has a natural skew-symmetry. A useful property of buds is as follows. Lemma 2.1 [18] There is an r-path from s to s 0 in G if and only if there is an r-path from s to s 0 in G. 4

6 A 1 k M A Figure 2: A barrier. 2.2 Barriers Barriers are dual to r-paths in a sense that either there is an r-path from s to (s) or there is an s-barrier. Given a node s 2 V, we say that is an s-barrier if the following conditions hold. B = (A; 1 ; : : :; k ) (B1) A; 1 ; : : :; k are pairwise disjoint subsets of V, and s 2 A. (B2) For A 0 = (A), A \ A 0 = ;. (B3) For i = 1; : : :; k, i is symmetric, i.e., ( i ) = i. (B4) For i = 1; : : :; k, there is a unique arc, a i, from A to i. (B5) For i; j = 1; : : :; k and i 6= j, no arc connects i and j. (B6) For M = V? (A [ 1 [ : : : [ k ) and i = 1; : : :; k, no arc connects i and M. (B7) No arc goes from A to A 0 [ M. (Note that arcs from A 0 to A, from i to A, and from M to A are possible.) Figure 2 illustrates the denition. Unless mentioned otherwise, in this paper s and s 0 = (s) are the source and the sink, respectively, and we refer to an s-barrier as barrier. 5

7 Theorem 2.2 [18] There is an r-path from s to s 0 if and only if there is no barrier. 3 Skew-Symmetric Flow Theory In this section we extend the classic ow decomposition, augmenting path, and max-ow min-cut theorems of Ford and Fulkerson [13] to the skew-symmetric case. First we need a few denitions. Let u be an integral symmetric capacity function, and f be an IS-ow in G. It is convenient to consider the graph G + = (V; E + ) formed by adding a reverse arc to each arc of G. For a 2 E +, a R denotes the corresponding reverse arc. The symmetry is extended to G + in a natural way. An arc a 2 E + has the residual capacity u f (a) equal to u(a)? f(a) if a 2 E and f(a) otherwise. An arc a 2 E + is called residual if u f (a) > 0. We denote the set of residual arcs by E f and form the residual graph G f = (V; E f ). We say that an arc a is saturated by f if u f (a) = 0. Given a symmetric function h : E! Z + (or h : E +! Z + ), we dene the split-graph G [h] = (V; E [h] ) by splitting all arcs a 2 E (or a 2 E + ) into two arcs a 1 and a 2 with capacities dh(a)=2e and bh(a)=2c, respectively, and then by deleting the arcs with zero capacity. We extend to E [h] in a natural way by dening (a 1 ) = ((a)) 1 and (a 2 ) = ((a)) 2. We make extensive use of the graph G [u f ] generated by the residual capacity function u f. The capacity function in G [u f ] is denoted by u 0 f. An augmenting r-path for f is an s-s0 r-path in G [u f ]. If P is an augmenting r-path and is the minimum capacity of its arcs, then we can push units of ow through the path in G corresponding to P and then units through the path corresponding to (P ). Such an augmentation produces a feasible IS-ow in G and increases the value of f by 2. An elementary ow is a triple (P; P 0 ; ), where P is a simple cycle or a simple path from s to s 0 (not necessarily r-cycle or r-path), P 0 = (P ), and 2 N. A set D of elementary ows is a decomposition of an IS-ow f if for all a 2 E we have f(a) = (P;P 0 ;)2D: a2p The symmetric decomposition theorem is as follows. + (P;P 0 ;)2D: a2p 0 : Theorem 3.1 An IS-ow f can be decomposed into at most m elementary ows. Proof. The proof is by induction on P a2e f(a). The theorem is trivial for the zero ow. We build up an r-path? in the split-graph G [f ] until this path contains a simple r-cycle P or a simple r-path P from s to s 0. The images of P and P 0 = (P ) in G form an element of the desired ow decomposition; the choice of for this element will be explained later. Then we accordingly decrease f on the corresponding arcs, forming a new IS-ow, and apply induction. Let g denote the capacity function in G [f ] ; by the denition of split-graph, g is non-zero on all arcs of G [f ]. We start with? formed by a single arc a. First we grow? forward. Let b = (v; w) be the last arc on?. If w = s 0, then we start growing? backward. Otherwise by the conservation for g at w there must be an arc q = (w; x). If (q) is not on? we add q to?. 6

8 Suppose (q) is on?. Let? 1 be the portion of? between (w) and w. Since G does not contain self-symmetric paths,? 1 contains at least one arc. Suppose there is an arc ~q in G [f ] leaving w and dierent from q. Then we can add ~q to? instead of q, forming a longer r-path. Now suppose that q is the only arc leaving w. The denitions of G [f ] and g show that g(q) = 1. Hence, exactly one unit of g enters w; in particular, b is the only arc entering w in G [f ]. But (d) also enters w, where d is the the rst arc on? 1. The fact that (d) 6= b (since? 1 is regular) leads to a contradiction. Let (w; z) be the arc added to?. If z is not on?, then? is a simple r-path, and we continue growing?. If z is on?, we discover a simple r-cycle P in?. If? reaches s 0, we start growing? backward in a way similar to growing it forward. We stop when either an r-cycle is found or s reached, in which case? is an r-path from s to s 0. It remains to explain how to choose. Let ~ P and ~ P 0 be the images of P and P 0 in G. For an arc a 2 ~ P [ ~ P 0, let (a) be f(a) if a occurs in exactly one of ~ P ; ~ P 0, and bf(a)=2c otherwise. Dene = minf(a) : a 2 ~ P [ ~ P 0 g. The fact that P; P 0 are regular in G [f ] implies that > 0. Moreover, there is an arc a 2 E for which equals either f(a) or f(a)? 1. In the former case a and (a) vanish in the support of the new ow. In the latter case, the new ow on a and (a) is one, whence a and (a) can be used in further iterations of the decomposition process at most once. Therefore, each element of the decomposition can be associated with a pair of symmetric arcs of G so that at most two elements are associated with the same pair. Thus, the decomposition contains at most jej elements. The above proof gives a polynomial time algorithm for symmetric decomposition. The decomposition theorem and the fact that the network has no self-symmetric paths imply the following lemma. Lemma 3.2 For any symmetric set S V and any IS-ow f, the total ow on the arcs entering S, as well as the total ow on the arcs leaving S, is even. The symmetric augmenting paths theorem is as follows. Theorem 3.3 An IS-ow f is maximum if and only if there is no augmenting r-path. Proof. If there is an s-s 0 r-path P in G [u f ], an augmentation of f in G corresponding to the simultaneous augmentations on P and (P ) in G [u f ] by one unit increases jfj by two. Thus if there is an augmenting r-path, f is not a maximum IS-ow. Next suppose there is no augmenting r-path for f. Let f be a maximum IS-ow in G. For a 2 E dene g(a) = f (a)? f(a) if f (a) f(a) and g(a R ) = f(a)? f (a) if f (a) < f(a). One can see that g extended by zero on the remaining arcs gives a feasible symmetric ow in G f. Take a symmetric decomposition D of g in G f. Suppose D has a member (P; P 0 ; ) such that P is an s? s 0 path. These P; P 0 enable us to construct an s-s 0 r-path in G [u f ], contrary to the fact that no augmenting r-path for f exists. Hence, D consists only of cycles, and therefore jfj = jf j. The classical max-ow min-cut theorem states that the maximum ow value is equal to the minimum cut capacity. To state a skew-symmetric version of this theorem we need the notion of 7

9 odd s-barrier. Given s 2 V, we say that B = (A; 1 ; : : :; k ) is an odd s-barrier if the following conditions hold. (O1) A; 1 ; : : :; k are pairwise disjoint subsets of V, and s 2 A. (O2) For A 0 = (A), A \ A 0 = ;. (O3) For i = 1; : : :; k, i is symmetric, i.e., ( i ) = i. (O4) For i = 1; : : :; k, u(a; i ) is odd. (O5) For i; j = 1; : : :; k and i 6= j, no arc connects i and j. (O6) For M = V? (A [ 1 [ : : : [ k ) and i = 1; : : :; k, no arc connects i and M. We refer to an odd s-barrier as odd barrier. We dene capacity of an odd barrier B = (A; 1 ; : : :; k ) by u(b) = u(a; V? A)? k. The following is the symmetric max-ow min-cut theorem. Theorem 3.4 The maximum IS-ow value is equal to the minimum odd barrier capacity. Proof. First we show that the capacity of any odd barrier is an upper bound on the value of an IS-ow f. By Lemma 3.2, the value of the ow going through each set i is even. In view of (O5){(O6), this easily implies f(a; i )? f( i ; A) is at most u(a; i )? 1, and therefore the total value of f is at most u(a; A? V )? k. Next we show that the two values are equal. Let f be a maximum IS-ow. By Theorem 3.3, G [u f ] contains no s-s 0 r-path, so it must contain a barrier B = (A; 1 ; : : :; k ). Let a i be the arc from A to i in G [u f ] dened as in (B4) (see Section 2). From (B4) and the construction of G [u f ] it follows that the residual capacity u f of every arc from A to in G + is equal to zero except for the arc corresponding to a i, whose residual capacity is one. Hence, (i) if a i was formed by splitting an arc ~a i in G then ~a i goes from A to i, and f(~a i ) = u(~a i )? 1; (ii) if a i was formed by splitting ~a R i for some ~a i 2 E, then ~a i goes from i to A, and f(~a i ) = 1; (iii) all arcs from A to i in G except ~a i (in case (ii)) are saturated by f; (iv) all arcs from i to A in G except ~a i (in case (iii)) are free of ow. Furthermore, comparing arcs in G [u f ] and G, we observe that: (v) property (B7) implies that the arcs from A to A 0 [ M are saturated and the arcs from A 0 [ M to A are free of ow; (vi) property (B5) implies (O5) and (B6) implies (O6). From (i)-(vi) it follows that B is an odd s-barrier in G and jfj = u(b). 8

10 4 Integer and Linear Programming Formulations We can state MSFP as an integer program in a straightforward way. To be consistent with the rest of the paper, we use function rather than vector notation. We also use the dot notation for inner products: given two functions g and h on a set S, we dene g h = P x2s g(x)h(x). The integer program corresponding to MSFP is as follows. (u;v)2e f(u; v)? (v;w)2e maximize jfj = subject to (s;v)2e f(s; v) (4-1) f(a) 0 8a 2 E (4-2) f(a) u(a) 8a 2 E (4-3) f(v; w) = 0 8v 2 V? fs; tg (4-4) f(a)? f((a)) = 0 8a 2 E (4-5) f(a) integral 8a 2 E (4-6) (Recall that no arc of G enters s.) We obtain an alternate linear programming formulation for MSFP by replacing the integrality condition (4-6) by certain linear constraints related to so-called fragments. This linear program and its dual (discussed below) are analogous to, but somewhat more complicated than, those for the usual maximum ow problem and its dual in [13]. A fragment is a pair = (V ; E ), where V is a symmetric set of nodes with s 62 V, and E is a subset of arcs entering V such that the total capacity u(e ) is odd. The characteristic function of is the function on E dened by (a) = 8 >< >: 1 if a 2 E [ (E );?1 if a 2 (V )? (E [ (E )); 0 otherwise: Here (V ) is the set of arcs with one end in V and the other in V? V. We denote the set of fragments by T. Let f be a (feasible) IS-ow and 2 T. Since u is symmetric, the denition of shows that f 2u(E ). An elementary but important property of a fragment is that f is at most 2u(E )? 2; it follows immediately from Lemma 3.2 and the fact that u(e ) is odd. This gives additional linear constraints for MSFP: f 2u(E )? T : (4-7) Note that if we add these constraints, we can drop the symmetry constraints (4-5) without changing the optimum value of the linear program. This fact follows from the proof of the following theorem. 9

11 Theorem 4.1 Every maximum IS-ow is an optimal solution to the linear program (4-1){(4-4), (4-7). Proof. Assign a dual variable (v) 2 R (a potential) to each node v 2 V, (a) 2 R + (a length) to each arc a 2 E, and () 2 R + to each fragment 2 T. For an arc a = (v; w) dene (a) = (w)? (v) (the potential dierence), and q ; (a) = (a) + P T (a)(). Consider the linear program: minimize (; ; ) = E u(a)(a) + T (2u(E )? 2)() (4-8) subject to (a) 0 8a 2 E (4-9) () T (4-10) (s) = 0 (4-11) (s 0 ) = 1 (4-12) q ; (a)? (a) 0 8a 2 E: (4-13) We observe that (4-1)-(4-4),(4-7) and (4-8)-(4-13) are mutually dual linear programs (up to taking each potential with the opposite sign and shifting it by the constant 1/2). Therefore, max jfj = min (; ; ); (4-14) where the maximum and minimum range over the feasible solutions to (4-1)-(4-4),(4-7) and (4-8)- (4-13), respectively. Next we show that every maximum IS-ow f achieves the maximum in (4-14). To see this, choose an odd barrier B = (A; 1 ; : : :; k ) of minimum capacity u(b). For i = 1; : : :; k, let E i be the set of arcs from A to i ; then i = ( i ; E i ) be a fragment for G; u. Dene (v) to be 0 for v 2 A, 1 for v 2 A 0, and 1=2 otherwise. Dene (a) to be 1 for a 2 (A; A 0 ), 1=2 for a 2 (A; M) [ (M; A 0 ), and 0 otherwise. Dene ( i ) = 1=2 for i = 1; : : :; k, and () = 0 for the other fragments in G. One can check that (4-13) holds for all a (e.g., q ; (a) = (a) = 1 for a 2 (A; A 0 ) and q ; (a) = (a) = 1=2 for a 2 (A; L) [ (L; A 0 ), where L = 1 [ : : : [ k [ M). Thus ; ; are feasible. Finally, we observe that u = u(a; A 0 ) + u(a; M) (using the fact that u(a; M) = u(m; A 0 )) and that! k 1 k (2u(E )? 2)() = 2 (2u(E i)? 2) = u(a; k )? k: T This implies (; ; ) = u(b), and now the result follows from Theorem 3.4. i=1 Given potentials (v), v 2 V, and a function : T! R +, we dene the reduced cost function c : E! R by c (a) = (w)? (v)? () (a) for a = (v; w) 2 E: T i=1 10

12 Using reduced costs, we can get rid of the dual variables in (4-8){(4-13) by doing the substitution (a) = maxf0; c (a)g. This gives an optimality criterion for MSFP as follows. Theorem 4.2 An IS-ow f is maximum if and only if there are potentials (v) 2 R, v 2 V, with (s) = 0 and (s 0 ) = 1, and a function : T! R +, such that the following \complementary slackness" conditions hold: (CS1) 8 2 T, () > 0 implies f = 2u(E )? 2; (CS2) 8a 2 E, c (a) > 0 implies f(a) = u(a); (CS3) 8a 2 E, c (a) < 0 implies f(a) = 0. 5 R-Blocking Flow Method Given a network H, we say that a ow f in H is blocking if every path from s to s 0 in H contains a saturated arc. If H is symmetric, we say that an IS-ow f is r-blocking if every r-path from s to s 0 contains a saturated arc. In this section we describe our r-blocking ow algorithm for the MSFP (called RBFM). The algorithm is a generalization of the blocking ow algorithm of Dinitz [7], and the complexity of these algorithms is the same. At the end of the section we show how the time bound for the MSFP problem can be improved further. The RBFM algorithm maintains an IS-ow f. Initially f is the zero ow. The algorithm applies the following two steps until there is no augmenting r-path with respect to f: 1. Construct the auxiliary network H f = (V; E(H f )). 2. Find an r-blocking IS-ow g in H and let g 0 be the corresponding function on E. Set f f + g 0. In the Dinitz' algorithm, the auxiliary network can be dened as a subgraph of G f induced by zero reduced cost arcs (with respect to the shortest path distances from s for unit arc lengths). This network is acyclic, which is crucial for the correctness and the running time of the algorithm. If we use the same denition in the IS-ow case, however, the resulting network may have cycles. We dene the auxiliary network H f as a subgraph of the trimmed graph G f computed by the shortest r-path algorithm. The construction of H f is described in detail in Section 5.2, where we also show how an IS-ow g in H f can be extended to the corresponding function g 0 in G. We will prove two key properties of H f : (i) H f is acyclic and (ii) if g 0 corresponds to an r-blocking ow g in H f, then the length of a shortest augmenting r-path for f + g 0 is greater than the length of a shortest augmenting r-path for f. Note that the latter property implies a bound on the number of iterations of the algorithm. Lemma 5.1 The RBFM algorithm terminates in O(n) iterations. An algorithm for nding an r-blocking IS-ow in a symmetric acyclic network is described in Section 5.3. This algorithm is based on Dinitz' algorithm and the r-reachability algorithm [18]. 11

13 5.1 Buds in Split-Graph Our implementation of steps 1 and 2 of the RBFM algorithm use the r-reachability and the shortest r-path algorithms of [18] on split-graphs. We take advantage of the structure of these graphs to maintain the unit base invariant: the residual capacity of base arcs of all buds trimmed by these algorithms is one. This guarantees that an IS-ow in the trimmed graph can be extended to an IS-ow in the original graph. Given a split-graph G [h], we maintain G and h, which implicitly represent G [h]. Note that if P is a simple path in G +, then every arc a on P with h(a) > 1 corresponds to two parallel arcs a 1 and a 2 in G [h]. Even if a 0 = (a) is on P, we can put arcs a 1 and a 0 2 6= (a 1 ) on the corresponding path in G [h]. The only way P does not correspond to an r-path in G [h] is when P contains arcs a; a 0 = (a) with h(a) = 1. Using this observation, one can easily modify the r-path algorithms to maintain the unit base invariant. We discuss such a modication of the r-reachability algorithm in Section 5.3; the modication of the shortest r-path algorithm is similar. 5.2 The Auxiliary Network To build the auxiliary network H f = (V; E(H f )), we use the shortest r-paths algorithm from [18] on G [u f ] with the unit length function `. Because of the unit input lengths, the implementation of the algorithm that uses buckets runs in linear time. The shortest paths algorithm nds a path P and a dual solution `, where is a potential function and is a function on shortest path fragments (which are similar to, but not the same as, the ow fragments of Section 4) proving optimality of the path in the graph G [u f ] with buds corresponding to positive values of trimmed. In the postprocessing stage the algorithm extends P and ` to G[u f ]. We construct H f from the graph G [u f ] : E(H f ) consists of all arcs a of G [u f ] with `(a) = 0. Note that E(H f ) contains all arcs which are on shortest r-paths from s to s 0 and that any s{s 0 r-path in H f is a shortest r-path. Lemma 5.2 The auxiliary graph H f is acyclic. Proof. Consider a cycle? in G [u f ]. We claim that `(?) = `(?). This implies the lemma. To see the claim, rst note that the changes in ` due to cancel out as we go around the cycle. Next consider the changes due to. Note that only trimmed bud arcs are aected by these changes, and each time a cycle intersects a trimmed bud, it either enters through the base arc and exits through an arc which is not the base and not the anti-base arc, or enters through such an arc and exits through the anti-base arc. In both cases, the contributions due to cancel out. Let g be a blocking ow in H f. Since the buds trimmed by the shortest r-path algorithm are nested, each bud contains an r-path from its base w to (w), and the unit base invariant is maintained, the corresponding IS-ow g in G f can be found in linear time using techniques similar to those used in [18] for extending the shortest path in the trimmed graph to the shortest path in the original graph. The IS-ow g gives the desired function g 0 in G. 12

14 Lemma 5.3 If g 0 corresponds to an r-blocking ow in H f and f 0 = f + g 0, then the shortest augmenting r-path for f 0 is longer than the shortest augmenting r-path for f. Proof. Let ` be the dual solution found when constracting H f. For every arc a in G f, `(a) 0 and on every arc a in H f, `(a) = 0. Augmenting f by g 0 may saturate some residual arcs in H f and may add some residual arcs a such that the reverse a R is in H f. One can show that for the added arcs we have `(a) > 0. Therefore all arcs on an r-augmenting path with respect to f 0 have nonnegative value fo `, and since g 0 is r-blocking at least one arc has a positive value of `. This implies the lemma. 5.3 Finding R-Blocking Flows In this section we describe an algorithm RBF for nding an r-blocking IS-ow in an acyclic skewsymmetric network H = (V; E(H)) with a symmetric capacity function h : E(H)! Z +. The algorithm is based on Dinitz' blocking ow algorithm [7] and the r-reachability algorithm [18]. Let g denote the ow being constructed in H. Initially g is the zero ow. A simple O(m 2 ) RBF algorithm works by successive augmentations. Given g, consider the \forward" residual graph F = (V; E(F )), where E(F ) = fa 2 E(H)jh(a)? g(a) > 0g. If F [h?g] does not contain an augmenting r-path with respect to g, then g is a blocking IS-ow and the algorithm terminates. Otherwise we augment g in a way similar to that in the proof of Theorem 3.1 Let P be an augmenting r-path in F [h?g] and let P 0 = (P ). Let ~ P and ~ P 0 be the images of P and P 0 in G. For an arc a 2 ~ P [ ~ P 0, let (a) be f(a) if a occurs in exactly one of ~ P ; ~ P 0, and bf(a)=2c otherwise. Dene = minf(a) : a 2 ~ P [ ~ P 0 g. The augmentation increases g on each arc of ~ P by, and then increases g on each arc of ~ P 0 by. It is easy to see that > 0 and that the resulting g is a feasible IS-ow. Note that an augmentation either saturates an arc of H or reduces the residual capacity of an arc of H to one. The same holds for the symmetric arc. Therefore the simple RBF algorithm does at most m augmentations. Since the path P can be found in O(m) time, the algorithm runs in O(m 2 ) time. Next we describe an RBF algorithm that runs in O(nm) time. We start with a review of the r-reachability algorithm [18]. The algorithm maintains a set A of nodes reachable from s by r- paths, with the r-paths represented by a spanning tree T E of A rooted at s. The algorithm also maintains A 0 = (A) and T 0 = (T ). By symmetry, from every node v 0 2 A 0 there is an r-path to s 0 in T 0. The invariant A \ A 0 = ; always holds. Initially A = fsg and T = ;. The algorithm searches the graph as follows. At each step it scans an arc (v; w) with v 2 A and w 62 A. If w 62 A 0, then w is added to A, (v; w) to T, (w) to A 0, and (v; w) to T 0. Now suppose w 2 A 0 and let P be the concatenation of the s to v path P 1 in T, (v; w), and the w to s 0 path P 2 in T 0. If P is regular, then the algorithm terminates and returns P. If P is not regular, then there is a bud containing a subpath of P ; the algorithm trims and updates A; A 0 and T; T 0. If there is no arc (v; w) with v 2 A and w 62 A, the algorithm concludes that s 0 is not reachable and terminates. 13

15 The following modications transform the r-reachability algorithm into the r-blocking ow algorithm. The rst modication maintains the unit base invariant. We search the split-graph H [h] represented by H and h. The algorithm scans arcs in E(H). Suppose the arc a with head node w is scanned. Recall that if h(a) > 1 then there are two arcs, a 1 and a 2, corresponding to a in the split-graph, and if h(a) = 1 then there is just one arc, a 1, and that (a i ) = (a) i. If w is added to A and h(a) > 1, then a 1 is added to T and (a) 2 is added to T 0 ; otherwise a 1 is added to T and (a) 1 is added to T 0. (Note that T and T 0 are no longer symmetric, but their images in H are symmetric.) The modication works correctly because of a is split into a 1 and a 2 and there is an s to s 0 r-path using a 2, the symmetric r-path uses a 1 and any r-path using a 1 does not use (a) 1. Since the only arcs in T with symmetric arcs in T 0 have unit capacities, the modication maintains the unit base invariant. The second modication is to search the graph in the depth-rst manner. (The r-reachability algorithm works in linear time regardless of the search strategy as long as the selection is ecient.) We maintain a stack that initially contains s. Let v be the node on top of the stack. If v has no outgoing arcs left, v is popped from the stack and deleted from the graph. The symmetric node v 0 is also deleted. If the stack is empty, there is no augmenting r-path. If v has outgoing arcs, we examine such an arc (v; w). Note that w 62 A since the graph is acyclic and we delete nodes after depth-rst search processes them. If w 62 A 0, we add w to the stack and start scanning the arcs out of w. Otherwise w 2 A 0 ; we either discover an augmenting r-path or trim a bud. In the former case we do an augmentation and decrease h. In the latter case, a group of nodes on top of the stack which the trimming operation merges into the base of the bud is replaced by the base node and the search continues. If an augmenting r-path? is discovered, an augmentation is performed similar to the simple RBF algorithm above. The only dierence is that we are working in the trimmed graph. After the RBF algorithm terminates, the blocking ow it constructs is in the trimmed graph. At the end of the algorithm, we expand the buds contracted by the algorithm and extend the blocking ow to H. Correctness of the RBF algorithm follows from the unit base invariant, Lemma 2.1, and the observation that when a node v is popped from the stack, there is no s to s 0 r-path through v (and by symmetry no r-path through (v)). Next we analyze the algorithm's running time. Lemma 5.4 The RBF algorithm runs in O(nm) time. Proof. We show that the running time of the algorithm is O(m + A), where A is the total number of arcs on all augmenting paths used by the algorithm. Since each path has less than n arcs and the total number of augmentations is at most m (for the same reason as in the simple algorithm), this implies the O(nm) bound. The algorithm scans an arc G not used in an augmentation at most once; scanned but unused arcs are deleted from the graph by a bud trimming operation or when depth-rst search retreats along these arcs. If an arc is used in an augmentation, its scan can be charged to A. Similarly, 14

16 computing the augmentation amount and updating g takes time proportional to the number of arcs in the augmenting path and can be charged to A. Next we account for trimming and expanding of buds. Using techniques and data structures from [14, 15, 16, 17, 18], the trimming and expanding can be done in time linear in the number of nodes in the bud. Because the buds form a nested family, the total time for manipulating the buds is O(m). Finally, extracting the blocking ow of H from the blocking ow in the trimmed graph at the end of the algorithm can be done in O(m + A) time using techniques similar to those for expanding r-paths used in [18]. Lemmas 5.1 and 5.4 yield the following theorem. Theorem 5.5 The RBFM algorithm solves MSFP in O(n 2 m) time. 5.4 Improved Bounds Next we show that the O(n 2 m) bound can be improved to O(M(n; m) + nm), where M(n; m) is the time needed to solve the integer maximum ow problem on a network with n nodes and m arcs. The improvement is achieved by running the RBFM algorithm with a good initial solution. To obtain the initial solution, we round the arc capacities down to the nearest multiple of two and nd a maximum ow g in the resulting network such that all values of g are even. Dene f = (g + (g))=2. Clearly f is an IS-ow in the original network, and the value of f is at most m units away from the optimal value. Suppose we run the RBFM algorithm with f as the initial solution. Because of our choice of f, the number of augmentations done by the algorithm in all r-blocking ow computations is at most m=2, since each augmentation increases the ow value by at least two. By the proof of Lemma 5.4, the total work involved in the r-blocking ow computations is O(nm). Since the auxiliary network construction takes linear time, we have the desired result. Theorem 5.6 The MSFP problem can be solved in O(M(n; m) + nm) time. 6 Special Networks The O(n 2 m) time bound for Dinitz' maximum ow algorithm can be improved for several important classes of networks [11, 12, 23, 22]. In this section we use similar techniques to obtain the same improvements for the RBFM algorithm. Lemma 6.1 On networks with unit arc capacities, the RBFM algorithm runs in O(m 1:5 ) time. Proof. First, note that on networks with unit arc capacities the RBF algorithm nds an r-blocking ow in O(m) time because an augmentation on paths?, (?) saturates all arcs on these paths and causes them to be deleted from the auxiliary graph. 15

17 Next, we show that the number of iterations of the algorithm is O( p m). This will complete the proof. Let f be an optimal IS-ow and suppose that after a dual update step (s 0 ) = k. We claim that the residual ow value jf j? jfj is at most m=k. Note that f? f is an IS-ow in G f and consider a symmetric decomposition of this ow. This decomposition contains exactly jf j? jfj r-paths from s to t. These paths are arc-disjoint and each path contains at least k arcs, which implies the claim. After the rst p m iterations p(t) p m and the residual ow is at most p m. At each iteration, either the algorithm terminates or the residual ow value decreases. Thus there can be at most p m additional iterations. We dene capacity of a node y by u(y) = min (x;y)2e u(x; y); (y;z)2e 1 u(y; z) A : A network with unit node capacities is a network in which all nodes in V? fs; s 0 g have capacity of one. The proof of the following lemma is similar to that of the previous lemma. Lemma 6.2 On networks with unit node capacities, the RBFM algorithm runs in O( p nm) time. We say that a network is bipartite if V? fs; s 0 g can be partitioned into two sets and Y such that every arc in E goes from s to, from to Y, or from Y to s 0. Next we show how to use the graph compression techniques of Feder and Motwani [12] to improve the bound of Lemma 6.2 to O?p nm log(n 2 =m)= log n for bipartite networks with unit capacities and no arcs between symmetric nodes. Let V = fs; tg [ [ Y, where arcs of G go from s to, from to Y, or from Y to t. Suppose that the subgraph induced by [Y has a bipartite clique Q induced by L; R where L, R Y. Since the network has no arcs between symmetric nodes, the clique Q 0 = (Q) is disjoint from Q. We compress the cliques as follows. We delete the arcs of Q and Q 0, add two symmetric nodes q and q 0, and add symmetric arcs (x; q), (q 0 ; (x)) for each x 2 L, and symmetric arcs (q; y), ((y); q 0 ) for each y 2 R. Note that there is a one-to-one correspondence between IS-ows in the original and the transformed networks. If the input graph is dense enough, this transformation can be used to reduce the number of arcs. It is shown in [12] that a bipartite graph with n nodes and m arcs can be transformed into a graph with m = O(m log(n 2 =m)= log n) arcs in o( p nm log(n 2 =m)= log n) time by compressing large enough cliques as described above. The compression algorithm can be easily modied so that when a clique is found and compressed, the symmetric clique is compressed as well. Let Z be the set of nodes added while compressing cliques. The results of [12] imply that jzj = o(m= p n). Thus we can have an asymptotic increase in the number of nodes but not in the graph size. An iteration of the RBFM algorithm on the compressed graph takes O(m log(n 2 =m)= log n) 16

18 time. To bound the number of iterations, note that for any IS-ow f in the compressed graph, augmenting r-paths cannot share nodes in [ Y and an augmenting r-path with k arcs must pass through at least (k? 1)=2 nodes in [ Y. An argument similar to that of Theorem 6.2 shows that the number of iterations is O( p n). Thus we have the following result. Lemma 6.3 On bipartite networks with unit node capacities and no arcs between symmetric nodes, MSFP can be solved in O?p nm log(n 2 =m)= log n time. 7 Relationship to Matching Given an undirected graph G 0 = (V 0 ; E 0 ) with no self-loops, a matching M is a subset of edges such that no two edges share a node. The maximum matching problem is to nd a matching M whose cardinality jmj is as large as possible. A more general problem is the capacitated b-matching problem [9, 26]. The input to this problem includes a supply function b : V 0! Z + and a capacity function u 0 : E 0! Z +. A b-matching is a function h : E 0! Z + that satises the supply constraints fv 0 ;w 0 g2e 0 h(v 0 ; w 0 ) b(v 0 ) 8v 0 2 V 0 and the capacity constraints h(e) u 0 (e) 8a 2 E 0 : P The value of a b-matching h is h(e) = 0 E h(e). The goal is to nd a b-matching of the maximum value. The maximum matching problem is a special case of the capacitated b-matching problem with all supplies and capacities equal to one. The capacitated b-matching problem and the skew-symmetric ow problem can be reduced to each other without increasing the problem size by more than a constant factor. The capacitated b-matching problem can be reduced to the skew-symmetric ow problem in a natural way as described below (in fact, such a reduction is well-known for special cases; see e.g. [1, 3, 25]). Given an instance of the capacitated b-matching problem, we construct a digraph G = (V; E) and a capacity function u on E as follows. For every v 2 V 0, V contains two symmetric nodes v 1 and v 2. In addition, V contains two symmetric nodes s and s 0 (the source and the sink). For every fv; wg 2 E 0, E contains two symmetric arcs (v 1 ; w 2 ) and (w 1 ; v 2 ) with u(v 1 ; w 2 ) = u(v 2 ; w 1 ) = u 0 (v; w). For every v 2 V 0, E contains two symmetric arcs (s; v 1 ) and (v 2 ; s 0 ) with capacity u(s; v 1 ) = u(v 2 ; s 0 ) = b(v). 17

19 e e 1 e 2 d d 1 d 2 c s s c c 1 2 b b 1 b 2 a Matching a 1 Symmetric Flow a 2 Figure 3: Reduction example for cardinality matching. Figure 3 illustrates the reduction. Obviously, there is a one-to-one correspondence between b-matchings in G 0 and IS-ows in G, and the value of an IS-ow is twice the value of the corresponding b-matching. Thus a solution to the MSFP yields a solution to the b-matching problem. It is easy to see that the reduction from the maximum matching problem yields the problem with unit node capacities (see Figure 3). Since G 0 has no self-loops, G has no arcs between symmetric nodes. Thus, Lemma 6.2 implies the following result which proves the conjecture of Feder and Motwani [12] and improves the O( p nm) bound on the cardinality matching problem. Theorem 7.1 The cardinality matching problem can be solved in O( p nm log(n 2 =m)= log n) time. The reduction from the skew-symmetric ow problem to the capacitated b-matching problem is also very natural. Given an instance of the skew-symmetric ow problem, (G = (V; E), s; s 0 = (s), and u) we construct an instance (G 0 = (V 0 ; E 0 );u'; andb) of the capacitated b-matching problem as follows. For each pair of mates fv 1 ; v 2 = (v)g such that v 1 2 V fv 1 ; v 2 g! = fs; s 0 g we add a node v to V 0. 18

20 For each pair of arcs (v 1 ; w 1 ) and (v 1 ; w 1 ) such that v 1 ; w 1 62 fs; s 0 g we add an edge fv; wg to E 0 and dene u 0 (v; w) = u(v i ; w 1 ). We extend u to V V by dening u(v 1 ; w 1 ) = 0 if (v 1 ; w 1 ) 62 E. For each v 0 2 V 0 we dene b(v 0 ) to be ju(s; v 1 )? u(v 1 ; s 0 )j. It is easy to see that a maximum b-matching in this network gives a maximum skew-symmetric ow in the original network. 8 Concluding Remarks The cardinality matching algorithm of Blum [3, 4] is very similar to the special case of our RBFM algorithm on networks with unit node capacities. However, the algorithm does not explicitly maintain buds, and the paper [3, 4] does not address the maximum IS-ow problem. We conjecture that the dynamic tree data structure [6] can be used to nd an r-blocking IS- ow in O(m log(n 2 =m)) time, matching the blocking ow bound of [21]. However, the results of Section 5.4 allow us to get the corresponding bound for MSFP using the dynamic tree data structure indirectly (in a maximum ow algorithm). References [1] G. M. Adel'son-Vel'ski, E. A. Dinits, and A. V. Karzanov. Flow Algorithms. Nauka, Moscow, In Russian. [2] R. K. Ahuja, J. B. Orlin, and R. E. Tarjan. Improved Time Bounds for the Maximum Flow Problem. SIAM J. Comput., 18:939{954, [3] N. Blum. A New Approach to Maximum Matching in General Graphs. In Proc. ICALP, pages 586{597, [4] N. Blum. A New Approach to Maximum Matching in General Graphs. Technical report, Institut fur Informatik der Universitat Bonn, [5] J. Cheriyan, T. Hagerup, and K. Mehlhorn. Can a Maximum Flow be Computed in o(nm) Time? In Proc. ICALP, [6] D. D. Sleator and R. E. Tarjan. Self-adjusting binary search trees. J. Assoc. Comput. Mach., 32:652{ 686, [7] E. A. Dinic. Algorithm for Solution of a Problem of Maximum Flow in Networks with Power Estimation. Soviet Math. Dokl., 11:1277{1280, [8] J. Edmonds. Paths, Trees and Flowers. Canada J. Math., 17:449{467, [9] J. Edmonds and E. L. Johnson. Matching, a Well-Solved Class of Integer Linear Programs. In R. Guy, H. Haneni, and J. Schonhein, editors, Combinatorial Structures and Their Applications, pages 89{92. Gordon and Breach, NY, [10] J. Edmonds and R. M. Karp. Theoretical Improvements in Algorithmic Eciency for Network Flow Problems. J. Assoc. Comput. Mach., 19:248{264,

21 [11] S. Even and R. E. Tarjan. Network Flow and Testing Graph Connectivity. SIAM J. Comput., 4:507{ 518, [12] T. Feder and R. Motwani. Clique Partitions, Graph Compression and Speeding-up Algorithms. In Proc. 23st Annual ACM Symposium on Theory of Computing, pages 123{133, [13] L. R. Ford, Jr. and D. R. Fulkerson. Flows in Networks. Princeton Univ. Press, Princeton, NJ, [14] H. N. Gabow. A scaling algorithm for weighted matching on general graphs. In Proc. 26th IEEE Annual Symposium on Foundations of Computer Science, pages 90{100, [15] H. N. Gabow and R. E. Tarjan. A Linear-Time Algorithm for a Special Case of Disjoint Set Union. J. Comp. and Syst. Sci., 30:209{221, [16] H. N. Gabow and R. E. Tarjan. Algorithms for Two Bottleneck Optimization Problems. J. Algorithms, 9:411{417, [17] H. N. Gabow and R. E. Tarjan. Faster scaling algorithms for general graph-matching problems. J. Assoc. Comput. Mach., 38:815{853, [18] A. V. Goldberg and A. V. Karzanov. Path Problems in Skew-Symmetric Graphs. Technical Report STAN-CS , Department of Computer Science, Stanford University, [19] A. V. Goldberg and A. V. Karzanov. Path Problems in Skew-Symmetric Graphs. In Proc. 5th ACM- SIAM Symposium on Discrete Algorithms, pages 526{535, [20] A. V. Goldberg and R. E. Tarjan. A New Approach to the Maximum Flow Problem. J. Assoc. Comput. Mach., 35:921{940, [21] A. V. Goldberg and R. E. Tarjan. Finding Minimum-Cost Circulations by Successive Approximation. Math. of Oper. Res., 15:430{466, [22] A. V. Karzanov. O nakhozhdenii maksimal'nogo potoka v setyakh spetsial'nogo vida i nekotorykh prilozheniyakh. In Matematicheskie Voprosy Upravleniya Proizvodstvom, volume 5. Moscow State University Press, Moscow, In Russian; title translation: On Finding Maximum Flows in Network with Special Structure and Some Applications. [23] A. V. Karzanov. Tochnaya otzenka algoritma nakhojdeniya maksimalnogo potoka, primenennogo k zadache \o predstavitelyakh". In Problems in Cibernetics, volume 5, pages 66{70. Nauka, Moscow, In Russian; title translation: The exact time bound for a maximum ow algorithm applied to the set representatives problem. [24] V. King, S. Rao, and R. Tarjan. A Faster Deterministic Maximum Flow Algorithm. J. Algorithms, 17:447{474, [25] E. L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Reinhart, and Winston, New York, NY., [26] L. Lovasz and M. D. Plummer. Matching Theory. Akademiai Kiado, Budapest, [27] S. Micali and V. V. Vazirani. An O( p jv jjej) algorithm for nding maximum matching in general graphs. In Proc. 21th IEEE Annual Symposium on Foundations of Computer Science, pages 17{27, [28] V. V. Vazirani. A Theory of Alternating Paths and Blossoms for Proving Correctness of the O( p V E) General Graph Maximum Matching Algorithm. Combinatorica, to appear. 20

PATH PROBLEMS IN SKEW-SYMMETRIC GRAPHS ANDREW V. GOLDBERG COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CA

PATH PROBLEMS IN SKEW-SYMMETRIC GRAPHS ANDREW V. GOLDBERG COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CA PATH PROBLEMS IN SKEW-SYMMETRIC GRAPHS ANDREW V. GOLDBERG COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CA 94305 GOLDBERG@CS.STANFORD.EDU AND ALEXANDER V. KARZANOV INSTITUTE FOR SYSTEMS ANALYSIS

More information

Maximum skew-symmetric flows and matchings

Maximum skew-symmetric flows and matchings Math. Program., Ser. A 100: 537 568 (2004) Digital Object Identifier (DOI) 10.1007/s10107-004-0505-z Andrew V. Goldberg Alexander V. Karzanov Maximum skew-symmetric flows and matchings Received: May 14,

More information

Lecture 21 November 11, 2014

Lecture 21 November 11, 2014 CS 224: Advanced Algorithms Fall 2-14 Prof. Jelani Nelson Lecture 21 November 11, 2014 Scribe: Nithin Tumma 1 Overview In the previous lecture we finished covering the multiplicative weights method and

More information

Algorithms and Theory of Computation. Lecture 11: Network Flow

Algorithms and Theory of Computation. Lecture 11: Network Flow Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a

More information

New Exact and Approximation Algorithms for the Star Packing Problem in Undirected Graphs

New Exact and Approximation Algorithms for the Star Packing Problem in Undirected Graphs New Exact and Approximation Algorithms for the Star Packing Problem in Undirected Graphs Maxim Babenko 1 and Alexey Gusakov 2 1 Moscow State University, Yandex maxim.babenko@gmail.com 2 Moscow State University,

More information

Restricted b-matchings in degree-bounded graphs

Restricted b-matchings in degree-bounded graphs Egerváry Research Group on Combinatorial Optimization Technical reports TR-009-1. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

1 Matchings in Non-Bipartite Graphs

1 Matchings in Non-Bipartite Graphs CS 598CSC: Combinatorial Optimization Lecture date: Feb 9, 010 Instructor: Chandra Chekuri Scribe: Matthew Yancey 1 Matchings in Non-Bipartite Graphs We discuss matching in general undirected graphs. Given

More information

FRACTIONAL PACKING OF T-JOINS. 1. Introduction

FRACTIONAL PACKING OF T-JOINS. 1. Introduction FRACTIONAL PACKING OF T-JOINS FRANCISCO BARAHONA Abstract Given a graph with nonnegative capacities on its edges, it is well known that the capacity of a minimum T -cut is equal to the value of a maximum

More information

Maximum flow problem (part I)

Maximum flow problem (part I) Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as

More information

The min cost flow problem Course notes for Optimization Spring 2007

The min cost flow problem Course notes for Optimization Spring 2007 The min cost flow problem Course notes for Optimization Spring 2007 Peter Bro Miltersen February 7, 2007 Version 3.0 1 Definition of the min cost flow problem We shall consider a generalization of the

More information

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming Agenda We ve done Greedy Method Divide and Conquer Dynamic Programming Now Flow Networks, Max-flow Min-cut and Applications c Hung Q. Ngo (SUNY at Buffalo) CSE 531 Algorithm Analysis and Design 1 / 52

More information

Approximate Binary Search Algorithms for Mean Cuts and Cycles

Approximate Binary Search Algorithms for Mean Cuts and Cycles Approximate Binary Search Algorithms for Mean Cuts and Cycles S. Thomas McCormick Faculty of Commerce and Business Administration University of British Columbia Vancouver, BC V6T 1Z2 Canada June 1992,

More information

Running Time. Assumption. All capacities are integers between 1 and C.

Running Time. Assumption. All capacities are integers between 1 and C. Running Time Assumption. All capacities are integers between and. Invariant. Every flow value f(e) and every residual capacities c f (e) remains an integer throughout the algorithm. Theorem. The algorithm

More information

6.046 Recitation 11 Handout

6.046 Recitation 11 Handout 6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints

More information

The min cost flow problem Course notes for Search and Optimization Spring 2004

The min cost flow problem Course notes for Search and Optimization Spring 2004 The min cost flow problem Course notes for Search and Optimization Spring 2004 Peter Bro Miltersen February 20, 2004 Version 1.3 1 Definition of the min cost flow problem We shall consider a generalization

More information

Mathematics for Decision Making: An Introduction. Lecture 13

Mathematics for Decision Making: An Introduction. Lecture 13 Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider

More information

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

to t in the graph with capacities given by u e + i(e) for edges e is maximized. We further distinguish the problem MaxFlowImp according to the valid v

to t in the graph with capacities given by u e + i(e) for edges e is maximized. We further distinguish the problem MaxFlowImp according to the valid v Flow Improvement and Network Flows with Fixed Costs S. O. Krumke, Konrad-Zuse-Zentrum fur Informationstechnik Berlin H. Noltemeier, S. Schwarz, H.-C. Wirth, Universitat Wurzburg R. Ravi, Carnegie Mellon

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 2 Network Flow Finish bipartite matching apacity-scaling algorithm Adam Smith 0//0 A. Smith; based on slides by E. Demaine,. Leiserson, S. Raskhodnikova, K. Wayne Marriage

More information

Alternating paths revisited II: restricted b-matchings in bipartite graphs

Alternating paths revisited II: restricted b-matchings in bipartite graphs Egerváry Research Group on Combinatorial Optimization Technical reports TR-2005-13. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H 1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows Matching Input: undirected graph G = (V, E). M E is a matching if each node appears in at most one Part V edge in M. Maximum Matching: find a matching of maximum cardinality Matchings Ernst Mayr, Harald

More information

Chapter 10. Maximum flow

Chapter 10. Maximum flow Chapter 10 Maximum flow An s t flow is defined as a nonnegative real-valued function on the arcs of a digraph satisfying the flow conservation law at each vertex s, t. In this chapter we consider the problem

More information

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow? CS261, Winter 2017. Instructor: Ashish Goel. Problem set 1 Electronic submission to Gradescope due 11:59pm Thursday 2/2. Form a group of 2-3 students that is, submit one homework with all of your names.

More information

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time Network Flow 1 The Maximum-Flow Problem directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time 2 Maximum Flows and Minimum Cuts flows and cuts max flow equals

More information

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS P. T. Sokkalingam Department of Mathematics Indian Institute of Technology, Kanpur-208 016, INDIA Ravindra K. Ahuja Dept. of Industrial & Management

More information

Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities

Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities Yipu Wang University of Illinois at Urbana-Champaign ywang298@illinois.edu July 12, 2018 Abstract We

More information

Packing Arborescences

Packing Arborescences Egerváry Research Group on Combinatorial Optimization Technical reports TR-2009-04. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

Reachability-based matroid-restricted packing of arborescences

Reachability-based matroid-restricted packing of arborescences Egerváry Research Group on Combinatorial Optimization Technical reports TR-2016-19. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H 1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

On shredders and vertex connectivity augmentation

On shredders and vertex connectivity augmentation On shredders and vertex connectivity augmentation Gilad Liberman The Open University of Israel giladliberman@gmail.com Zeev Nutov The Open University of Israel nutov@openu.ac.il Abstract We consider the

More information

Flows. Chapter Circulations

Flows. Chapter Circulations Chapter 4 Flows For a directed graph D = (V,A), we define δ + (U) := {(u,v) A : u U,v / U} as the arcs leaving U and δ (U) := {(u,v) A u / U,v U} as the arcs entering U. 4. Circulations In a directed graph

More information

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT 10 Max-Flow Min-Cut 10.1 Flows and Capacitated Graphs Previously, we considered weighted graphs. In this setting, it was natural to thinking about minimizing the weight of a given path. In fact, we considered

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP32/382/90/980 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 7: MAXIMUM FLOW COMP32/382/90/980 / 24 Flow Networks A flow

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization 2017-2018 1 Maximum matching on bipartite graphs Given a graph G = (V, E), find a maximum cardinal matching. 1.1 Direct algorithms Theorem 1.1 (Petersen, 1891) A matching M is

More information

Breadth-First Search of Graphs

Breadth-First Search of Graphs Breadth-First Search of Graphs Analysis of Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Applications of Breadth-First Search of Graphs a) Single Source

More information

Maximum flow problem

Maximum flow problem Maximum flow problem 7000 Network flows Network Directed graph G = (V, E) Source node s V, sink node t V Edge capacities: cap : E R 0 Flow: f : E R 0 satisfying 1. Flow conservation constraints e:target(e)=v

More information

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 7 Network Flow Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 7.5 Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching

More information

Paths and cycles in extended and decomposable digraphs

Paths and cycles in extended and decomposable digraphs Paths and cycles in extended and decomposable digraphs Jørgen Bang-Jensen Gregory Gutin Department of Mathematics and Computer Science Odense University, Denmark Abstract We consider digraphs called extended

More information

An algorithm to increase the node-connectivity of a digraph by one

An algorithm to increase the node-connectivity of a digraph by one Discrete Optimization 5 (2008) 677 684 Contents lists available at ScienceDirect Discrete Optimization journal homepage: www.elsevier.com/locate/disopt An algorithm to increase the node-connectivity of

More information

Finding k disjoint paths in a directed planar graph

Finding k disjoint paths in a directed planar graph Finding k disjoint paths in a directed planar graph Alexander Schrijver CWI Kruislaan 413 1098 SJ Amsterdam The Netherlands and Department of Mathematics University of Amsterdam Plantage Muidergracht 24

More information

Tree-width and planar minors

Tree-width and planar minors Tree-width and planar minors Alexander Leaf and Paul Seymour 1 Princeton University, Princeton, NJ 08544 May 22, 2012; revised March 18, 2014 1 Supported by ONR grant N00014-10-1-0680 and NSF grant DMS-0901075.

More information

Flow Network. The following figure shows an example of a flow network:

Flow Network. The following figure shows an example of a flow network: Maximum Flow 1 Flow Network The following figure shows an example of a flow network: 16 V 1 12 V 3 20 s 10 4 9 7 t 13 4 V 2 V 4 14 A flow network G = (V,E) is a directed graph. Each edge (u, v) E has a

More information

CMPSCI 611: Advanced Algorithms

CMPSCI 611: Advanced Algorithms CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and

More information

7.5 Bipartite Matching

7.5 Bipartite Matching 7. Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching if each node appears in at most edge in M. Max matching: find a max cardinality matching. Bipartite Matching

More information

Generating p-extremal graphs

Generating p-extremal graphs Generating p-extremal graphs Derrick Stolee Department of Mathematics Department of Computer Science University of Nebraska Lincoln s-dstolee1@math.unl.edu August 2, 2011 Abstract Let f(n, p be the maximum

More information

Fast algorithms for even/odd minimum cuts and generalizations

Fast algorithms for even/odd minimum cuts and generalizations Fast algorithms for even/odd minimum cuts and generalizations András A. Benczúr 1 and Ottilia Fülöp 2 {benczur,otti}@cs.elte.hu 1 Computer and Automation Institute, Hungarian Academy of Sciences, and Department

More information

Lecture 2: Network Flows 1

Lecture 2: Network Flows 1 Comp 260: Advanced Algorithms Tufts University, Spring 2011 Lecture by: Prof. Cowen Scribe: Saeed Majidi Lecture 2: Network Flows 1 A wide variety of problems, including the matching problems discussed

More information

MINIMALLY NON-PFAFFIAN GRAPHS

MINIMALLY NON-PFAFFIAN GRAPHS MINIMALLY NON-PFAFFIAN GRAPHS SERGUEI NORINE AND ROBIN THOMAS Abstract. We consider the question of characterizing Pfaffian graphs. We exhibit an infinite family of non-pfaffian graphs minimal with respect

More information

The Maximum Flow Problem

The Maximum Flow Problem The Maximum Flow Problem put: a directed graph G =(V,E), source node s V, sink node t V edge capacities cap : E IR 0 s 1/0 1/1 1/1 t 2/2 2/1 oal: compute a flow of maximal value, i.e., a function f : E

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 28 Network Flow hoosing good augmenting paths apacity scaling algorithm A. Smith /4/2008 A. Smith; based on slides by K. Wayne and S. Raskhodnikova Pre-break: Ford-Fulkerson

More information

A Separator Theorem for Graphs with an Excluded Minor and its Applications

A Separator Theorem for Graphs with an Excluded Minor and its Applications A Separator Theorem for Graphs with an Excluded Minor and its Applications Noga Alon IBM Almaden Research Center, San Jose, CA 95120,USA and Sackler Faculty of Exact Sciences, Tel Aviv University, Tel

More information

The Maximum Flows in Planar Dynamic Networks

The Maximum Flows in Planar Dynamic Networks INTERNATIONAL JOURNAL OF COMPUTERS COMMUNICATIONS & CONTROL ISSN 1841-9836, 11(2):282-291, April 2016. The Maximum Flows in Planar Dynamic Networks C. Schiopu, E. Ciurea Camelia Schiopu* 1. Transilvania

More information

An Analysis of the Highest-Level Selection Rule in the Preflow-Push Max-Flow Algorithm

An Analysis of the Highest-Level Selection Rule in the Preflow-Push Max-Flow Algorithm An Analysis of the Highest-Level Selection Rule in the Preflow-Push Max-Flow Algorithm Joseph Cheriyan Kurt Mehlhorn August 20, 1998 Abstract Consider the problem of finding a maximum flow in a network.

More information

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if CS787: Advanced Algorithms Lecture 4: Network Flow We devote this lecture to the network flow problem and the max-flow min-cut theorem. A number of other problems can be cast into a maximum flow or minimum

More information

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs Haim Kaplan Tel-Aviv University, Israel haimk@post.tau.ac.il Nira Shafrir Tel-Aviv University, Israel shafrirn@post.tau.ac.il

More information

VISUALIZING, FINDING AND PACKING DIJOINS

VISUALIZING, FINDING AND PACKING DIJOINS Chapter 1 VISUALIZING, FINDING AND PACKING DIJOINS F. B. Shepherd Math Sciences, Bell Laboratories. bshep@research.bell-labs.com A. Vetta Dept. of Mathematics & Statistics, and School of Computer Science,

More information

Two Applications of Maximum Flow

Two Applications of Maximum Flow Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows

More information

The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner

The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner FoSP Algorithmen & mathematische Modellierung FoSP Forschungsschwerpunkt Algorithmen und mathematische Modellierung The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard Elisabeth

More information

Improving on the 1.5-Approximation of. a Smallest 2-Edge Connected Spanning Subgraph. September 25, Abstract

Improving on the 1.5-Approximation of. a Smallest 2-Edge Connected Spanning Subgraph. September 25, Abstract Improving on the 1.5-Approximation of a Smallest 2-Edge Connected Spanning Subgraph J. Cheriyan y A. Seb}o z Z. Szigeti x September 25, 1999 Abstract We give a 17 -approximation algorithm for the following

More information

Realization of set functions as cut functions of graphs and hypergraphs

Realization of set functions as cut functions of graphs and hypergraphs Discrete Mathematics 226 (2001) 199 210 www.elsevier.com/locate/disc Realization of set functions as cut functions of graphs and hypergraphs Satoru Fujishige a;, Sachin B. Patkar b a Division of Systems

More information

1 Review for Lecture 2 MaxFlow

1 Review for Lecture 2 MaxFlow Comp 260: Advanced Algorithms Tufts University, Spring 2009 Prof. Lenore Cowen Scribe: Wanyu Wang Lecture 13: Back to MaxFlow/Edmonds-Karp 1 Review for Lecture 2 MaxFlow A flow network showing flow and

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 7 Network Flow Application: Bipartite Matching Adam Smith 0//008 A. Smith; based on slides by S. Raskhodnikova and K. Wayne Recently: Ford-Fulkerson Find max s-t flow

More information

CSC 373: Algorithm Design and Analysis Lecture 12

CSC 373: Algorithm Design and Analysis Lecture 12 CSC 373: Algorithm Design and Analysis Lecture 12 Allan Borodin February 4, 2013 1 / 16 Lecture 12: Announcements and Outline Announcements Term test 1 in tutorials. Need to use only two rooms due to sickness

More information

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek CS 787: Advanced Algorithms Flows and Cuts Instructor: Dieter van Melkebeek This lecture covers the construction of optimal flows and cuts in networks, their relationship, and some applications. It paves

More information

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015 COMPSCI 532: Design and Analysis of Algorithms August 26, 205 Lecture Lecturer: Debmalya Panigrahi Scribe: Allen Xiao Oeriew In this lecture, we will define the maximum flow problem and discuss two algorithms

More information

GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017)

GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) C. Croitoru croitoru@info.uaic.ro FII November 12, 2017 1 / 33 OUTLINE Matchings Analytical Formulation of the Maximum Matching Problem Perfect Matchings

More information

ORIE 633 Network Flows October 4, Lecture 10

ORIE 633 Network Flows October 4, Lecture 10 ORIE 633 Network Flows October 4, 2007 Lecturer: David P. Williamson Lecture 10 Scribe: Kathleen King 1 Efficient algorithms for max flows 1.1 The Goldberg-Rao algorithm Recall from last time: Dinic s

More information

Max Flow: Algorithms and Applications

Max Flow: Algorithms and Applications Max Flow: Algorithms and Applications Outline for today Quick review of the Max Flow problem Applications of Max Flow The Ford-Fulkerson (FF) algorithm for Max Flow Analysis of FF, and the Max Flow Min

More information

Lexicographic Flow. Dexter Kozen Department of Computer Science Cornell University Ithaca, New York , USA. June 25, 2009

Lexicographic Flow. Dexter Kozen Department of Computer Science Cornell University Ithaca, New York , USA. June 25, 2009 Lexicographic Flow Dexter Kozen Department of Computer Science Cornell University Ithaca, New York 14853-7501, USA June 25, 2009 Abstract The lexicographic flow problem is a flow problem in which the edges

More information

On 2-Coverings and 2-Packings of Laminar. Families.

On 2-Coverings and 2-Packings of Laminar. Families. On 2-Coverings and 2-Packings of Laminar Families Joseph Cheriyan 1?, Tibor Jordan 2??, and R. Ravi 3??? 1 Department of Combinatorics and Optimization, University of Waterloo, Waterloo ON Canada N2L 3G1,

More information

Algorithms: Lecture 12. Chalmers University of Technology

Algorithms: Lecture 12. Chalmers University of Technology Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,

More information

Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives

Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives László A. Végh April 12, 2013 Abstract A well-studied nonlinear extension of the minimum-cost flow

More information

THE MAXIMAL SUBGROUPS AND THE COMPLEXITY OF THE FLOW SEMIGROUP OF FINITE (DI)GRAPHS

THE MAXIMAL SUBGROUPS AND THE COMPLEXITY OF THE FLOW SEMIGROUP OF FINITE (DI)GRAPHS THE MAXIMAL SUBGROUPS AND THE COMPLEXITY OF THE FLOW SEMIGROUP OF FINITE (DI)GRAPHS GÁBOR HORVÁTH, CHRYSTOPHER L. NEHANIV, AND KÁROLY PODOSKI Dedicated to John Rhodes on the occasion of his 80th birthday.

More information

Upper and Lower Bounds on the Number of Faults. a System Can Withstand Without Repairs. Cambridge, MA 02139

Upper and Lower Bounds on the Number of Faults. a System Can Withstand Without Repairs. Cambridge, MA 02139 Upper and Lower Bounds on the Number of Faults a System Can Withstand Without Repairs Michel Goemans y Nancy Lynch z Isaac Saias x Laboratory for Computer Science Massachusetts Institute of Technology

More information

A Faster Strongly Polynomial Time Algorithm for Submodular Function Minimization

A Faster Strongly Polynomial Time Algorithm for Submodular Function Minimization A Faster Strongly Polynomial Time Algorithm for Submodular Function Minimization James B. Orlin Sloan School of Management, MIT Cambridge, MA 02139 jorlin@mit.edu Abstract. We consider the problem of minimizing

More information

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source

More information

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o Generalized Max Flows Kevin Wayne Cornell University www.orie.cornell.edu/~wayne = 3=4 40 v w 30 advisor: Eva Tardos u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u =

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E

More information

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest

More information

Two-Commodity Multiroute Maximum Flow Problem

Two-Commodity Multiroute Maximum Flow Problem Two-Commodity Multiroute Maximum Flow roblem Donglei Du R. Chandrasekaran August, 005 Abstract We consider a two-commodity multiroute maximum flow problem in an undirected network a generalization of the

More information

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27 Maximum Flow Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Maximum Flow 1 / 27 Flow Networks A flow network is a weighted digraph G = (V, E), where the

More information

Week 4. (1) 0 f ij u ij.

Week 4. (1) 0 f ij u ij. Week 4 1 Network Flow Chapter 7 of the book is about optimisation problems on networks. Section 7.1 gives a quick introduction to the definitions of graph theory. In fact I hope these are already known

More information

Maximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai

Maximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai Maximum Flow Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai Flow Network A low network G ( V, E) is a directed graph with a source node sv, a sink node tv, a capacity unction c. Each edge ( u,

More information

k-distinct In- and Out-Branchings in Digraphs

k-distinct In- and Out-Branchings in Digraphs k-distinct In- and Out-Branchings in Digraphs Gregory Gutin 1, Felix Reidl 2, and Magnus Wahlström 1 arxiv:1612.03607v2 [cs.ds] 21 Apr 2017 1 Royal Holloway, University of London, UK 2 North Carolina State

More information

1 Introduction A priority queue is a data structure that maintains a set of elements and supports operations insert, decrease-key, and extract-min. Pr

1 Introduction A priority queue is a data structure that maintains a set of elements and supports operations insert, decrease-key, and extract-min. Pr Buckets, Heaps, Lists, and Monotone Priority Queues Boris V. Cherkassky Central Econ. and Math. Inst. Krasikova St. 32 117418, Moscow, Russia cher@cemi.msk.su Craig Silverstein y Computer Science Department

More information

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas Flow Networks Network Flows 2 Types of Networks Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas 3 Maximum Flow Problem How can we maximize the flow in a network from a source or

More information

A Faster Algorithm for the Maximum Even Factor Problem

A Faster Algorithm for the Maximum Even Factor Problem A Faster Algorithm for the Maximum Even Factor Problem Maxim A. Babenko arxiv:1004.2115v2 [math.co] 14 Apr 2010 Moscow State University Abstract. Given a digraph G = (VG,AG), an even factor M AG is a subset

More information

Contents. Introduction

Contents. Introduction Introduction Contents Chapter 1. Network Flows 1 1.1. Graphs 1 1.2. Shortest Paths 8 1.3. Maximum Flow 17 1.4. Min Cost Flows 22 List of frequently used Symbols 31 Bibliography 33 Index 37 iii i Introduction

More information

Computing Maximum Flow with Augmenting Electrical Flows

Computing Maximum Flow with Augmenting Electrical Flows Computing Maximum Flow with Augmenting Electrical Flows Aleksander Mądry MIT madry@mit.edu Abstract ( ) We present an Õ m 0 7 U 7 -time algorithm for the maximum s-t flow problem (and the minimum s-t cut

More information

5 Flows and cuts in digraphs

5 Flows and cuts in digraphs 5 Flows and cuts in digraphs Recall that a digraph or network is a pair G = (V, E) where V is a set and E is a multiset of ordered pairs of elements of V, which we refer to as arcs. Note that two vertices

More information

Discrete Optimization 2010 Lecture 3 Maximum Flows

Discrete Optimization 2010 Lecture 3 Maximum Flows Remainder: Shortest Paths Maximum Flows Discrete Optimization 2010 Lecture 3 Maximum Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 3: sheet 1 / 29 Marc Uetz Discrete Optimization Outline

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Bipartite Matching Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 36 Spring 2010 Bipartite Matching 2 / 36 Can use

More information

The Simplest and Smallest Network on Which the Ford-Fulkerson Maximum Flow Procedure May Fail to Terminate

The Simplest and Smallest Network on Which the Ford-Fulkerson Maximum Flow Procedure May Fail to Terminate Journal of Information Processing Vol.24 No.2 390 394 (Mar. 206) [DOI: 0.297/ipsjjip.24.390] Regular Paper The Simplest and Smallest Network on Which the Ford-Fulkerson Maximum Flow Procedure May Fail

More information

Non-TDI graph-optimization with supermodular functions (extended abstract)

Non-TDI graph-optimization with supermodular functions (extended abstract) Egerváry Research Group on Combinatorial Optimization Technical reports TR-2015-14. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

Triangle-free graphs with no six-vertex induced path

Triangle-free graphs with no six-vertex induced path Triangle-free graphs with no six-vertex induced path Maria Chudnovsky 1, Paul Seymour 2, Sophie Spirkl Princeton University, Princeton, NJ 08544 Mingxian Zhong Columbia University, New York, NY 10027 June

More information

Internet Routing Example

Internet Routing Example Internet Routing Example Acme Routing Company wants to route traffic over the internet from San Fransisco to New York. It owns some wires that go between San Francisco, Houston, Chicago and New York. The

More information

Rao s degree sequence conjecture

Rao s degree sequence conjecture Rao s degree sequence conjecture Maria Chudnovsky 1 Columbia University, New York, NY 10027 Paul Seymour 2 Princeton University, Princeton, NJ 08544 July 31, 2009; revised December 10, 2013 1 Supported

More information

A well-quasi-order for tournaments

A well-quasi-order for tournaments A well-quasi-order for tournaments Maria Chudnovsky 1 Columbia University, New York, NY 10027 Paul Seymour 2 Princeton University, Princeton, NJ 08544 June 12, 2009; revised April 19, 2011 1 Supported

More information

On improving matchings in trees, via bounded-length augmentations 1

On improving matchings in trees, via bounded-length augmentations 1 On improving matchings in trees, via bounded-length augmentations 1 Julien Bensmail a, Valentin Garnero a, Nicolas Nisse a a Université Côte d Azur, CNRS, Inria, I3S, France Abstract Due to a classical

More information

Shortest Paths in Directed Planar Graphs with Negative Lengths: a Linear-Space O(n log 2 n)-time Algorithm

Shortest Paths in Directed Planar Graphs with Negative Lengths: a Linear-Space O(n log 2 n)-time Algorithm Shortest Paths in Directed Planar Graphs with Negative Lengths: a Linear-Space O(n log 2 n)-time Algorithm Philip Klein 1, Shay Mozes 1 and Oren Weimann 2 1 Department of Computer Science, Brown University,

More information