The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/



Similar documents
The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley goldberg/

The Goldberg Rao Algorithm for the Maximum Flow Problem

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

Network Flow Problems Arising From Evacuation Planning

Approximation Algorithms

5.1 Bipartite Matching

Incremental Maximum Flows for Fast Envelope Computation

Semi-Matchings for Bipartite Graphs and Load Balancing

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Scheduling Shop Scheduling. Tim Nieberg

A Practical Scheme for Wireless Network Operation

Proximal mapping via network optimization

Evacuation by Earliest Arrival Flows

Every tree contains a large induced subgraph with all degrees odd

Max Flow, Min Cut, and Matchings (Solution)

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

Shortest Inspection-Path. Queries in Simple Polygons

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Algorithm Design and Analysis

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Connectivity and cuts

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

Fairness in Routing and Load Balancing

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

8.1 Min Degree Spanning Tree

1 Definitions. Supplementary Material for: Digraphs. Concept graphs

On the k-path cover problem for cacti

Topology-based network security

On the independence number of graphs with maximum degree 3

GI01/M055 Supervised Learning Proximal Methods

Max Flow. Lecture 4. Optimization on graphs. C25 Optimization Hilary 2013 A. Zisserman. Max-flow & min-cut. The augmented path algorithm

Applied Algorithm Design Lecture 5

11. APPROXIMATION ALGORITHMS

Welcome to... Problem Analysis and Complexity Theory , 3 VU

Online Bipartite Perfect Matching With Augmentations

Scheduling Single Machine Scheduling. Tim Nieberg

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

PROTOTYPE TO DESIGN A LEASED LINE TELEPHONE NETWORK CONNECTING LOCATIONS TO MINIMIZE THE INSTALLATION COST

Network File Storage with Graceful Performance Degradation

metric space, approximation algorithm, linear programming relaxation, graph

1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal , AP, INDIA

Social Media Mining. Graph Essentials

Linear Programming I

THE SCHEDULING OF MAINTENANCE SERVICE

On Integer Additive Set-Indexers of Graphs

CIS 700: algorithms for Big Data

CSC2420 Spring 2015: Lecture 3

Offline sorting buffers on Line

Distributed Computing over Communication Networks: Maximal Independent Set

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

A Network Flow Approach in Cloud Computing

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

Problem Set 7 Solutions

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Analysis of Algorithms, I

The Butterfly, Cube-Connected-Cycles and Benes Networks

8. Matchings and Factors

Lecture 1: Course overview, circuits, and formulas

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

GRAPH THEORY LECTURE 4: TREES

Binary Image Reconstruction

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Cpt S 223. School of EECS, WSU

6.852: Distributed Algorithms Fall, Class 2

Practical Guide to the Simplex Method of Linear Programming

Simplified External memory Algorithms for Planar DAGs. July 2004

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

CS711008Z Algorithm Design and Analysis

Why? A central concept in Computer Science. Algorithms are ubiquitous.

All trees contain a large induced subgraph having all degrees 1 (mod k)

Small Maximal Independent Sets and Faster Exact Graph Coloring

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

Network Flow I. Lecture Overview The Network Flow Problem

Network Design with Coverage Costs

Labeling outerplanar graphs with maximum degree three

arxiv:cs/ v1 [cs.dc] 30 May 2006

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Introduction to Scheduling Theory

Persistent Data Structures

Distance Degree Sequences for Network Analysis

Lecture 2: Universality

Data Structures and Algorithms Written Examination

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

Competitive Analysis of On line Randomized Call Control in Cellular Networks

Bargaining Solutions in a Social Network

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs

Transcription:

The Binary Blocking Flow Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/

Why this Max-Flow Talk? The result: O(min(n 2/3, m 1/2 )mlog(n 2 /m)log(u)) maximum flow algorithm [Goldberg & Rao 97]. My first joint work with Bob was on max-flows. The result is strong, appropriate for the event. Closely related to Bob s work. Motivated by O(min(n 2/3, m 1/2 )m) unit capacity flow algorithm [Even & Tarjan 75]. Uses dynamic trees [Sleator & Tarjan 83]. Uses O(mlog(n 2 /m)) blocking flow algorithm [Goldberg & Tarjan 88]. Bob has the best strongly polynomial algorithm [King, Rao & Tarjan 94]. Bob teaches the algorithm in his advanced algorithms class. Improved and beautified a part of it [Haeupler & Tarjan 07]. Bob Tarjan s 60th birthday Andrew V. Goldberg 1

Problem Definition Input: Digraph G = (V, A), s, t V, u : A [1,..., U]. n = V and m = A. Similarity assumption [Gabow 85]: log U = O(log n) For modern machines log U, log n 64. The Õ() bound ignores constants, log n, log U. Flow f : A [0,... U] obeys capacity constraints and conservation constraints. Flow value f is the total flow into t. Cut is a partitioning V = S T : s S, t T. Cut capacity u(s, T) = v S,w T u(v, w). Maximum flow problem: Find a maximum flow. Minimum cut problem (dual): Find a minimum cut. Bob Tarjan s 60th birthday Andrew V. Goldberg 2

