A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University Joint work with Uri Feige.

Slides:



Advertisements
Similar presentations
Graph Partitioning Problems Lecture 18: March 14 s1 s3 s4 s2 T1 T4 T2 T3 s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2.
Advertisements

CSC 421: Algorithm Design & Analysis
Greedy Algorithms Greed is good. (Some of the time)
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Heuristics for the Hidden Clique Problem Robert Krauthgamer (IBM Almaden) Joint work with Uri Feige (Weizmann)
Approximation Algorithms for TSP
Approximative Kernelization: On the Trade-off between Fidelity and Kernel Size joint with Michael Fellows and Frances Rosamond Charles Darwin University.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Polynomial Time Approximation Schemes Presented By: Leonid Barenboim Roee Weisbert.
Combinatorial Algorithms
Interchanging distance and capacity in probabilistic mappings Uriel Feige Weizmann Institute.
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
Lectures on Network Flows
The number of edge-disjoint transitive triples in a tournament.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Balanced Graph Partitioning Konstantin Andreev Harald Räcke.
1 Approximation Algorithms for Demand- Robust and Stochastic Min-Cut Problems Vineet Goyal Carnegie Mellon University Based on, [Golovin, G, Ravi] (STACS’06)
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
Prize Collecting Cuts Daniel Golovin Carnegie Mellon University Lamps of ALADDIN 2005 Joint work with Mohit Singh & Viswanath Nagarajan.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
(work appeared in SODA 10’) Yuk Hei Chan (Tom)
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Induction and recursion
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
A Fast Algorithm for Enumerating Bipartite Perfect Matchings Takeaki Uno (National Institute of Informatics, JAPAN)
Simple and Improved Parameterized Algorithms for Multiterminal Cuts Mingyu Xiao The Chinese University of Hong Kong Hong Kong SAR, CHINA CSR 2008 Presentation,
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Batch Scheduling of Conflicting Jobs Hadas Shachnai The Technion Based on joint papers with L. Epstein, M. M. Halldórsson and A. Levin.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
Approximation Algorithms
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
10. Lecture WS 2006/07Bioinformatics III1 V10: Network Flows V10 follows closely chapter 12.1 in on „Flows and Cuts in Networks and Chapter 12.2 on “Solving.
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
Graph Partitioning using Single Commodity Flows
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Approximation Algorithms based on linear programming.
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
CSC 421: Algorithm Design & Analysis
CSC 421: Algorithm Design & Analysis
CSC 421: Algorithm Design & Analysis
Lectures on Network Flows
Approximating k-route cuts
Computability and Complexity
Chapter 6. Large Scale Optimization
CS 583 Analysis of Algorithms
On the effect of randomness on planted 3-coloring models
CSC 421: Algorithm Design & Analysis
Chapter 6. Large Scale Optimization
Presentation transcript:

A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University Joint work with Uri Feige

2 Graph bisection Let G(V,E) be a graph on n vertices A cut (S,V \ S) is the set of edges with one endpoint in S and one endpoint in V \ S. The cost of a cut is the number of edges in it. SV\SV\S The cut is called a bisection if |S|=|V \ S|=n/2. Let b denote the minimum cost of a bisection.

3 The minimum bisection problem No hardness of approximation is known. –Perhaps has a PTAS. (PTAS = approximation within any fixed ratio  >1) We wish to approximate b in polynomial time –I.e., find bisection of cost   ·b. –  > 1 is called the approximation ratio. Computing the minimum bisection cost b –is an NP-hard problem [GJS76] –that has many applications …

4 Previous work Bicriteria (or pseudo-) approximation algorithms: –A cut (S,V \ S) is 2/3-balanced if n/3  |S|,|V \ S|  2n/3 –[LR88] can find a 2/3-balanced cut cost O(b·log n). –Useful for many applications, –but does not approximate b. Approximation algorithms: –[SV91] show approximation ratio n/2. –[FKN00] show approximation ratio roughly O(n 1/2 ).

5 Where is the problem ? Plausible two phase plan: –Find a nearly balanced cut of low cost. –Move a few vertices to balance the two sides. Problem: moving even one vertex can increase the cut cost by a factor of  (n). 4 cliques example:

6 Our results [FK00] Algorithm with approximation ratio O(log 2 n). Our algorithm extends to: Arbitrary (nonnegative) edge costs. Arbitrary (nonnegative polynomial integer) vertex weights. Cutting away an arbitrary number of vertices. Cutting into any fixed number of equal-size parts. Separating (in addition) a given pair of terminals s,t. Techniques relevant also to bicriteria approximation.

7 Algorithmic roadmap Min-ratio cut [LR00]  =O(log n) approximation Bicriteria approximation 2/3-balanced cut of cost O(  ·b) Minimum bisection:Tool: Approximation bisection of cost O(  ·log n) · b Amortized cut [FK00] amortization cost  =O(  ) 2/3-balanced cut of cost O(  ·b)

