arxiv:cs/ v1 [cs.ds] 8 Dec 1998

Similar documents
Depth-first search and strong connectivity in Coq

Noncrossing Trees and Noncrossing Graphs

10 Torque. Lab. What You Need To Know: Physics 211 Lab

Multi-Robot Forest Coverage

Efficient Algorithms for finding a Trunk on a Tree Network and its Applications

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Rearranging trees for robust consensus

Multi-Robot Flooding Algorithm for the Exploration of Unknown Indoor Environments

ABriefIntroductiontotheBasicsof Game Theory

Red-Black Trees Goodrich, Tamassia Red-Black Trees 1

CORESTA RECOMMENDED METHOD N 68

Complexity of Data Tree Patterns over XML Documents

OPTIMAL SCHEDULING MODELS FOR FERRY COMPANIES UNDER ALLIANCES

British Prime Minister Benjamin Disraeli once remarked that

Faster Nearest Neighbors: Voronoi Diagrams and k-d Trees

Cyclostrophic Balance in Surface Gravity Waves: Essay on Coriolis Effects

The Solution to the Bühlmann - Straub Model in the case of a Homogeneous Credibility Estimators

An Auction Based Mechanism for On-Demand Transport Services

CS3350B Computer Architecture. Lecture 6.2: Instructional Level Parallelism: Hazards and Resolutions

The Properties of. Model Rocket Body Tube Transitions

Lesson 33: Horizontal & Vertical Circular Problems

Incorporating Location, Routing and Inventory Decisions in Dual Sales Channel - A Hybrid Genetic Approach

Morrison Drive tel. Ottawa, ON, Canada K2H 8S fax. com

The Study About Stopping Distance of Vehicles

Design Engineering Challenge: The Big Dig Contest Platter Strategies: Ball Liberation

EC-FRM: An Erasure Coding Framework to Speed up Reads for Erasure Coded Cloud Storage Systems

tr0 TREES Hanan Samet

Cheat-Proof Playout for Centralized and Distributed Online Games

An integrated supply chain design model with random disruptions consideration

A CONCEPTUAL WHEELED ROBOT FOR IN-PIPE INSPECTION Ioan Doroftei, Mihaita Horodinca, Emmanuel Mignon

tr0 TREES Hanan Samet

SHRiMP: Accurate Mapping of Short Color-space Reads

Data Sheet. Linear bearings

Experiment #10 Bio-Physics Pre-lab Questions

UNIVERSITÀ DEGLI STUDI DI PADOVA. Dipartimento di Scienze Economiche Marco Fanno

Lecture Topics. Overview ECE 486/586. Computer Architecture. Lecture # 9. Processor Organization. Basic Processor Hardware Pipelining

Experiment #10 Bio-Physics Pre-lab Comments, Thoughts and Suggestions

EcoMobility World Festival 2013 Suwon: an analysis of changes in citizens awareness and satisfaction

Rotor Design and Analysis of Stall-regulated Horizontal Axis Wind Turbine

THE IMPACTS OF CONGESTION ON COMMERCIAL VEHICLE TOUR CHARACTERISTICS AND COSTS

I. FORMULATION. Here, p i is the pressure in the bubble, assumed spatially uniform,

Matlab Simulink Implementation of Switched Reluctance Motor with Direct Torque Control Technique

Design and Simulation Model for Compensated and Optimized T-junctions in Microstrip Line

Wind and extremely long bridges a challenge for computer aided design

A Force Platform Free Gait Analysis

Trends in Cycling, Walking & Injury Rates in New Zealand

Multiple Vehicle Driving Control for Traffic Flow Efficiency

Bicycle and Pedestrian Master Plan

Numerical study of super-critical carbon dioxide flow in steppedstaggered

MODELLING THE INTERACTION EFFECTS OF THE HIGH-SPEED TRAIN TRACK BRIDGE SYSTEM USING ADINA

Carnegie Mellon University Forbes Ave., Pittsburgh, PA command as a point on the road and pans the camera in

Phase Behavior Introduction to Phase Behavior F.E. Londono M.S. Thesis (2001)

Overlap-Based Genome Assembly from Variable-Length Reads

PREDICTION OF THIRD PARTY DAMAGE FAILURE FREQUENCY FOR PIPELINES TRANSPORTING MIXTURES OF NATURAL GAS AND HYDROGEN Zhang, L. 1, Adey, R.A.

Performance Characteristics of Parabolic Trough Solar Collector System for Hot Water Generation

Electrical Equipment of Machine Tools

Color Encodings: srgb and Beyond

Tree. Tree. Siblings Grand Parent Grand Child H I J I J K. Tree Definitions

POSSIBLE AND REAL POWERFLOWS IN CONNECTED DIFFERENTIAL GEAR DRIVES WITH η 0 <i pq <1/η 0 INNER RATIO

Alternate stable states in coupled fishery-aquaculture systems. Melissa Orobko

Bubble clustering and trapping in large vortices. Part 1: Triggered bubbly jets investigated by phase-averaging

DETC A NEW MODEL FOR WIND FARM LAYOUT OPTIMIZATION WITH LANDOWNER DECISIONS

READING AREA TRANSPORTATION STUDY BICYCLE AND PEDESTRIAN TRANSPORTATION PLAN ADOPTED NOVEMBER 18, 2010

A Collision Risk-Based Ship Domain Method Approach to Model the Virtual Force Field

Fault tolerant oxygen control of a diesel engine air system

A Machine Vision based Gestural Interface for People with Upper Extremity Physical Impairments

College Hill Carthage. Winton Hills. Mill Creek. Spring Grove Village Paddock Hills. North Avondale. Avondale. Evanston. CUF Walnut Hills.

Motivation. Prize-Collecting Steiner Tree Problem (PCSTP) Kosten und Profite. Das Fraktionale Prize-Collecting Steiner Tree Problem auf Baumgraphen

Angle-restricted Steiner arborescences for flow map layout Buchin, K.A.; Speckmann, B.; Verbeek, K.A.B.

A Deceleration Control Method of Automobile for Collision Avoidance based on Driver's Perceptual Risk

PlacesForBikes City Ratings Methodology. Overall City Rating

A Three-Axis Magnetic Sensor Array System for Permanent Magnet Tracking*

FALL PROTECTION PROGRAM

Session 6. Global Imbalances. Growth. Macroeconomics in the Global Economy. Saving and Investment: The World Economy

PREDICTION OF ELECTRICAL PRODUCTION FROM WIND ENERGY IN THE MOROCCAN SOUTH

f i r e - p a r t s. c o m

Multiple Adjunction in Feature-Based Tree-Adjoining Grammar

Example. The information set is represented by the dashed line.

THE performance disparity between processor speed and the

Asteroid body-fixed hovering using nonideal solar sails

PETTIPAUG YACHT CLUB PSA PETTIPAUG SAILING ACADEMY PETTIPAUG JUNIOR SAILING PROGRAM Parent & Sailor Handbook

Prestack signal enhancement by non-hyperbolic MultiFocusing

Range Extension Control System for Electric Vehicles Based on Front and Rear Driving Force Distribution Considering Load Transfer

Interior Rule of the Quebec Open 2017

AIRPLANE PAVEMENT MARKINGS

