A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University...

Post on 17-Dec-2015

220 views 3 download

Tags:

Transcript of A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University...

A polylogarithmic approximationof 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. S V\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(n1/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:4n

4n

14n

14n

6

Our results [FK00]

Algorithm with approximation ratio O(log2 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 approximation2/3-balanced cut of cost O(·b)

Minimum bisection:Tool:

Approximationbisection 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-ratiowhere S is the smaller side of the cut.

(a.k.a. edge-expansion or flux)

• Interpretation: The cost of thecut 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].

( , \ )| |

e S V SS

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.

/ 6b

n

/ 6b

n

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 (U1,U2)

• Recursively cut ki vertices from Ui

where k1+ k2 = k

• Denote solution cut as (Ci,Fi) with |Ci| = ki

C1C2

F1F2

• Combine solutions into cut (C1C2, F1F2)

C1C2

F1F2

U1 U2

14

Combined cut – actual cost

Cost of combined cut of U is:cut(U,k)=icut(Ui,ki)+e(C1,F2)+e(C2,F1)

C1C2

F1F2

C1C2

F1F2

U1 U2

Problem: Two last terms depend on both subproblems (of U1 and of U2).We want two separate subproblems !

Solution: Use an upper bounde.g. cut(U,k) i cut(Ui,ki) + e(U1,U2) .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)=icut(Ui,ki)+e(C1,F2)+e(C2,F1)

icut(Ui,ki)+e(C1,U2)+e(C2,U1)

C1C2

F1F2

C1C2

F1F2

U1 U2

Excess over actual cost is 2e(C1,C2) .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 tominimize cut(Ui,ki)+e(Ci,U3-i) ,i.e. cost of cut in Ui + 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(C1,C2) .

– cost is the sum, over all divide steps, of e(C,F) .

• Goal: steps e(C1,C2) 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(C1,C2) against e(C,F) .

• Suppose that we amortize inside a divide step– assume amortization of e(C1,C2) 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 |V1| |V2|):

1. Scale by , i.e. require

2. Scale by , i.e. require

1 1( , )( , )

e C Fe C F

1 11 2

( , )( , ) ( , )

( , )e C F

e C C e C Fe C F

1| || |CC

11 2

| |( , ) ( , )

| |C

e C C e C FC

20

Definition of amortized cut

A cut (V1, V2) with |V1| |V2| is called -amortized if for every partition V=C F with |C| 0.9 |V|,

we either have

or

where Ci= C Vi and Fi= F Vi .

Remark: is not an approximation ratio.

1 2 1 1( , ) ( , )e C C e C F 1

1 2| |

( , ) ( , )| |C

e C C e C FC

21

Approximating bisection

Lemma. Assume divide steps are -amortized cuts. Then for optimal bisection,

e(C1,C2) 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(C1,F1) .– 2nd amortization method is , because

|C| n/6 , steps|C1| n/2 and so |C1|/|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 .

( , \ )( )

| |e S V S

r SS

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 (V1,V2) with |V1| |V2| .

V1

V2

\ SpSp

s...p

...

t

3. Add a vertex s that is connected to all vertices of V1 by edges whose cost is a parameter p>0.

2. Merge all vertices of V2 into a single vertex t.

6. Output the cut (Sp,V \ Sp).

4. Let Sp denote the vertices of V2 that are on the same side with s in a minimum (s,t)-cut.

5. Find (by binary search) the

minimum p>0 with Sp .

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 · |V1| < p · |V1 \ S| + e(S,V \ S)

V1

V2

\ SpSp

s...p

...

t( , \ )

( )| |

e S V Sp r S

S

When p < p* = min{r(S): S V}

we get Sp = .

When p = p* + we get Sp with r(Sp)=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(log2 n).

31

Summary

Min-ratio cut [LR00]=O(log n) approximation

Bicriteria approximation2/3-balanced cut of cost O(·b)

Minimum bisection:Tool:

Approximationbisection of cost O(·log n) · b

Amortized cut [FK00]amortization cost =O()

2/3-balanced cut of cost O(·b)