18
Advanced Approximatio n Algorithms II How to find a heavy weight cut in a graph

Advanced Approximation Algorithms II

  • Upload
    zuri

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

Advanced Approximation Algorithms II. How to find a heavy weight cut in a graph. The MAX CUT Problem. - PowerPoint PPT Presentation

Citation preview

Page 1: Advanced  Approximation  Algorithms II

Advanced Approximation Algorithms

IIHow to find a heavy weight cut in a

graph

Page 2: Advanced  Approximation  Algorithms II

The MAX CUT Problem

Given an undirected graph G=(V,E) with edge weights w:E->R, divide the vertices in two parts so that the sum of the weights of all edges going from one part to the other, is maximized.

Page 3: Advanced  Approximation  Algorithms II

The MAX CUT Problem

13

11

4

9

5

11

8

9

1

7

38

12

2

5

Page 4: Advanced  Approximation  Algorithms II

MAX CUT vs. MIN CUT

MIN CUT is polynomial time solvable (cf. Max flow algorithms, and Karger’s algorithm)

MAX CUT is NP-hard, even when the edge weights are the same, and no vertex has more than three neighbors.

Note that MAX CUT is trivial on bipartite graphs.

Page 5: Advanced  Approximation  Algorithms II

OverviewWe will see two polynomial time techniques to

obtain an approximative solution to the MAX CUT problem with a provable worst case approximation ratio.

1. Approximation based on local search refinement.

2. Approximation based on relaxation to semi-definite programming.

Page 6: Advanced  Approximation  Algorithms II

Local Search Single flip neighborhood: As long as there

exists a vertex that will increase the cut weight if it is put in the other part, move it.

Page 7: Advanced  Approximation  Algorithms II

Local Search

13

11

4

9

5

11

8

9

1

7

38

12

2

5

Page 8: Advanced  Approximation  Algorithms II

Analysis The optimum can not be more than the sum

of all weights. In the approximation found, each vertex

adds at least half of its neighborhood’s weight to the solution.

We get approximation ratio apx/opt>= 0.5

Page 9: Advanced  Approximation  Algorithms II

Run Time Analysis?

There is no guarantee the number of flips, and hence the algorithm run time, is polynomially bounded!

Trick: Only flip if net gain is >= 2e w(A,B)/n We get 0.5-e approximation. Each flip improve the weight at least a

factor (1+e/n). After n/e flips we have at least doubled the weight.

We need at most log2(OPT) doublings…

Page 10: Advanced  Approximation  Algorithms II

Mathematical Programing

Formulate your problem as an integer program (IP).

Provide a relaxation of the IP to a linear program (LP) or semidefinite program (SDP), i.e. something we know how to solve efficiently.

Round the fractional solution to the LP or SDP to an integer solution approximating the original IP

Page 11: Advanced  Approximation  Algorithms II

How to Obtain an Approximation

Guarantee

OPT(IP)

OPT(SDP)

OPT(SDP)Rounded

Actual approximation factor

Bound on Approximation factor

Page 12: Advanced  Approximation  Algorithms II

Integer Programming

Introduce one {-1,1} variable xi for each vertex i in V.

Solve for an assignment to the variables that maximizes

wij1− x ix j2ij∈E

Page 13: Advanced  Approximation  Algorithms II

2D Relaxation Introduce one 2-dimensional real vector of

unit length variable yi for each vertex i in V. Solve for an assignment to the variables

that maximizes

wij1− y i,y j

2ij∈E∑

Page 14: Advanced  Approximation  Algorithms II

2D Relaxation Can’t be Worse

maxyi ∈R 2

y i =1

wij1− y i,y j

2ij∈E∑ ≥ max

x i ∈ −1,1{ }wij1− x ix j2ij∈E

Page 15: Advanced  Approximation  Algorithms II

Randomized Rounding of 2D

yiyj

Fij

yk

i

j

k

xi=-1

xj=1

xk=1

Page 16: Advanced  Approximation  Algorithms II

Approximation Ratio

optcut2D = wij(1− cosφij )

2ij∈E∑

apxcutRounded 2D = wij ⋅φij /πij∈E∑

∀φ∈[0,π ] :2φ /π1− cosφ

≥ B

Page 17: Advanced  Approximation  Algorithms II

Rounding Ratio

2φ /π1−cosφ

0.87856

Page 18: Advanced  Approximation  Algorithms II

Semidefinite Programming

∀i : si ∈Rn

mins1 ,s2 ,...,sn

c ij si,s jij∑

s.t.

∀k : aij,k si,s j ≤ij∑ bk