Project Proposal: Characterization of Tree Crown Attributes with High Resolution Fixed-Base Aerial Photography. by Rich Grotefendt and Rob Harrison

Deception in Honeynets: A Game-Theoretic Analysis

A tale of San Diego County s water. If you had to describe San Diego's weather, you probably would use

Follow this and additional works at:

A. Existing Conditions

Some physical and mechanical properties of date palm trees related to cultural operations industry mechanization

Trees & Routing (1) BFS

Experimental and Numerical Studies on Fire Whirls

THE GREAT CARDBOARD BOAT RACE INTRODUCTION, BOAT BUILDING & RULES by United Way of Elkhart County

Installation and Operation Instructions

RESOLUTION No A RESOLUTION OF THE CITY OF SALISBURY, MARYLAND AUTHORIZING THE MAYOR TO ENTER INTO AN AGREEMENT BETWEEN THE CITY OF

A Study on Brushless DC Motor for High Torque Density

Watford Half Marathon. Watford Half Marathon. Sunday February 5th Starting at 10.30am. Enjoy Your Run!!! Notice to all Entrants.

DECO THEORY - BUBBLE MODELS

Watford Half Marathon. Watford Half Marathon. Sunday February 4th Starting at 10.30am. Enjoy Your Run!!! Notice to all Entrants.

Transcription:

Minimum Cuts in Nea-Linea Time David R. Kage Febuay 1, 2008 axiv:cs/9812007v1 [cs.ds] 8 Dec 1998 Abstact We significantly impove known time bounds fo solving the minimum cut poblem on undiected gaphs. We use a semi-duality between minimum cuts and maximum spanning tee packings combined with ou peviously developed andom sampling techniques. We give a andomized algoithm that finds a minimum cut in an m-edge, n-vetex gaph with high pobability in O(m log 3 n) time. We also give a simple andomized algoithm that finds all minimum cuts with high pobability in O(n 2 log n) time. This vaiant has an optimal RN C paallelization. Both vaiants impove on the pevious best time bound of O(n 2 log 3 n). Othe applications of the tee-packing appoach ae new, nealy tight bounds on the numbe of nea minimum cuts a gaph may have and a new data stuctue fo epesenting them in a space-efficient manne. 1 Intoduction The minimum cut poblem has been studied fo many yeas as a fundamental gaph optimization poblem with numeous applications. Initially, the poblem was consideed a hade vaiant of the s-t minimum cut poblem and was solved in Õ(mn2 ) time (Õ(f) denotes O(f polylogf)) on m-edge, n-vetex gaphs [FF62, GH61]. Impovements then followed: fist to Õ(mn) time [HO94, NI92a], showing that minimum cuts wee as easy to find as maximum flows; then to Õ(n2 ) time [KS96], showing they wee significantly easie. In this pape we give an algoithm with an O(m log 3 n) unning time. Initially peceived as a hade vaiant of the maximum flow poblem, the minimum cut poblem tuns out to be solvable in nea-linea time. Side effects of ou analysis include new combinatoial theoems on the stuctue, enumeation and epesentation of minimum cuts. We also give a elatively simple algoithm that uns in linea time on a lage class of gaphs and uns in O(n 2 log n) time on all gaphs. This algoithm still dominates all pevious ones and can also be paallelized optimally (that is, with time-pocesso poduct no wose than the sequential algoithm s) to yield the best-known RN C algoithm fo the poblem. Ou algoithm is based on a semi-duality between minimum cuts and undiected spanning tee packings. It is theefoe fundamentally diffeent fom past appoaches based on flows o on edge contaction. An algoithm developed by Gabow [Gab95] uses diected tee packing to solve the poblem, but ous appeas to be the fist to use undiected spanning tee packings. It thus intoduces a diffeent appoach to finding minimum cuts in undiected gaphs. 1.1 The Poblem This pape studies the minimum cut poblem. Given a gaph with n vetices and m (possibly weighted) edges, we wish to patition the vetices into two non-empty sets so as to minimize the numbe (o total weight) of edges cossing between them. Moe fomally, a cut (A, B) of a gaph G is a patition of the vetices of G into two nonempty sets A and B. An edge (v, w) cosses cut (A, B) if one of v and w is in A and the othe in B. The value of a cut is the numbe of edges that coss the cut o, in a weighted gaph, the sum of the weights of the edges that coss the cut. The minimum cut poblem is to find a cut of minimum MIT Laboatoy fo Compute Science, Cambidge, MA 02138. email: kage@lcs.mit.edu URL: http://theoy.lcs.mit.edu/ kage. Reseach suppoted in pat by ARPA contact N00014-95-1-1246 and NSF contact CCR-9624239. 1

value. We use c to denote the value of this minimum cut. Thoughout this pape, the gaph is assumed to be connected, since othewise the poblem is tivial. We also equie that the edge weights be non-negative, because othewise the poblem is N P-complete by a tansfomation fom the maximum-cut poblem [GJ79, page 210]. We distinguish the minimum cut poblem fom the s-t minimum cut poblem in which we equie that two specified vetices s and t be on opposite sides of the cut; in the minimum cut poblem thee is no such estiction. 1.2 Applications The minimum cut poblem has seveal applications. Picad and Queyanne [PQ82] suvey applications including gaph patitioning poblems, the study of poject netwoks, and patitioning items in a database. In infomation etieval, minimum cuts have been used to identify clustes of topically elated documents in hypetext systems [Bot93]. The poblem of detemining the connectivity of a netwok aises fequently in issues of netwok design and netwok eliability (one of ou pevious papes [Ka97b] exploits an extemely tight connection between minimum cuts and netwok eliability). Minimum cut computations ae used to find the subtou elimination constaints that ae needed in the implementation of cutting plane algoithms fo solving the taveling salesman poblem [DFJ54, LLKS85]. Padbeg and Rinaldi [PR90] and Applegate [App92] have epoted that solving min-cut poblems was the computational bottleneck in thei state-of-the-at cuttingplane based TSP algoithm, as well as othe cutting-plane based algoithms fo combinatoial poblems whose solutions induce connected gaphs. 1.3 Past Wok The minimum cut poblem was oiginally appoached as a vaiant of the s-t minimum cut poblem and solved using flow techniques [FF62]. The most obvious method is to compute s-t min-cuts fo all vetices s and t; this equies ( n 2) flow computations. Gomoy and Hu [GH61] showed that the poblem could be solved by n flow computations; using pesent flow algoithms [GT88] this gives a time bound of Õ(mn 2 ). Afte a lengthy peiod of little pogess, seveal new algoithms appeaed. Hao and Olin [HO94] showed how the n flow computations could be pefomed in the time fo one, impoving the unning time to Õ(mn). Gabow [Gab95] gave an altenative augmenting-tee scheme that equied Õ(mc) time on an unweighted gaph with minimum cut c. Sampling as an attack on minimum cuts was intoduced in [Ka97a]. We showed that sampling could be used to find appoximate minimum cuts in Õ(m) time and to find them exactly in Õ(m c) time (combining sampling with Gabow s algoithm). The sampling technique is cucial to this pape as well. The above appoaches all use maximum flow techniques that teat undiected gaphs as diected gaphs (Gabow s algoithm packs diected tees athe than diected paths, but still addesses diected gaphs). Recently a flowless undiected-gaph appoach based on edge contaction was discoveed. If we can identify an edge that does not coss the minimum cut, then we can mege its endpoints into a single new vetex without affecting the minimum cut. Pefoming n 2 valid contactions will educe the gaph to two vetices, at which point thee is only one nontivial cut that must theefoe coespond to the minimum cut. Nagamochi and Ibaaki [NI92b, NI92a] devised a spase cetificate computation that found a contactible edge in O(m) time; this led to an O(mn)-time minimum cut algoithm. Kage and Stein [KS96] showed that andom edge contaction woked well, leading to an algoithm unning in O(n 2 log 3 n) time. 1.4 Ou Results In this pape we pesent a diffeent appoach to minimum cuts that yields faste algoithms than wee peviously known. We use a semi-duality between minimum cuts and maximum packings of undiected spanning tees aguably a moe natual dual than the diected flows o diected spanning tees used peviously [GH61, HO94, Gab95]. Ou appoach does not ely fundamentally on flows o edge contactions. Fo a weighted, undiected gaph we give: A andomized algoithm that finds a minimum cut with constant pobability in O(m log 2 n) time and with high pobability in O(m log 3 n) time. This significantly impoves the pevious best O(n 2 log 3 n) bound of [KS96]. A technical efinement impoves the time bound by an additional log log n facto. 2