8 Min-ratio cut Is a cut (S,V \ S) that minimizes the cut-ratio where S is the smaller side of the cut. (a.k.a. edge-expansion or flux) Interpretation: The cost of the cut is amortized against vertices in smaller side. Finding a min-ratio cut is –NP-hard [GJS76] –Can be approximated within ratio  = O(log n) [LR88]. S V \ S

9 2/3-balanced cut by min-ratio cuts Repeat –find (in the graph) approximate min-ratio cut, and –remove the smaller of its two sides (from the graph) Until the graph contains at most 2n/3 vertices. Output the cut that separates all removed vertices.

10 Analysis of 2/3-balanced cut The algorithm clearly outputs a 2/3-balanced cut. At every iteration: –the graph has a cut of ratio –we find  approximation to it –the cost amortized against a vertex is –and each such vertex is removed (so  2n/3 vertices). The total number of edges cut is O(  ·b), and so is the cost of the output cut.

11 Divide and conquer approach For a general graph problem: Divide input graph G into two parts (using a cut) Solve a subproblem for each part Combine solutions of two subproblems. When applied recursively: The graph is divided into smaller and smaller parts –until each part is a singleton Each part is associated with a subproblem

12 Divide and conquer for bisection Apply the above general approach The subproblem associated with a part is to cut from the part an arbitrary number of vertices k. Note that we have here two types of cuts: Divide step cuts. Combined solution cuts. (Can be two different cuts in the same part.)

13 Divide and conquer – illustration Cutting k vertices from a part U: Divide the part U using a cut (U 1,U 2 ) Recursively cut k i vertices from U i where k 1 + k 2 = k Denote solution cut as (C i,F i ) with |C i | = k i C1C1 C2C2 F1F1 F2F2 Combine solutions into cut (C 1  C 2, F 1  F 2 ) C1C1 C2C2 F1F1 F2F2 U1U1 U2U2

14 Combined cut – actual cost Cost of combined cut of U is: cut(U,k)=  i cut(U i,k i )+e(C 1,F 2 )+e(C 2,F 1 ) C1C1 C2C2 F1F1 F2F2 C1C1 C2C2 F1F1 F2F2 U1U1 U2U2 Problem: Two last terms depend on both subproblems (of U 1 and of U 2 ). We want two separate subproblems ! Solution: Use an upper bound e.g. cut(U,k)   i cut(U i,k i ) + e(U 1,U 2 ). We obtain two separate subproblems, with additional cost that depends only on divide step. Problem: This bound is not sensitive to cases where k is small.

15 Combined cut – upper bound Cost of combined cut of U is: cut(U,k)=  i cut(U i,k i )+e(C 1,F 2 )+e(C 2,F 1 )   i cut(U i,k i )+e(C 1,U 2 )+e(C 2,U 1 ) C1C1 C2C2 F1F1 F2F2 C1C1 C2C2 F1F1 F2F2 U1U1 U2U2 Excess over actual cost is 2e(C 1,C 2 ). We may want C to be the smaller side, i.e. |C|  |F|. Actually, it suffices to assume that |C|  0.9|U|. Each subproblem requires to minimize cut(U i,k i )+e(C i,U 3-i ), i.e. cost of cut in U i + edges to other part. Call the vertices of C charged, and of F free.

16 Upper bound on bisection cost Consider an arbitrary bisection of the input graph. –Fix the divide steps and the “charged” sides. –Think of this bisection as the solution obtained by recursively combining cuts of smaller parts. Applying our upper bound recursively gives a value that we call the charge of this bisection. –For every bisection: cost  charge. Our algorithm minimizes charge rather than cost. For optimal bisection, we want: charge approximates cost.

17 Devising a divide step Fix one optimal bisection (i.e. cost=b) Consider its charge vs. cost. –or, alternatively, excess = charge - cost vs. cost. –we want that excess  polylog · cost. –excess is the sum, over all divide steps, of 2e(C 1,C 2 ). –cost is the sum, over all divide steps, of e(C,F). Goal:  steps e(C 1,C 2 )  polylog ·  steps e(C,F) Interpretation: amortize (all) charged-charged edges cut against (all) charged-free edges cut.

18 Desired amortization scheme Goal: amortize  e(C 1,C 2 ) against  e(C,F). Suppose that we amortize inside a divide step –assume amortization of e(C 1,C 2 ) against e(C,F) is  . If divide steps are roughly balanced –then divide steps’ depth is O(log n) –each edge receives amortized cost only O(log n) times. –then total cost amortized against an edge is O(  ·log n). What to do when divide steps are not balanced ?

19 Two amortization methods We scale amortization cost according to imbalance in one of two methods (assume wlog |V 1 |  |V 2 |): 1. Scale by, i.e. require 2. Scale by, i.e. require