Time Bounds year discoverer(s) bound note 1951 Dantzig O(n 2 mu) Õ ( n 2 mu ) 1955 Ford & Fulkerson O(m 2 U) Õ ( m 2 U ) 1970 Dinitz O(n 2 m) Õ ( n 2 m ) 1972 Edmonds & Karp O(m 2 log U) Õ ( m 2) 1973 Dinitz O(nm log U) Õ(nm) 1974 Karzanov O(n 3 ) 1977 Cherkassky O(n 2 m 1/2 ) 1980 Galil & Naamad O(nmlog 2 n) 1983 Sleator & Tarjan O(nmlog n) 1986 Goldberg & Tarjan O(nmlog(n 2 /m)) 1987 Ahuja & Orlin O(nm + n 2 log U) 1987 Ahuja et al. O(nmlog(n log U/m)) 1989 Cheriyan & Hagerup E(nm + n 2 log 2 n) 1990 Cheriyan et al. O(n 3 /log n) 1990 Alon O(nm + n 8/3 log n) 1992 King et al. O(nm + n 2+ǫ ) 1993 Phillips & Westbrook O(nm(log m/n n + log 2+ǫ n)) 1994 King et al. O(nmlog m/(nlog n) n) 1997 Goldberg & Rao O(m 3/2 log(n 2 /m)log U) Õ ( m 3/2) O(n 2/3 mlog(n 2 /m)log U) Õ ( n 2/3 m ) blocking flow and push-relabel algorithms. Bob Tarjan s 60th birthday Andrew V. Goldberg 3

Background Residual capacity u f (a) = u(a) f(a) a A and f(a R ) o.w. Residual graph G f = (V, A f ) is induced by arcs with positive residual capacity. Let l 0 be a length function on A f. Reduced cost c d (v, w) = l(v, w) d(v) + d(w). Shortest paths w.r.t. l and c d are the same. If d(t) = 0 and c d 0, then d(v) dist(v, t). d(v) = dist(v, t) iff a v-t path of zero reduced cost arcs. If d(v) d(w), increasing f(v, w) creates no negative arcs. Given f and d, the admissible graph G d = (V, A d ) is induced by zero reduced cost residual arcs. If (v, w) A d, then d(v) d(w). An s-t flow augmentation in G d does not decrease dist(s, t). Bob Tarjan s 60th birthday Andrew V. Goldberg 4

Augmenting Path Algorithm An Augmenting path is an s-t path in G f. f is optimal iff there is no augmenting path. Flow augmentation: Given an augmenting path Γ, increase f on all arcs on Γ by the minimum residual capacity of arcs on Γ. Saturates at least one arc on Γ. Augmenting path algorithm: While there is an augmenting path, find one and augment. Runs in O(m 2 U) time. Unit lengths: a A f let l(a) = 1. Augmenting along a shortest path yields a polynomial-time algorithm. Bob Tarjan s 60th birthday Andrew V. Goldberg 5

Blocking Flows f in G is blocking if every s-t path in G is saturated. The admissible graph G d contains all arcs of G f on s-t shortest paths. For unit lengths, G d is acyclic. O(mlog(n 2 /m)) algorithm to find a blocking flow in an acyclic graph [Goldberg & Tarjan 88]. Blocking flow method:[dinitz 70] Repeatedly augment f by a blocking flow in G f. Lemma: Each iteration increases the s to t distance in G f. O(nmlog(n 2 /m)) maximum flow algorithm. Bob Tarjan s 60th birthday Andrew V. Goldberg 6

Binary Length Function How does one beat the nm barrier? [Edmonds & Karp 1972]: general lengths (but no results). Algorithm intuition [Goldberg & Rao 1997]: Capacity-based lengths: l(a) = 1 if 0 < u f (a) < 2, l(a) = 0 otherwise. Maintain residual flow bound F, update when improves by at least a factor of 2. Set = F/ m. Find a flow of value or a blocking flow; augment. After O( m) -augmentations F decreases. After 4 m blocking flow augmentations, d(s) 2 m. One of the cuts ({d(v) > i}, {d(v) i}) has no 0-length arcs and at most m/4 length one arcs. After O( m) blocking flows F decreases. Why stop blocking flow computation at value? Bob Tarjan s 60th birthday Andrew V. Goldberg 7

Zero Length Arcs Pros: Seem necessary for the result to work. Large arcs do not go from hight to low vertex layers. Small cut when d(s) << n. Cons: G d need not be acyclic. Increasing flow in G d may create new admissible arcs: d(v) = d(w), increasing f(v, w) increases u f (w, v) from to 2. The new arcs are created only if an arc length is reduced to zero. These problems can be resolved. Bob Tarjan s 60th birthday Andrew V. Goldberg 8