A vaiant that finds a minimum cut with constant pobability in O(n 2 ) time and finds all (possibly Ω(n 2 )) minimum cuts with high pobability in O(n 2 log n) time. While this only gives a speedup of Θ(log 2 n) ove the algoithm of [KS96], the new algoithm is quite simple, elying only on computing minimum spanning tees, finding least common ancestos and evaluating expession-tees. It uns in O(m) time on a natual class of gaphs. A paallel vesion of ou simple algoithm that uns in O(log 3 n) time using n 2 / log 2 n pocessos. New bounds of Θ(n 2α ) on the numbe of cuts with value at most α times the minimum that a gaph can have. Fo non-half-integal α this impoves on a pevious best geneal bound of O(n 2α ) [Ka93a]. This bound is the fist to match the step function behavio of the known lowe bounds with espect to α. A new data stuctue that epesents all minimum and nea-minimum cuts. Besides being smalle than pevious epesentations [KS96], this epesentation highlights cetain stuctual featues of a gaph s nea-minimum cuts. 1.5 Ou Methods We now summaize the appoach of the pape. At its coe is the following definition: Definition 1.1. Let T be a spanning tee of G. We say that a cut in G k-espects T if it cuts at most k edges of T. We also say that T k-constains the cut in G. Nash-Williams [NW61] poved that any any gaph with minimum cut c contains a set of c/2 edge-disjoint spanning tees. These tees must divide up the c minimum cut edges. It follows that any such tee packing contains a tee that 2-constains the minimum cut. Using this idea, we show that fo any gaph G, we can find (by packing tees) a small set of spanning tees such that evey minimum cut 2-espects some of the spanning tees. This lets us educe to the following poblem: find the minimum cut in G that 2-espects a given spanning tee. While this might appea a hade poblem than the oiginal, it tuns out that the added constaints make the poblem easie. Ou scheme can be thought of as a vaiant of the banch and bound techniques used fo had optimization poblems: we conside seveal families of added constaints, one of which is satisfied by the optimum solution. We can find the optimum by solving each constained optimization poblem. To intoduce ou appoach, we show in Section 2 that a maximum packing of spanning tees always contains many tees that 2-constain any minimum cut. An immediate application of this obsevation in Section 3 yields the tightest known bounds on the numbe of nea-minimum cuts in a gaph. Next we tun to the poblem of actually finding the minimum cut. It follows fom the pevious paagaph that we can find the minimum cut by examining each tee of a maximum packing and finding the smallest cut that 2-espects each tee. Although finding a maximum tee packing is had, we show in Section 4 that Gabow s minimum cut algoithm [Gab95] o the Plotkin-Shmoys-Tados factional packing algoithm [PST91] can be used to find a packing that is sufficient fo ou puposes. Unfotunately, in a gaph with minimum cut c, such a packing contains oughly c tees, so checking all of them is pohibitively slow. Indeed, even finding the packing (with eithe algoithm) takes time popotional to c. To eliminate this facto, we use andom sampling techniques that we developed peviously [Ka97a, Ka94] to educe the packing time to O(m + n log 3 n) and the numbe of tees in the packing to O(log n). Once we have the packing, it emains to examine each tee in it. We begin in Section 5 by showing how to find the smallest cut that 1-espects a given tee in O(m) time. Ou algoithm involves a simple dynamic pogam that detemines the value of the cut induced by emoving each edge of the given tee. Besides intoducing ou techniques, this algoithm can be used to find the minimum cut in O(m + n log 3 n) time on a natual family of fat gaphs containing many spanning tees. In some cases we will not be able to find a tee that 1-constains the minimum cut, so we move on to finding the minimum cut 2-especting a given tee. We pesent two solutions. In Section 6 we extend the simple dynamic pogam of Section 5 to compute the value of the cut induced by emoving each pai of tee edges. The algoithm uns in Θ(n 2 ) time optimal fo an algoithm that computes the values fo all ( ) n 2 3

pais. By unning on O(log n) tees it identifies all minimum cuts with high pobability in O(n 2 log n) time. In Section 6.2, we also show how it can be paallelized optimally. The second algoithm, pesented in Section 7, implicitly consides all ( n 2) pais of tee edges without taking Ω(n 2 ) time to do so. We show how dynamic tee data stuctues [ST83] can be used to evaluate a paticula tee in O(m log 2 n) time. Thus evaluating the necessay O(log n) tees takes O(m log 3 n) time and gives the claimed bound. We finish by giving some extensions of the algoithm: a fast and simple algoithm fo a lage class of fat gaphs, and some efinements that impove the unning time of ou complicated algoithm by some small factos. The initial tee-packing step is the only one using andomization; all subsequent opeations in the algoithm ae deteministic. The fact that andom sampling is used means that ou algoithms, like those of [KS96], ae Monte Calo algoithms. Although the pobability of success is high, thee is no fast way to cetify the coectness of the final answe (indeed, the fastest known method is to use one of the deteministic minimum cut algoithms). 2 Cuts and Tee Packings In this section, we give some backgound on tee packings and thei connection to cut poblems. Fo the moment, let us estict attention to unweighted gaphs. An unweighted tee packing is a set of edge-disjoint spanning tees in a gaph. The value of the packing is the numbe of tees in it. Clealy, evey spanning tee in an unweighted packing must use at least one edge of evey cut. Thus, at most c tees can be packed in a gaph with minimum cut c. Nash-Williams [NW61] gave a elated lowe bound: Theoem 2.1 ([NW61]). Any undiected gaph with minimum cut c contains a tee packing of value at least c/2. Nash-Williams actually poved a tighte esult: if c is the value of the minimum -way cut in the gaph, then the value of the maximum tee packing is exactly min c /( 1). But obseve that the minimum -way cut must have c c/2, since each of the components of the cut must have c edges leaving it. Thus min c 1 min c 2( 1) c/2 Theoem 2.1 is not univesally tight fo example, a single tee has minimum cut 1 and contains one spanning tee. Howeve, it is existentially tight since, fo example, a cycle has minimum cut 2 but has maximum tee packing value 1. We will find late that the tightness of a gaph with espect to tee packings is a facto that detemines the hadness of finding its minimum cuts using ou algoithm. The facto-of-2 gap is paticula to undiected gaphs: Edmonds [Edm72] poved that a diected gaph with diected minimum cut c has a packing of exactly c edge-disjoint diected spanning tees (Gabow exploits this in his minimum cut algoithm [Gab95]). Since any gaph has a packing with c/2 tees, it follows that a maximum packing will contain at least c/2 tees. Conside any minimum cut. Since the edges of the minimum cut must be patitioned among the tees of the maximum packing, the aveage numbe of min-cut edges pe tee is at most c/(c/2) = 2. It follows that at least one of the tees in such a packing has at most 2 minimum-cut edges. In othe wods at least one tee 2-constains the minimum cut. We will stengthen this agument in Lemma 2.3. Fist let us see why it is useful. If we ae given a tee, and ae able to detemine which of its edges coss the minimum cut, then in fact we will have found the minimum cut. Conside a tee in which all minimum cut edges have been maked. Stat at any vetex and tavese the tee path to any othe vetex. Each time we coss a min-cut edge, we know that we have switched sides of the minimum cut. It follows that two vetices ae on the same side of the minimum cut if and only if the numbe of minimum cut edges on the path between them is even. Moe concetely, suppose a tee has only one minimum cut edge. Then emoving this edge sepaates the tee into two subtees, each of which is one side of the minimum cut. If a tee contains two minimum cut edges, then emoving them sepaates the tee into thee pieces. The cental piece that is adjacent to both othe pieces foms one side of the minimum cut, while the two emaining pieces fom the othe side. 4