20 Definition of amortized cut A cut (V 1, V 2 ) with |V 1 |  |V 2 | is called  -amortized if for every partition V=C  F with |C|  0.9 |V|, we either have or where C i = C  V i and F i = F  V i. Remark:  is not an approximation ratio.

21 Approximating bisection Lemma. Assume divide steps are  -amortized cuts. Then for optimal bisection,  e(C 1,C 2 )  O(  ·log n) ·  e(C,F) = O(  ·log n) · b Theorem 1. An algorithm that finds  -amortized cut implies algorithm that approximates minimum bisection within ratio 1+O(  ·log n). For more details and proofs see the paper.

22 Bicriteria approximation for bisection By using amortized cuts instead of min-ratio cuts in the algorithm of [LR88], we obtain: Theorem 2. An algorithm that finds  -amortized cut implies 1+O(  ) bicriteria approximation, namely, an algorithm that finds 2/3-balanced cut of cost (1+O(  )) · b.

23 2/3-balanced cut by amortized cuts Repeat –find (in the graph) a  -amortized cut, and –remove the smaller of its two sides (from the graph) Until the graph contains at most 2n/3 vertices. Output the cut that separates all removed vertices.

24 Analysis of 2/3-balanced cut The algorithm clearly outputs a 2/3-balanced cut. Fix an optimal bisection and call it red-blue. –Total cost of red-blue edges cut is  b. –Need to bound total cost of red-red (similarly blue- blue) edges cut by O(  · b). Let the red vertices be charged C and the blue vertices be free F in all iterations. –The amortization scheme upper bounds the total cost of charged-charged (i.e. red-red) edges cut !

25 Analysis of 2/3-balanced cut Lemma. Cost of charged-charged edges cut  O(  ·b) Proof. The total cost amortized against an edge in –1st amortization method is  , because an edge appears at most once in e(C 1,F 1 ). –2nd amortization method is  , because |C|  n/6,  steps |C 1 |  n/2 and so  |C 1 |/|C|  O(1).  We conclude that the algorithm outputs 2/3-balanced cut of cost  (1+O(  )) · b, proving Theorem 2.

26 Connections between approximate min-ratio cuts and amortized cuts Lemma. An optimal min-ratio is O(1)-amortized cut. Proof appears in the paper. From the existence of an optimal min-ratio cut we obtain: Corollary. Every graph has O(1)-amortized cut. Goal: Extend lemma to approximate min-ratio cuts. Problem: An O(1)-approximate min-ratio cut might be  (n)-amortized cut (and vice versa). What additional properties are used in our proof ?

27 Locally optimal cuts Denote the ratio of a cut (S,V \ S) by Definition. A cut (S,V \ S) with |S|  |V \ S| is called locally optimal if r(S’)  r(S) for every S’  S. Our previous lemma extends as follows. Lemma. A locally optimal  -approximate min-ratio cut is an O(  )-amortized cut. How do we guarantee that a cut is locally optimal ?

28 Finding locally optimal approximate min-ratio cut 1. Find a  -approximate min-ratio cut (V 1,V 2 ) with |V 1 |  |V 2 |. V1V1 V2V2 \ S p SpSp s... p t 3. Add a vertex s that is connected to all vertices of V 1 by edges whose cost is a parameter p>0. 2. Merge all vertices of V 2 into a single vertex t. 6. Output the cut (S p,V \ S p ). 4. Let S p denote the vertices of V 2 that are on the same side with s in a minimum (s,t)-cut. 5. Find (by binary search) the minimum p>0 with S p  .

29 Algorithm analysis Lemma. The algorithm finds a cut (S,V \ S) that is a locally optimal  -approximate min-ratio cut. Proof. The empty set  gives a better cut than S   whenever p · |V 1 | < p · |V 1 \ S| + e(S,V \ S) V1V1 V2V2 \ S p SpSp s... p t When p < p* = min{r(S): S  V} we get S p = . When p = p* +  we get S p with r(S p )=p*, as required. 

30 Finding an amortized cut Recall that a locally optimal  -approximate min-ratio cut is O(  )-amortized cut. We obtain: Theorem 3. An algorithm that finds  -approximate min-ratio cut implies an algorithm that finds O(  )- amortized cut. Recall that [LR88] achieve  = O(log n)   = O(log n). Combined with our Theorem 1, we obtain: Corollary. Minimum bisection can be approximated within ratio O(log 2 n).

31 Summary Min-ratio cut [LR00]  =O(log n) approximation Bicriteria approximation 2/3-balanced cut of cost O(  ·b) Minimum bisection:Tool: Approximation bisection of cost O(  ·log n) · b Amortized cut [FK00] amortization cost  =O(  ) 2/3-balanced cut of cost O(  ·b)