Problem: Admissible Cycles G d can have only cycles of zero-length arcs between vertices with the same d. These arcs have capacities of at least 2. Contract SCCs of G d to obtain acyclic G d. flow can be routed in such a strongly connected graph in linear time [Erlebach & Hagerup 02, Haeupler & Tarjan 07]. Stop a blocking flow computation if the current flow has value. After finding a flow in G d, extend it to a flow in G d. A blocking flow in G d is a blocking flow in G d. Bob Tarjan s 60th birthday Andrew V. Goldberg 9

Problem: Arc Length Decrease 1 1 2 2 2 2 0 0 1 1 An arc length can decrease from one to zero and s-t distance may not increase. Bob Tarjan s 60th birthday Andrew V. Goldberg 10

Special Arcs When length decrease on (v, w) can happen and hurt? 1. u f (v, w) < 2 2. d(v) = d(w) d(v) > d(w): f(v, w) R not increases, l(v, w) not decreases. d(v) < d(w): decreasing l(v, w) does not hurt. 3. (optional) u f (v, w) R 2 Special arc: Satisfies (1), (2) and optionally (3). Can reduce special arc length to zero: d does not change, residual capacity large. Bob Tarjan s 60th birthday Andrew V. Goldberg 11

Main Loop 1 1 2 2 0 2 2 0 1 1 Assign arc lengths, compute distances to t. Reduce special arc length to zero. Contract SCCs in G d to obtain G d. Find a -flow or a blocking flow in G d. Extend to a flow in G d, augment. Bob Tarjan s 60th birthday Andrew V. Goldberg 12

Main Theorem Theorem: While F stays the same, d is monotone. In the blocking flow case, d(s) increases. Proof: No negative reduced cost arcs created, d monotone. No zero arcs created (special arcs excluded). No admissible arcs created w.r.t. new lengths. Blocked cut remains blocked after length update. d(s) increases by a blocking flow augmentation. Bob Tarjan s 60th birthday Andrew V. Goldberg 13

Analysis O( mlog(mu)) iteration bound is obvious. To do better: While U no zero-length arcs, d(s) monotone. After O( m) iterations F mu. O( m) iterations reduces F by a factor of two. In O( mlog U) iterations F m. Integral flow, an iteration decreases F. O( mlog U) iterations total. An iteration is dominated by a blocking flow. A slight variation gives an O(n 2/3 log U) iteration bound. Bob Tarjan s 60th birthday Andrew V. Goldberg 14

Additional Topics The new algorithm not as robust as push-relabel in practice......but outperforms Dinitz algorithm [Hagerup et al 98]. Problems extending the bound to the push-relabel method. Extends to the augment-relabel method. Open problem: extending the bound to min-cost flows. Bob Tarjan s 60th birthday Andrew V. Goldberg 15

Push Relabel Method Push relabel algorithms [Goldberg & Tarjan 86] are more practical than blocking flow algorithms. Preflow f [Karzanov 1974]: v s may have flow excess e f (v), but not deficit. Distance labeling gives lower bounds on distance to t in G f. Formally d : V N, d(t) = 0, (v, w) G f, d(v) d(w) + 1. Initially d(v) = 1 for v s, t, d(s) = n, arcs out of s are saturated. Apply push and relabel operations until none applies. Algorithm terminates with a min-cut. Converting preflow into flow is fast. Bob Tarjan s 60th birthday Andrew V. Goldberg 16

Push Relabel (cont.) Algorithm updates f and d using push and relabel operations. push(v, w): e f (v) > 0, (v, w) admissible. Increase f(v, w) by at most min(u f (v, w), e f (v)). relabel(v): d(v) < n, no arc (v, w) is admissible. Increase d(v) by 1 or the maximum possible value. Current arc data structure: Current arc of v starts at the first arc of v initially and after each relabeling; advances only if the current arc is not admissible. Selection rules: Pick the next vertex to process, e.g., FIFO on vertices with excess, highest-labeled vertex with excess. Can extend the algorithm to the binary lengths, but the improved analysis fails: flow can move around a cycle, neither flow value nor d(s) increases. Bob Tarjan s 60th birthday Andrew V. Goldberg 17

Augment Relabel Algorithm Intuitively, push-relabel with DFS operation ordering. FindPath(v) { if (v == t) return(true); while (there is an admissible arc (v,w)) { if (FindPath(w) { v->current = (v,w); return(true); } } relabel(v); return(false); } The algorithm repeatedly calls FindPath(s) and augments along the current arc path from s to t until d(s) n. Can use binary lengths to get the improved bounds. Does not work well in practice. Bob Tarjan s 60th birthday Andrew V. Goldberg 18

Open Problem Min-cost flow algorithms: For unit lengths, max-flow + cost-scaling = min-cost flow with log(nc) slowdown, where C is the maximum arc length. For unit capacities, [Gabow & Tarjan 87] give an O(min(n 2/3 m 1/2 )mlog(nc)) algorithm. For min-cost flows with integral data, is there an O(min(n 2/3 m 1/2 )mlog(nc)log U) algorithm?...or a more modest Õ ( n 1 ǫ m ) algorithm for ǫ > 0? Bob Tarjan s 60th birthday Andrew V. Goldberg 19

Thank You! Bob Tarjan s 60th birthday Andrew V. Goldberg 20