The above paagaph demonstates that any subset of the tee edges defines a unique two-way cut of the gaph G. It is also clea that evey cut defines a unique set of tee edges namely, those cossing the cut and that this coespondence between cuts and sets of tee edges is a bijection. 2.1 Weighted Packings We now extend the above discussion to ague that many of the tees in a maximum packing must 2-espect that minimum cut. This is useful since it means that a andomly selected tee is likely to 2-constain the minimum cut. We also genealize the tee packing definition to allow fo weighted tees packed into weighted gaphs. Definition 2.2. A (weighted) tee packing is a set of spanning tees, each with an assigned weight, such that the total weight of tees containing a given edge is no geate than the weight of that edge. The value of the packing is the total weight of the tees in it. If all edge and tee weights ae integes, we can teat a weight-w edge as a set of w paallel edges, and a weight w tee as a set of w identical tees. This ecoves the unweighted notion of a tee packing as a set of edge-disjoint tees. The value of the packing becomes the numbe of (unweighted) tees. The definition also allows fo factional weights. This can be ignoed, though, since we can always multiply all edge and tee weights by the least common denominato of the factions to etun to the integal vesion. It follows that Nash-Williams Theoem 2.1 applies unchanged to weighted tee packings. Lemma 2.3. Given any weighted tee packing of value βc and any cut of value αc, at least a 1 2 (3 α/β) faction of the tees (by weight) 2-constain the cut. Coollay 2.4. In any maximum packing, half the tees (by weight) 2-constain the minimum cut. Poof. Suppose that tee T has weight w T (so T w T = βc) and that we choose a tee T at andom with pobability popotional to its weight. Define the andom vaiable x T to be one less than the numbe of edges of T cossing the α-minimum cut. Note that x T is always a nonnegative intege. Since we have a packing, we know that no α-minimum cut edges ae shaed between the tees. It follows that wt (x T + 1) αc wt x T αc w T and thus αc βc E[x T ] = 1 wt wt x T (α/β 1) It follows fom Makov s inequality that x T < 2 with pobability at least 1 1/2(α/β 1) = 1 2 (3 α/β). Since x T is an intege, x T < 2 implies that x T 1, meaning that the α-minimum cut 2-espects T. The coollay follows immediately by taking α = 1 and obseving the β 1/2 by Theoem 2.1. 3 Combinatoics As a fist application of the concept of especting constaint tees, we tighten the bounds on the numbe of small cuts in a gaph. This section can be skipped without impacting the emainde of the pape. Ou discussion is limited to two-way cuts that is, sets set of edges cossing a two-way vetex patition. In contast, the combinatoial esults of [KS96] also apply to multiway cuts. Definition 3.1. A cut in G is α-minimum if its value is at most α times the minimum cut value. 5

In [Ka93a, Ka97a], we poved that the numbe of α-minimum cuts in a gaph is O(n 2α ). Othes have since tightened this bound fo small α: Benczu [Ben95] bounded the numbe of 6/5-minimum cuts by O(n 2 ), Nagamochi, Nishimua and Ibaaki [NNI94] gave a bound of O(n 2 ) fo the numbe of 4/3-minimum cuts, and subsequently Henzinge and Williamson [HW96] showed that the numbe of cuts stictly less than 3/2 times the minimum is O(n 2 ). In an unweighted n-vetex cycle, any even-size set of up to 2α edges is the edge set of an α-minimum cut. Theefoe, the numbe of α-minimum cuts can be as lage as ( n 2 ) + ( n 4 ) + + ( n 2α ) = Θ(n 2α ). (1) We give an uppe bound that is vey close to this lowe bound, matching its step function behavio as a function of α. Ou bound uses tee packings. It simplifies the poof to estict attention to unweighted tee packings collections of edge-disjoint spanning tees in unweighted gaphs. The discussion of the pevious section showed that this loses no geneality. We begin with a weak but easily poved lemma: Lemma 3.2. Fo any constant α, thee ae O(n 2α ) α-minimum cuts. Poof. Let k = 2α. Numbe the α-minimum cuts fom 1 to l. Ou goal is to bound l by O(n k ). Recall Nash-Williams Theoem 2.1 [NW61] which says that any gaph with minimum cut c contains at least c/2 edge-disjoint spanning tees. Suppose that we pick one of these tees at andom. Let y i = 1 if we pick a tee that k-constains the i th α-minimum cut and 0 othewise. Since this cut contains at most αc edges and each edge is in at most one of ou c/2 spanning tees, the expected numbe of cut edges in ou chosen spanning tee is at most 2α. It follows fom Makov s inequality [MR95] and the fact that 1 + 2α > 2α that the chosen tee has at most k = 2α cut edges with constant pobability. That is, y i = 1 with constant pobability, meaning E[y i ] = Ω(1). Thus l l E[ y i ] = Ω( 1) = Ω(l). i=1 On the othe hand, as discussed in the pevious section, each cut that k-espects a given tee is in 1-1 coespondence with the set of at most k edges of the tee that it cuts. Thee ae O(n k ) such sets of edges, so no tee can k-constain moe than this many cuts. Thus i=1 E[ y i ] max y i = O(n k ). Combined with the pevious bound, this means l = O(n k ) as claimed. We now give a stonge esult with a moe complicated poof. Theoem 3.3. The numbe of α-minimum cuts is at most ( ) 1 n (1 + O(1/n)). 2α + 1 2α 2α Remak. Fo α a half intege, this quantity is within 1 + o(1) of the lowe bound in Equation 1. The bound emains tight to within a constant facto fo all values of α except those infinitesimally less than an intege (e.g., α = 3 1/n). Fo such values, we get a bette bound by consideing cuts of value at most 2α /2; since this is a half-intege the theoem gives a bound of ( n 2α ) (1 + o(1)). Poof. As befoe, we assume G is unweighted and pack c/2 edge-disjoint tees in the gaph. Conside a bipatite gaph B, with one side consisting of the tees in the Nash-Williams packing, and the othe of the α-minimum cuts. To avoid confusion, we efe to the vetices of this bipatite gaph as nodes and to its edges as acs. Daw an ac fom a tee-node T to a cut-node C if the tee k-constains the cut in G. We will now assign weights to these acs so that: 1. evey tee node in B has weighted ac degee at most some D; 6

