Semi-Definite Algorithm for Max-CUT Ran Berenfeld May 10,2005.

36
mi-Definite Algorithm for Max-C n Berenfeld y 10,2005

Transcript of Semi-Definite Algorithm for Max-CUT Ran Berenfeld May 10,2005.

Semi-Definite Algorithm for Max-CUT

Ran BerenfeldMay 10,2005

Agenda :

•The Max-Cut problem.•Goemans-Williamson algorithm.•Semi-Definite programming.•Other applications.

The Max-Cut Problem :

Let be a complete, undirected graph,

With edge weights .

Find a cut that maximizes

EVG ,

QEW :

S

SwSv

wve

ew

,,

)(

•Observations :

•General definition •set weight=1 if edges are un-weighted.•set weight=0 for non complete graph.

•NP-Hard [Karp 72’]• approximation is easy.•This presentation – [Goemans-Williamson 94’]shows -approximation where

•[Karloff ’99, Feige-Schechtman ’99] – Goemans Williamson have an integralitty gap of

21

...878.0cos1

2min0

GW strategy for Max-Cut

Graph

QPVP

SDP

1.Write problem as a Quadratic Problem. (with integer solutions)2.Relax to vector programming. 3.Vector programming is equal to semi-definite programming (SDP).4.Solve SDP.

Approx

Graph

QP

Assign a variable to each vertex.Let for vertices in Let for vertices in

ix1ix S

1ix S

}1,1{.

)1(2

1max ,

i

jijiji

xts

xxw

QPVP

Replace each with .jixx ji yy ,Old objective value is achieved setting where where

)0,...,0,0,1(iy 1ix)0,...,0,0,1(iy 1ix

1.

),1(2

1max ,

i

jijiji

yts

yyw

Approx

QPVP

Approx

Motivation : heavy weighted verticeswill be “far” away from each other.

1000

iv jv

iy

0,1 ji yy

jy

jy

1,1 ji yy

2,1 ji yy jy

VPSDP

we’ll show later that VP is equal to SDP.

SDP

we’ll also show later how SDP is polynomial time solvable to any accuracy degree.But first lets analyze the approximation ratio.

Suppose are the vectors solution to our VP.To obtain a cut from the solution : Randomly pick a vector on the unit sphere, and let

nvv ,...,1

SDP

r}0,|{ rvvS ii

Let and be vectors in the VP solution.iv jv

By the choice of it follows thatPr[the edge is in the cut]=Pr[ ]),(),( rvsignrvsign ji

S ji,

And so the expected weight of the cut produced by the algorithm is :

ji

jiji rvsignrvsignwWE )],(),(Pr[][ ,

Approximation Analysis :

),arccos(

)],(),(Pr[

jiji

vvrvsignrvsign

If the angle between and is , there is an area of size where can satisfy

iv jv 2 r

),(),( rvsignrvsign ji

iv

jv

ji

jiji vvwWE ),arccos(1

][ ,

Current conclusion :

The optimal solution to VP is no less then the optimal cut. So it follows :

ji

jiji vvwOPT ),1(2

1,

Now we set

And obtain : !

cos1min

2

0

OPTWE ][

QPSDP

Integralitty gap :

0 1

VP feasible solution and fractional OPT

OPT-F

0 1

QP solutions and the optimal solution

OPT

0 1

Find integral solution of cost

OPT-F

OPTOPTF

SDP

A real, symmetric matrix is positive semi-definite if (TFAE) :

1. for all x.2.all eigenvalues of are non

negative.3.there exist a matrix so that

.

A

0AxxT

AB BBA T

0ANotations: means is positive semiDefinite. is the convex of all symmetricMatrices.

A

nM

SDP

Define (Frobenius product) :

.

n

i

n

jjiji

T baBAtrBA1 1

,,)(

n

ii

MZZ

kidZDts

ZCMax

,0

)..1(.

Where and all ‘s are symmetric.C D

Then SDP in general form is :

VPSDP

1.Replace with .2.Demand that the matrix beSymmetric and positive semi-definite.

ji yy , jiz ,

}{ , jizZ

It follows that both problems (VP and SDP) are equal.

SDP

It’s easy to show that SDP can be solved in polynomial time using the Ellipsoid method.Other methods exists that are much more practical…

SDP

The Ellipsoid methodA convex set in is described using a set of restrictions

nRP

We need to find a point in the set.),,( mnxm RbRAbAxP

We need to be able, for each point To provide a separating hyperplane (in polynomial time)

Py

HPHy ,

SDP

The Ellipsoid methodThe method starts with a large ellipsoid containing .PAt each step, if the current point is not in ,we use the separating hyperplane to find a (significantlly) smaller ellipsoid.

0x

P1x

P

SDP

The SDP Problem :

n

ii

MZZ

kidZDts

ZCMax

,0

)..1(.

We treat the matrix as a vector in .Z2nR

The set of symmetric ,positiveSemi-definite matrices is convex.

It follows the set of feasible solution is convex.

SDP

The SDP Problem :

n

ii

MZZ

kidZDts

ZCMax

,0

)..1(.

Finding a separating hyperplane :

If is not symmetric, is a S.HZ ijji zz ,,

If is not positive semi-definite, it has a Negative eigenvalue. Let be the Eigenvector. Then Is a separating H.P.

Zv

0)( ZvvZvv TT

Any constraint violated is a S.H

SDP

The SDP Problem :

n

ii

MZZ

kidZDts

ZCMax

,0

)..1(.

Finally, the SDP for Max-Cut has a well defined Dual problem. Which is another SDP program with the same objective Value. Intersecting the Primal and Dual program Creates a convex set, which is not emptyIf the program is feasible, and containsonly optimal points.

Some examples :

2v

1v3v

1v

,..., 32 vv

Some examples :

321 ,, vvv

654 ,, vvv

2v

1v

3v

5v

4v

6v

Some examples :

1v

2v

3v

2v

1v

3v

Some examples :

2v

1v

3v

1 1

1000

1v

2v

3v

SDP

Use SDP to -approximate MAX-2SAT

The input is a 2-CNF formula, over variables .nxx ,...,1

Need to find an assignment so that the weight of the satisfied clauses is maximal.

A weight to each clause, mjCw j ..1),(

SDP

Use SDP to -approximate MAX-2SAT

Assign a {-1,1} variables, nyy ,...,1

Also add a special {-1,1} variable , which will determine the mapping between {-1,1} to {True/False}

0y

SDP

Use SDP to -approximate MAX-2SATGiven any boolean formula C, we want v(C) to be 1 if the formula is true,0 otherwise.

For example if thenixC 2

1)( 0 iyyCv

SDP

Use SDP to -approximate MAX-2SAT

4

1

4

1

4

1

)3(4

12

1

2

11)(1)(

00

2000

00

jiji

jiji

jijiji

yyyyyy

yyyyyyy

yyyyxxvxxv

Another example :

SDP

Use SDP to -approximate MAX-2SAT

This way we can change the 2-CNF to a QP in the form :

}1,1{.

)1()1(max ,,

i

jijiji

jiji

yts

yybyya

SDP

Use SDP to -approximate MAX-2SAT

Relax the program to

1.

),1(),1(max ,,

i

jijiji

jiji

vts

vvbvva

SDP

Use SDP to -approximate MAX-2SAT

The expected weight E[V] :

jijiji

jijiji

rvsignrvsignprb

rvsignrvsignpraVE

)),(),((2

)),(),((2][

,

,

And the same analysis will work here to show that this algorithm is an -approximate.

Semi-Definite Algorithm for Max-CUT

Ran BerenfeldMay 10,2005