2. evey cut node in B has weighted ac degee at least some d Since thee ae c/2 tees in the packing, we see fom (1) that the total weight of acs in B is at most cd/2. It follows fom (2) that the numbe of cuts in B is at most cd/2d. We show that this quantity can be made small by an appopiate choice of ac weights. We now define the weight assignment. Let k = 2α. Fo a given ac (T, C), if tee T -constains cut C fo some k but does not ( + 1)-constain C, then we give the ac weight 1+k. If moe than k edges of T coss the cut C, we give the ac weight 0. Since a tee can exactly -constain at most ( n ) distinct cuts, if follows that the tee-side degee D 1 k ( ) n (1 + k ) = ( ) n (1 + O(1/n)). k Now conside the cut-side degee d. Take any cut C. Fo tee T, let T denote the numbe of edges of T that coss C. Then the weighted degee of C can be witten as (1 + k T ) T k(1 + k T ) T = (1 + k)(c/2) T T (1 + k)(c/2) αc = (1 + k 2α)(c/2), whee the fist inequality follows fom the fact that all the tems being added to the summation on the ight hand side ae negative, and the second fom the fact that T T αc since each of the αc edges of the cut contibute to T fo at most one T. This is a lowe bound on the weight d incident on any cut-side node in B. Since we have shown above that D ( n k) (1 + O(1/n)), it follows that ou bound on the numbe of cut nodes, cd/2d, is no moe than the bound claimed in the statement of the theoem. Note that ou weight assignment analysis woks fo any value of k, but that taking k = 2α gives the best atio. An agument based on linea pogamming duality can be used to show that this poof cannot be impoved: no othe assignment of ac weights can give a bette bound. 3.1 Weighted Gaphs Although ou poof discussed only unweighted gaphs, it clealy extends to weighted gaphs as well. One way to see this is to edo the poof with a weighted tee packing, but this becomes notationally messy. A simple way to extend the agument to gaphs with intege edge weights is to eplace a weight-w edge with w paallel unweighted edges, ceating an unweighted gaph with the same nea-minimum cuts. This agument can be extended to gaphs with ational edge weights as well: simply multiply all edge weights by thei least common denominato, ceating an intege-weighted gaph with the same nea minimum cuts. Finally, eal valued edge weights can be handled by consideing them as the limits of ational-valued edge weight sequences. 3.2 Discussion Note that a cycle has exactly ( n 2α ) + + ( n 2) minimum cuts. Thus fo α a half intege, ou uppe bound is tight to within 1 + o(1). The gap widens when α is between two half-integes, eaching Θ(n) when α is infinitesimally less than a half-intege. No family of gaphs has been exhibited which has moe α-minimum cuts than the cycle, so one is tempted to conjectue that the bound fo the cycle is also the uppe bound. The only counteexample of which we ae awae is the 4-clique [NNI94], which has 10 4/3-minimum cuts (each singleton o pai of vetices) as compaed to the 6 of a 4-cycle. But pehaps this is a unique exception. Anothe inteesting open question egads the numbe of cuts stictly less than α times the minimum. Fo α a half intege, ou above theoem only gives a bound of O(n 2α ); a bound of O(n 2α ), as exhibited by the cycle, seems moe plausible. Such a bound has been poven fo α = 3/2 [HW96]. 7

4 Algoithms fo Finding Good Tees We now apply the ideas of the pevious combinatoial sections algoithmically. We pove that in any gaph, we can find quickly a small set of tees such that the minimum cut 2-espects some of them. Theefoe, we can find the minimum cut by enumeating only the cuts that 2-espect these few tees. 4.1 Packing Algoithms Finding the tees is in a sense tivial fom the peceding discussion, which showed that a maximum tee packing had the ight popety. Unfotunately, maximum tee packings in undiected gaphs ae had to find. Gabow and Westemann [GW92] gave an algoithm fo unweighted gaphs that uns in Õ(min(mn, m2 / n)) time. Baahona [Ba95] gives an algoithm with an Õ(mn) unning time fo weighted gaphs. Both of these unning times ae damatically lage than the one we want to achieve, so we will use two othe appoaches that find non-maximum tee packings. One appoach is due to Gabow. Although it does not yield a maximum packing, it yields a packing of value c/2 sufficient fo out puposes. Gabow s algoithm is actually an algoithm fo diected gaphs: in such a gaph, it finds the c diected spanning tees guaanteed by Edmonds theoem [Edm72] in O(mc log(n 2 /m)) time. We can use this algoithm by tuning each of ou undiected gaph s edges into two edges, one in each diection. This gives us a diected gaph with minimum cut c. Gabow s algoithm finds a packing of c diected-edge disjoint tees in this gaph. If we now ignoe edge diections, we get a set of c tees such that each of ou undiected edges is in at most 2 tees. It follows that if we give each of ou tees a weight of 1/2, we have a packing of value c/2 to which ou pevious aguments (Lemma 2.3) apply. An altenative appoach is due to Plotkin, Shmoys, and Tados [PST91]. They give an algoithm that packs spanning tees by epeatedly adding one weighted tee to the packing. Which tee to add and the weight it is given ae detemined by a minimum-cost spanning tee computation, using costs detemined by the cuent packing. Afte Õ(c/ǫ2 ) iteations (which take time Õ(mc/ǫ2 )), the packing has value at least (1 ǫ) times the maximum, and thus at least (1 ǫ)c/2. Although it is moe complicated that Gabow s algoithm in that it woks with factional value, this method has the attaction of woking only with undiected spanning tees, emphasizing that ou algoithm is able to avoid any eliance on diectedgaph algoithms. It will also be useful when we develop paallel algoithms. 4.2 Sampling Unfotunately, both of the above algoithms have unning times dependent on c, so using them diectly is unacceptable. Howeve, we now show use a andom sampling step to educe the effective minimum cut in the gaph to O(log n), which means that both schemes can un in Õ(m) time. Theoem 4.1. Given any weighted undiected gaph G, in O(m + n log 3 n) time we can constuct a set of O(log n) spanning tees such that the minimum cut 2-espects 1/3 of them with high pobability. Poof. In a pevious pape [Ka97a], we showed how to constuct, in linea time fo any ǫ, a skeleton gaph H on the same vetices with the following popeties: H has m = O(nǫ 2 log n) edges, the minimum cut of H is c = O(ǫ 2 log n), the minimum cut in G coesponds (unde the same vetex patition) to a (1 + ǫ)-times minimum cut of H. We aleady know that any tee packing of value c /2 in the skeleton H will have many tees that 2- constain the minimum cut in H. Intuitively, fo small ǫ, since the minimum cut in G is a nea-minimum cut in H, the tee packing will also contain many tees that 2-constain this nea minimum cut. We now fomalize this intuition. Set ǫ = 1/6 in the skeleton constuction. Since H has minimum cut c, Gabow s algoithm can be used to find a packing in H of weight c /2 in O(m c log n) = O(n log 3 n) time. The oiginal minimum cut of G has at most (1 + ǫ)c edges in H, so by Lemma 2.3, a faction 1 2 (1 2ǫ) = 1/3 of the tees 2-constain this cut 8

in H. But this (1 + ǫ)-minimum cut of H has the same vetex patition as the minimum cut of G, implying that the same tees 2-constain the minimum cut of G. Remak. The andomized constuction of the skeleton in this poof is the only step of ou minimum cut algoithm that involves andomization. A deteministic eplacement of Theoem 4.1 would yield a deteministic minimum cut algoithm. An altenative constuction based on the Plotkin-Shmoys-Tados algoithm can also be applied to the sample. We can use that algoithm to find a tee packing of value (1 δ)c /2 in O(n log 3 n) time fo any constant δ. Lemma 2.3 again shows that fo δ = ǫ = 1/6, say, a 1/10 th faction of the packed weight 2-constains the (1 + ǫ)-minimum cut in H that coesponds to the minimum cut in G. Thus, if we choose a andom tee (with pobability popotional to its weight), thee is a constant pobability that it 2-constains the minimum cut. Pefoming O(log n) such andom selections picks at least one tee that 2-constains the minimum cut with high pobability (In fact, since the algoithm only packs O((log n)/δ 2 ) distinct tees we can even affod to ty them all). This gives anothe O(m + n log 3 n)-time algoithm fo finding a good set of tees. It also has the following coollay that will be applied to ou paallel minimum cut algoithm. Coollay 4.2. In RN C using m+n logn pocessos and O(log 3 n) time, we can find a set of O(log n) spanning tees such that with high pobability, a constant faction of them (by weight) 2-constain the minimum cut. Poof. The skeleton constuction can be pefomed as befoe (and is tivial to paallelize [Ka97a]). We have just agued that the algoithm of [PST91] can find an appoximately maximum packing in the skeleton using O(log 2 n) minimum spanning tee computations. Minimum spanning tees can be found in paallel using m pocessos and O(log n) time [JM92], and the othe opeation of [PST91] ae tivial to paallelize with the same time and pocesso bounds. Thus the claimed bounds follow. The emainde of this pape is devoted to the following question: given a tee, find the minimum cut that 2-espects it. Applying the solution to the O(log n) tees descibed by the pevious lemma shows that we can find the minimum cut with high pobability. This gives the following lemma: Lemma 4.3. Suppose the minimum cut that 2-espects a given tee can be found in T(m, n) time. Then the minimum cut of a gaph can be found with constant pobability in T(m, n) + O(m + n log 3 n) time and with high pobability in O(T(m, n)log n + m + n log 3 n) time. Poof. We have seen above that a constant faction (by weight) of the tees in ou skeleton packing 2- constain the minimum cut. So choosing a tee at andom and analyzing it yields the minimum cut with constant pobability. Tying all O(log n) tees identifies the minimum cut with high pobability so long as the skeleton constuction woked, which happens with high pobability. We give two algoithms fo analyzing a tee. The fist algoithm (in Section 6) uses the fact that a tee contains only ( n 2) pais of edges, one of which defines the minimum cut 2-especting the tee. A vey simple dynamic pogamming step is used to compute the cut values defined by all ( n 2) pais of edges in O(n 2 ) time. The second algoithm (in Section 7) aims fo a linea-time bound, and must theefoe avoid enumeating all pais of edges. We descibe local optimality conditions showing that only cetain pais of edges can possibly be the pai defining the minimum cut, and give an algoithm that uns quickly by only tying these plausible pais. 5 Minimum Cuts that 1-Respect a Tee To intoduce ou appoach to analyzing a paticula tee, we conside a simple special case: a tee that 1-constains the minimum cut. In such a tee thee is one tee edge such that, if we emove it, the two esulting connected subtees coespond to the two sides of the minimum cut. This section is devoted to a poof of the following: Lemma 5.1. The values of all cuts that 1-espect a given spanning tee can be detemined in O(m+n) time. 9

Coollay 5.2. The minimum cut that 1-espects a given spanning tee can be found in O(m + n) time. We have aleady seen that being able to identify all cuts that 2-espect a tee will let us find the minimum cut. Late, we will exhibit a class of gaphs fo which finding the minimum 1-especting cut will suffice fo finding the minimum cut. We begin with some definitions. Suppose that we oot the tee at an abitay vetex. Definition 5.3. v is the set of vetices that ae descendants of v in the ooted tee, including v. Definition 5.4. v is the set of vetices that ae ancestos of v in the ooted tee, including v. Note that v v = v. Definition 5.5. C(X, Y ) is the total weight of edges cossing fom vetex set X to vetex set Y. In paticula, C(v, w) is the weight of the edge (v, w) if it exists, and 0 othewise. Definition 5.6. C(S) is the value of the cut whose one side is vetex set S, i.e. C(S, S). Once we have ooted the tee, the cuts that 1-espect the tee have the fom C(v ) fo vetices v. Using this obsevation, we now pove Lemma 5.1. 5.1 1-especting a path As a fist step, suppose the tee is in fact a path v 1,..., v n ooted at v 1. We compute all values C(v i ) in linea time using a dynamic pogam. Fist compute C(v i, v i ) and C(v i, v i ) fo each v i; this takes one O(m)-time tavesal of the vetices adjacency lists. We now claim that the following ecuence applies to the cut values: C(v n ) = C(v n, v n ) C(v i ) = C(v i+1 ) + C(v i, v i ) C(v i, v i ) This ecuence follows fom the fact that when we move v i fom below the cut to above it, the edges fom v i to its descendants become cut edges while those fom v i to its ancestos stop being cut edges. It follows that all n cut values can be computed in O(n) time by woking up fom v n. 5.2 1-especting a tee We now extend ou dynamic pogam fom paths to geneal tees. Definition 5.7. Given a function f on the vetices of a tee, the teefix sum of f, denoted f, is the function f (v) = w v f(w). Lemma 5.8. Given the values of a function f at the tee nodes, all values of f can be computed in O(n) time. Poof. Pefom a postode tavesal of the nodes. When we visit a node v, we aleady will have computed (by induction) the values at each of its childen. Adding these values takes time popotional to the degee of v; adding in f(v) gives us f (v). Thus, the oveall computation time is popotional to the sum of the node degees, which is just the numbe of tee edges, namely n 1. We now compute the values C(v ) via teefix sums. Let δ(v) denote the (weighted) degee of vetex v. Let ρ(v) denote the total weight of edges whose endpoints least common ancesto is v. Lemma 5.9. C(v ) = δ (v) 2ρ (v). 10

Poof. The tem δ (v) counts all the edges leaving descendants of v. This coectly counts each edge cossing the cut defined by v, but also double-counts all edges with both endpoints descended fom v. But an edge has both endpoints descended fom v if and only if its least common ancesto is in v. Thus the total weight of such edges is ρ (v). Now note that the functions δ(v) and ρ(v) can both be computed fo all v in O(m) time. Computing δ is tivial. Computing ρ is tivial if we know the least common ancesto of each edge, but these can be detemined in O(m) time [GT85, BV93, SV88]. Fom these quantities, accoding to Lemma 5.8, two O(n)-time teefix computations suffice to detemine the minimum cut. This poves Lemma 5.1. In Section 8, we will descibe a class of gaphs fo which this 1-espects test is sufficient to find the minimum cut. 6 Minimum Cuts that 2-espect a Tee in O(n 2 ) Time We now extend ou dynamic pogam to find the minimum cut that 2-espects a given tee in O(n 2 ) time. This will immediately yield an O(n 2 log n)-time algoithm fo finding all minimum cuts. The dynamic pogam can be paallelized, yielding an n 2 -pocesso RN C algoithm fo the poblem. The tace of the dynamic pogam also povides a small-space data stuctue epesenting all the nea-minimum cuts. 6.1 A sequential algoithm This section is devoted to poving the following: Lemma 6.1. The values of all cuts that 2-espect a given tee can be found in O(n 2 ) time. A sequential algoithm is an immediate coollay (using Lemma 4.3): Theoem 6.2. Thee is a Monte Calo algoithm that finds a minimum cut with constant pobability in O(n 2 ) time and finds all minimum cuts with high pobability in O(n 2 log n) time. We now pove the lemma. Afte ooting the given tee and applying the algoithm of Section 5 in case some tee 1-constains the minimum cut, we can assume that (fo the ight tee) exactly 2 edges coss the minimum cut. These two edges ae the paent edges of two vetices v and w. Definition 6.3. We say vetices v and w ae incompaable, witing v w, if v / w and w / v. In othe wods, v and w incompaable if they ae not on the same oot-leaf path. Suppose the minimum cut that 2-espects the tee cuts the paent edges of vetices v and w. If v w, then the paent edges of v and w define a cut with value C(v w ). If (without loss of geneality) v w, then thei paent edges define a cut with value C(w v ). We stat with the fist case. Assuming v w, C(v w ) = C(v ) + C(w ) 2C(v, w ) because C(v ) and C(w ) each include the edges of C(v, w ) that should not be counted in C(v w ). Since the values C(v ) ae aleady computed fo all v, we need only compute C(v, w ) fo evey v and w. This can be done using teefix sums as in the pevious section. Fist, let f v (w) = C(v, w) be the weight of the edge connecting v to w, o 0 if thee is no such edge. It follows that Theefoe, we can detemine all n 2 values f v(w) = C(v, w ). g w (v) = C(v, w ) = f v(w) 11

in O(n 2 ) time by pefoming n teefix computations, one fo each f v. At this point, since g w(v) = C(v, w ), we can detemine all the desied quantities with anothe n teefix sums, one fo each g w. Now conside the second case of v w. In this case, C(w v ) = C(w ) C(v ) + 2C(v, w v ), fo subtacting C(v ) fom C(w ) coectly subtacts the edges connecting v to w, but also incoectly subtacts all the edges unning fom v to w v. But we claim that C(v, w v ) = g w(v) 2ρ (v). Fo g w (v) counts evey edge with one endpoint in v and the othe in w, which includes eveything we want to count but also incoectly counts (twice) all edges with both endpoints in v. This is cancelled by the subtaction of 2ρ (v). Thus, once we have computed g w, computing the cut value fo each pai v w in O(n 2 ) time is tivial. 6.2 A paallel algoithm We can paallelize the above algoithms. Note that they involve two main steps: finding a pope packing of tees and finding the minimum cut constained by each tee. Recall fom Coollay 4.2 that the algoithm of [PST91] can be used to find a satisfactoy packing in O(log 3 n) time using m + n log n pocessos. So we need only paallelize the above algoithms fo a paticula tee. But the only computations pefomed thee ae least common ancesto lookups, which can be pefomed optimally in paallel by, e.g., the algoithm of Schiebe and Vishkin [SV88]; and teefix sum computations, which can also be pefomed optimally in paallel [KR90, Section 2.2.3]. Coollay 6.4. Minimum cuts can be found in RN C with high pobability in O(log 3 n) time using n 2 / log 2 n pocessos fo geneal gaphs. 6.3 Data Stuctues Peviously, a linea-space epesentation of all minimum cuts was known [DKL76], but the best epesentation of appoximately minimum cuts fo geneal α equied Θ(n 2α ) space [KS96]. Benczu [Ben95] gave an O(n 2 )- space epesentation fo α < 6/5. We can now do bette. Theoem 6.5. Given a gaph with k α-minimum cuts, α < 3/2, thee is a data stuctue that epesents them in O(k + n log n) = O(n 2 ) space that can be constucted in O(n 2 log n) time o in RN C using n 2 pocessos. The value of a nea-minimum cut can be looked up in O(n) time. Poof. The output of ou Õ(n2 )-time algoithm can seve as a data stuctue fo epesenting the neaminimum cuts that 2-espect the tee it analyzes. We simply list the pais of edges that togethe induce a nea minimum cut. Now conside any α < 3/2. We know that with high pobability evey α-minimum cut 2-espects one of the O(log n) tees we inspect and will theefoe be found. Notice that given a cut (specified by a vetex patition) we can use this data stuctue to decide if it is α-minimum, and if so detemine its value, in O(n log n) time: simply check, fo each of the O(log n) tees in the data stuctue, whethe at most 2 tee edges coss the cut. If the cut is a small cut, thee will be some tee fo which this is tue. We will have ecoded the value of the cut with the edge pai (o singleton) that cosses it. We can impove this quey time to O(n) if we use a pefect hash function to map each vetex set that defines a small cut to a size-o(k) table that says which tee that paticula small cut 2-espects. Given a quey (vetex set) we can map that vetex set into the hash table and check the one tee indicated by the appopiate table enty. 12

In the sequential case, this data stuctue can actually be constucted deteministically if we ae willing to take some exta time. Simply pefom the initial tee packing in the oiginal gaph athe than the skeleton. By Lemma 2.3, we know that any one minimum cut 2-espects at least half the tees of this packing. Thus, if we pick a andom tee, we expect it to 2-constain half the minimum cuts. It follows that some tee 2-constains half the minimum cuts. We can find such a tee deteministically via an exhaustive seach. Fist, enumeate all the small cuts using, fo example, the deteministic algoithm of [VY92]. Then, check each tee to find one that 2-constaints half the minimum cuts. In the case of an unweighted gaph, we must check c < m tees. In a weighted gaph, we can stat fom a maximum packing with a polynomial numbe of distinct tees in it [Ba95] so that we can check them all in polynomial time. We now ecusively find tees that 2-constain the emaining minimum cuts that the fist tee missed. Since we halve the numbe of emaining min-cuts each time, we only need log 2 n 2α tees. We can easily extend this appoach to epesent α-minimum cuts fo any constant α. Simply obseve that Theoem 4.1 genealizes to ague that of the O(log n) tees we find thee, a constant faction will 2α espect any given α-minimum cut with high pobability. We can theefoe epesent all α-minimum cuts by consideing all sets of 2α edges in each tee. Fo any one tee, the values induced by all sets of 2α edges can be found in O(n 2α ) time using teefix computations as above. Lemma 6.6. Thee is a data stuctue that epesents all k of the α-minimum cuts in a gaph using O(n log n+kα) = O(αn 2α ) space. Its andomized constuction equies O(n 2α ) time and space o O(n 2α ) pocessos in RN C. It can also be constucted deteministically in polynomial time. 7 Nea-Linea Time We now econside the algoithm of Section 6 and show how its objective can be achieved in O(m log 2 n) time on any given tee. In this section we pove the following lemma. Lemma 7.1. The minimum cut that 2-espects a tee can be found in O(m log 2 n) time. Applying Lemma 4.3 yields ou main theoem: Theoem 7.2. The minimum cut of a gaph can be found with constant pobability in O(m log 2 n+n log 3 n) time o with high pobability in O(m log 3 n) time. To pove the lemma, as in Section 6, we fist conside finding the pai minimizing C(v w ) fo v w; the almost identical case of minimizing C(w v ) fo v w is defeed to the end of the section. Rathe than explicitly computing C(v w ) fo all pais v and w, which clealy takes Θ(n 2 ) time, we settle fo finding fo each v a vetex w that minimizes C(v w ). This will clealy let us identify the minimum cut. 7.1 Pecuts Recall that fo any vetices w v, C(v w ) = C(v ) + C(w ) 2C(v, w ). We now facto out the contibution of C(v ) to this quantity: Definition 7.3. The v-pecut at w, denoted C v (w), is the value if w v and othewise. C v (w) = C(v w ) C(v ) = C(w ) 2C(v, w ) Definition 7.4. The minimum v-pecut, denoted C v, is the value min{c v (w) (v, w ) E, v v, w w } The point of this somewhat odd definition is to notice that fo a given v, only cetain vetices w ae candidates fo foming the minimum cut with v, as is seen in the following lemma. 13

Lemma 7.5. If it is defined by incompaable vetices, the minimum cut is min v (C(v ) + C v ). Poof. Let the minimum cut be induced by v and a vetex w v. It suffices to show that w is in the set ove which we minimize to define C v in Definition 7.4. But this follows fom the fact that each side of the minimum cut induces a connected subgaph of G, fo this implies that thee must be an edge (v, w ) fom v to w. To see that each side of the minimum cut must be connected, note that if one side of the minimum cut has two disconnected components then we can educe the cut value by moving one of these components to the othe side of the cut. Suppose that we have aleady used the linea-time pocedue of Section 5 to compute the values C(v ) fo evey v. It follows fom Lemma 7.5 that it suffices to compute C v fo evey vetex v: the minimum cut can then be found in O(n) time. We now show how these minimum pecuts can be computed in O(m log 2 n) time on any tee. We fist show that we can find C v fo a leaf v in time popotional to its degee. We then extend this appoach to handle a bough a path ising fom a leaf until it eaches a vetex with moe than one child. Finally, we handle geneal tees by epeatedly puning boughs. We begin by giving each vetex w a vaiable val[w]. While woking on vetex v, this vaiable will be used to accumulate C v (w). Initially, we set val[w] = C(w ). 7.2 A Leaf Fist conside a paticula leaf v. To compute C v, conside the following pocedue: 1. Fo each vetex w, subtact 2C(v, w ) fom val[w] (so that val[w] = C v (w)). 2. C v is the minimum of val[w] ove all w v that ae ancestos of a neighbo of v. The coectness of this pocedue follows fom Lemma 7.5, the initialization of val[w], and the definition of C v. To implement this pocedue efficiently, we use the dynamic tee data stuctue of Sleato and Tajan [ST83]. Given a tee, this stuctue suppots (among othes) the following opeations on a node v: AddPath(v, x): add x to val[u] fo evey u v. MinPath(v): etun min u v val[u] as well as the u achieving this minimum. Each such dynamic tee opeation takes O(log n) amotized time steps. We use dynamic tees to compute C v. Recall that C(v, u) is the weight of the edge connecting vetices v and u, o 0 if no such edge exists. Apply pocedue LocalUpdate fom Figue 7.2. Algoithm LocalUpdate(v) 1. Call AddPath(v, ). 2. Fo each edge (v, u), call AddPath(u, 2C(v, u)). 3. Fo each edge (v, u), call MinPath(u) 4. Retun the minimum esult of Step 3. Figue 1: pocedue LocalUpdate Lemma 7.6. Afte Step 2 in a call to LocalUpdate(v), evey w has val[w] = C v (w). Poof. Step 1 assigns an infinite val[w] to evey ancesto w of v, as equied in the definition of C v (w). Next, 2C(v, u) is subtacted in Step 2 fom evey val[w] such that u w. Theefoe, the total amount subtacted fom val[w] is 2C(v, w ), as equied in Definition 7.3. It follows that afte Step 2, val[w] = C v (w). 14

Lemma 7.7. LocalUpdate(v) called on a leaf v etuns C v. Poof. Step 3 minimizes ove w v that ae ancestos of neighbos of v. Accoding to Definition 7.4 this will identify C v. It follows that fo a leaf v with d incident edges, we can find C v via O(d) dynamic tee opeations that equie O(d log n) time. 7.3 A Bough We genealize the above appoach. Let a bough be a maximal path stating at a leaf and taveling upwads until it eaches a vetex with moe than one child (this vetex is not in the bough). Lemma 7.8. Let v be a vetex with a unique child u. Then eithe C v = C u, o else C v = C v (w) fo some ancesto w of a neighbo of vetex v. In othe wods, given the value C u, we need only check ancestos of neighbos of v to detemine C v. Poof. We know that C v = C v (w) fo a cetain w. Suppose w is not an ancesto of a neighbo of v. Then thee is no edge fom v to w, meaning C(v, w ) = C(u, w ). It follows that C u C u (w) = C v (w) = C v. But u v implies that fo any x, C(u, x ) C(v, x ), so we know that C u C v. Theefoe C u = C v. We use the above lemma in an algoithm fo pocessing an entie bough. Given a bough with d edges incident in total on its vetices, we show how to pocess all vetices in the bough in O(d log n) time. We use the ecusive pocedue MinPecut fom Figue 7.3. This pocedue is initially called on the topmost vetex in the bough. Although we have fomulated the pocedue ecusively to ease the poof exposition, it may be moe natual to unoll the ecusion and think of the algoithm as executing up fom a leaf. Algoithm MinPecut(v) if v is the leaf of the bough call LocalUpdate(v) (also computes C v ) else Let u be the child of v c 1 MinPecut(u) (updates some val[ ] enties) c 2 LocalUpdate(v) etun min(c 1, c 2 ) Figue 2: pocedue MinPecut We claim that MinPecut computes the desied quantity. To pove this, we pove a stonge statement by induction: Lemma 7.9. A call to MinPecut(v) 1. sets val[w] = C v (w) fo each w, and 2. etuns C v. Poof. By induction. We fist pove Claim 1. The base case is fo v a leaf, and follows fom ou analysis of LocalUpdate fo a leaf in Lemmas 7.6 and 7.7. Now suppose v has child u. Afte calling MinPecut(u), we know by induction that val[w] = C u (w). Thus, afte we execute LocalUpdate(v), which (as shown in Lemma 7.6) deceases each val[w] by C(v, w ), enty val[w] is updated to be C u (w) 2C(v, w ) = (C(w ) 2C(u, w )) 2C(v, w ) = C(w ) 2C(v u, w ) = C(w ) 2C(v, w ) = C v (w) 15