results from

37
Guy Kindler Guy Kindler Weizmann Institute Weizmann Institute

Upload: acton-buck

Post on 31-Dec-2015

25 views

Category:

Documents


0 download

DESCRIPTION

How to get. Hardness of approximation. results from. Integrality gaps. Guy Kindler Weizmann Institute. About this talk. We’ll try to understand some notions, and their relations: Combinatorial optimization problems Approximation: relaxation by semi-definite programs. Integrality gaps - PowerPoint PPT Presentation

TRANSCRIPT

Guy KindlerGuy KindlerWeizmann InstituteWeizmann Institute

We’ll try to understand some notions, and their relations:We’ll try to understand some notions, and their relations:

Combinatorial optimization problemsCombinatorial optimization problems

Approximation: relaxation by semi-definite programs.Approximation: relaxation by semi-definite programs.

Integrality gapsIntegrality gaps

Hardness of approximationHardness of approximation

Main example:Main example: the Max-Cut problem the Max-Cut problem

About this talkAbout this talk

Combinatorial optimization problems

Input, search space,

objective function

Example: MAX-CUT

Example: MAX-CUTExample: MAX-CUT

input: input: G = (V,E)G = (V,E)

Search space:Search space: Partition V=(C, C Partition V=(C, Ccc))

Objective function: Objective function:

w(C) = fraction of cut edgesw(C) = fraction of cut edges

The MAX-CUT Problem:The MAX-CUT Problem: Find mc(G)=maxFind mc(G)=maxCC{w(C)}{w(C)}

[Karp ’72]:[Karp ’72]: MAX-CUT is NP-complete MAX-CUT is NP-complete

Example: MAX-CUTExample: MAX-CUT

input: input: G = (V,E)G = (V,E)

Search space:Search space: Partition V=(C, C Partition V=(C, Ccc))

Objective function: Objective function:

w(C) = fraction of cut edgesw(C) = fraction of cut edges

The MAX-CUT Problem:The MAX-CUT Problem: Find mc(G)=maxFind mc(G)=maxCC{w(C)}{w(C)}

--approximation:approximation: Output S, s.t. mc(G) Output S, s.t. mc(G) ¸ ¸ S S ¸ ¸ ¢¢mc(G).mc(G).

History:History: ½-approximation easy, was best record for ½-approximation easy, was best record for

long time.long time.

Semi-definite Relaxation

Introducing geometry into combinatorial optimization

[GW ’95]

ArithmetizationArithmetization

vvG=(V,E):G=(V,E):

xuxu

uu

xvxv

Problem: Problem: We can’t maximize quadratic functions,We can’t maximize quadratic functions,even over convex domains.even over convex domains.

u v

(u,v) E

u

(x x )mc(G) max ,

s.t. : u, x

2

2

4

1

Relaxation by geometric Relaxation by geometric embeddingembedding

vvG=(V,E):G=(V,E):

xuxu

uu

xvxv

Problem: Problem: We can’t maximize quadratic functions,We can’t maximize quadratic functions,even over convex domains.even over convex domains.

u v

(u,v) E

u

(x x )mc(G) max ,

s.t. : u, x

2

2

4

1

Relaxation by geometric Relaxation by geometric embeddingembedding

u v

(u,v) E

u

x xrmc(G) max ,

s.t. : u, x

2

2

4

1

vvG=(V,E):G=(V,E):

xuxu

uu

xvxv

Problem: Problem: We can’t maximize quadratic functions,We can’t maximize quadratic functions,even over convex domains.even over convex domains.

u v

(u,v) E

u

(x x )mc(G) max ,

s.t. : u, x

2

2

4

1

Relaxation by geometric Relaxation by geometric embeddingembedding

u v

(u,v) E

u

x xrmc(G) max ,

s.t. : u, x

2

2

4

1

vvG=(V,E):G=(V,E):

xuxu

uu

xvxv

Problem: Problem: We can’t maximize quadratic functions,We can’t maximize quadratic functions,even over convex domains.even over convex domains.

Relaxation by geometric Relaxation by geometric embeddingembedding

vvG=(V,E):G=(V,E):uu

xuxu

xvxv

Now we’re maximizing a linear Now we’re maximizing a linear function over a convex domain!function over a convex domain!

u v

(u,v) E

x ,x

1

2

(unit sphere in R(unit sphere in Rnn))

u v

(u,v) E

u

x xrmc(G) max

s.t. : u, x

2

2

4

1

Semi-Semi-definitedefinite

relaxationrelaxation

Semi-Semi-definitedefinite

relaxationrelaxation

(unit sphere in R(unit sphere in Rnn))

Relaxation by geometric Relaxation by geometric embeddingembedding

vvG=(V,E):G=(V,E):uu

u v

(u,v) E

x ,x

1

2

u v

(u,v) E

u

x xrmc(G) max

s.t. : u, x

2

2

4

1

Is this really a relaxation?Is this really a relaxation?

Relaxation by geometric Relaxation by geometric embeddingembedding

(unit sphere in R(unit sphere in Rnn))

mc(G)

vvG=(V,E):G=(V,E):uu

xuxu

xvxv

u v

(u,v) E

x ,x

1

2

u v

(u,v) E

x xrmc(G) max

2

4

Is this really a relaxation?Is this really a relaxation?

Analysis by randomized roundingAnalysis by randomized rounding

xuxu

(unit sphere in R(unit sphere in Rnn))

vvG=(V,E):G=(V,E):uu

u v

(u,v) E

x ,x

1

2

mc(G)

u v

(u,v) E

x xrmc(G) max

2

4xuxu

xvxv

xuxu

xvxv

Analysis by randomized roundingAnalysis by randomized rounding

xu

xv

arccos(<xarccos(<xuu,x,xvv>)>)arccos(<xarccos(<xuu,x,xvv>)>)

donation to (*)donation to (*)donation to (*)donation to (*)

<x<xuu,x,xvv>><x<xuu,x,xvv>>

u v

(u,v) E

x ,xrmc(G) (*)

1

2 u varccos x ,x

Pr[(u,v) C]

SoSo

(unit sphere in R(unit sphere in Rnn))

Analysis by randomized roundingAnalysis by randomized rounding

xu

xv

arccos(<xarccos(<xuu,x,xvv>)>)arccos(<xarccos(<xuu,x,xvv>)>)

donation to (*)donation to (*)donation to (*)donation to (*)

<x<xuu,x,xvv>><x<xuu,x,xvv>>

u v

(u,v) E

x ,xrmc(G) (*)

1

2 u varccos x ,x

Pr[(u,v) C]

SoSo

mc(G) E[w(C)] u v

(u,v) E

arccos x ,x

Analysis by randomized roundingAnalysis by randomized rounding

L.h.s. is tight, iff all inner products are ρ*

mc(G) E[w(C)]

u v

(u,v) E

x ,xrmc(G) (*)

1

2 u varccos x ,x

Pr[(u,v) C]

u v

(u,v) E

arccos x ,x

SoSo

GW

arccos( )/min

(1 )/ 2

0.879.. (f or some )

GW rmc(G)

mc(G)mc(G)¸ ¸ GWGW¢¢rmc(G) rmc(G)

¸ ¸ GWGW¢¢mc(G)mc(G)

mc(G)mc(G)¸ ¸ SS

¸ ¸ GWGW¢¢mc(G)mc(G)

An 0.879 approximation for Max-An 0.879 approximation for Max-CutCut

The [GW ’95] algorithm:The [GW ’95] algorithm:

Given G, compute rmc(G)Given G, compute rmc(G)

Let S=Let S=GWGW¢¢rmc(G)rmc(G)

Output S.Output S.

Is Is GWGW the the best best

constant constant here?here?

L.h.s. is tight, iff all inner products are ρ*

mc(G)mc(G)¸ ¸ GWGW¢¢rmc(G) rmc(G)

¸ ¸ GWGW¢¢mc(G)mc(G)Is there a Is there a

graph where graph where this occurs?this occurs?

Integrality gap

Measuring the quality of the

geometric approximation

[FS ’96]

The integrality gap of Max-CutThe integrality gap of Max-Cut

On instance G:

rmc(G)

mc(G)

G

mc(G)IG min

rmc(G)

w

S(G) r-S(G)

The integrality gap of Max-CutThe integrality gap of Max-Cut

On instance G:

rmc(G)

mc(G)

G

mc(G)IG min

rmc(G)

w

S(G) r-S(G)

¸ ¸ GWGW

The [GW ’95] algorithm:The [GW ’95] algorithm:

Given G, output IGGiven G, output IG¢¢rmc(G)rmc(G)

== GWGW for for some Gsome G**

The integrality gap of Max-CutThe integrality gap of Max-Cut

On instance G:

rmc(G)

mc(G)

G

mc(G)IG min

rmc(G)

w

S(G) r-S(G)

The [GW ’95] algorithm:The [GW ’95] algorithm:

Given G, output IGGiven G, output IG¢¢rmc(G)rmc(G)

== GWGW for for some Gsome G**

Using Using ¢¢rmc(G) to approximate mc(G), the rmc(G) to approximate mc(G), the

factor factor =IG cannot be improved!=IG cannot be improved!

On GOn G** the algorithm computes mc(G the algorithm computes mc(G**) )

perfectly!perfectly!

(unit sphere in R(unit sphere in Rqq))

The Feige-Schechtman graph, GThe Feige-Schechtman graph, G**

rmc(F)rmc(F)¸̧(1-(1-**)/2)/2

[FS]: [FS]: mc(Gmc(G**)=)=arccos(arccos(ρρ**)/)/

soso

Vertices: SVertices: Snn

Edges: u~v iff <u,v>=Edges: u~v iff <u,v>=**

arccos(ρ*)

* *

GW* *

mc(G ) arccos( )/rmc(G ) ( )/

1 2

From IG to hardness

A geometric trick may actually be

inherent

[KKMO ’05]

Thoughts about integrality gapsThoughts about integrality gaps

The integrality gap is an artifact of the relaxation.The integrality gap is an artifact of the relaxation.

The relaxation does great on an instance for which the The relaxation does great on an instance for which the

integrality gap is achieved.integrality gap is achieved.

And yet, sometimes the integrality gap is provablyAnd yet, sometimes the integrality gap is provably** the the

best approximation factor achievable:best approximation factor achievable:

[KKMO ’04]: under UGC, [KKMO ’04]: under UGC, GWGW is optimal for max-cut. is optimal for max-cut.

[HK ’03], [HKKSW], [KO ’06], [ABHS ’05], [AN ’02][HK ’03], [HKKSW], [KO ’06], [ABHS ’05], [AN ’02]

*under some reasonable *under some reasonable comlexity theoretic comlexity theoretic

assumptionsassumptions

Thoughts about integrality gapsThoughts about integrality gaps

The integrality gap is an artifact of the relaxation.The integrality gap is an artifact of the relaxation.

An algorithm does great on an instance for which the An algorithm does great on an instance for which the

integrality gap is achieved.integrality gap is achieved.

And yet, sometimes the integrality gap is provablyAnd yet, sometimes the integrality gap is provably** the the

best approximation factor achievable:best approximation factor achievable:

[KKMO ’04]: Under UGC, [KKMO ’04]: Under UGC, GWGW is optimal for max-cut. is optimal for max-cut.

[HK ’03], [HKKSW], [KO ’06], [ABHS ’05], [AN ’02][HK ’03], [HKKSW], [KO ’06], [ABHS ’05], [AN ’02]

And the IG instance GAnd the IG instance G** is is

used in the hardness used in the hardness proofproof

A recipe for proving hardnessA recipe for proving hardness

Take the instance G*:

rmc(G*)

mc(G*

)

w

S(G*)

r-S(G*)

A recipe for proving hardnessA recipe for proving hardness

Add ‘teeth’ to S(G*)

which achieve rmc(G*).

rmc(G*)

mc(G*

)

w

r-S(G*)

S(G*)

A recipe for proving hardnessA recipe for proving hardness

Now combine several

instances, such that

finding a point which

belongs to all

teeth becomes a hard

combinatorial

optimization

problem.

rmc(G*)

w

mc(G*

)

S(G*)

r-S(G*)

Now combine several

instances, such that

finding a point which

belongs to all

teeth becomes a hard

combinatorial

optimization

problem.

A recipe for proving hardnessA recipe for proving hardness

w

A recipe for proving hardnessA recipe for proving hardness

wDetermining whether

mc(G`)=mc(G*) or whether

mc(G`)=rmc(G*) is

intractable.

Factor of hardness:Factor of hardness:

mc(Gmc(G**)/rmc(G)/rmc(G**)=IG !!)=IG !!

Vertices: SVertices: Snn

Edges: u~v iff <u,v>=Edges: u~v iff <u,v>=**

Adding teeth to Feige-SchechtmanAdding teeth to Feige-Schechtman

(unit sphere in R(unit sphere in Rqq))

Adding teeth to Feige-SchechtmanAdding teeth to Feige-Schechtman

(unit sphere in R(unit sphere in Rqq))

Vertices: SVertices: Snn

Edges: u~v iff <u,v>=Edges: u~v iff <u,v>=**

Vertices: {-1,1}Vertices: {-1,1}nn

Edges: u~v iff <u,v>=Edges: u~v iff <u,v>=**::

a random edge (x,y):a random edge (x,y): x~{-1,1} x~{-1,1}nn,,

E[E[<<x,yx,y>>] = ] = ρρ

y: yy: yi i = = xxii w.p. ½ + ½ w.p. ½ + ½ρρ

-x-xii w.p. ½ - ½ w.p. ½ - ½ρρ

Adding teeth to Feige-SchechtmanAdding teeth to Feige-Schechtman

mc = mc = arccos(arccos(ρρ)/)/ ??

For C(x) = xFor C(x) = x77,,

w(C) = Pw(C) = Pedgeedge[x[x7 7 ≠ y≠ y77] ]

= (1-ρ)/2 !! = (1-ρ)/2 !!

Adding teeth to Feige-SchechtmanAdding teeth to Feige-Schechtman

no influential coordinates

mc = mc = arccos(arccos(ρρ)/)/ ??

For C(x) = xFor C(x) = x77,,

w(C) = Pw(C) = Pedgeedge[x[x7 7 ≠ y≠ y77] ]

= (1-ρ)/2 !! = (1-ρ)/2 !!

For C(x) = sign(For C(x) = sign(xxii) = Maj(x),) = Maj(x),

w(C) = P[Maj(x)≠Maj(y)]w(C) = P[Maj(x)≠Maj(y)]

≈ (arccos ρ)/≈ (arccos ρ)/ππ

mc = mc = arccos(arccos(ρρ)/)/ ?? [for axis parallel cut]:[for axis parallel cut]:

w(C)w(C)=(1-ρ)/2=(1-ρ)/2

[MOO ‘05]:[MOO ‘05]: If If i, Ii, Iii(C)<(C)<, ,

w(C)w(C) (arccos ρ)/ (arccos ρ)/ππ +o +o(1)(1)

Ratio between weight of Ratio between weight of

‘teeth’ cuts and regular cuts ‘teeth’ cuts and regular cuts

is is ≈ ≈ GWGW (for ρ = ρ*)(for ρ = ρ*)

Adding teeth to Feige-SchechtmanAdding teeth to Feige-Schechtman

We tried to understand some notions, and their relations:We tried to understand some notions, and their relations:

Combinatorial optimization problemsCombinatorial optimization problems

Approximation: relaxation by semi-definite programs.Approximation: relaxation by semi-definite programs.

Integrality gapsIntegrality gaps

Hardness of approximationHardness of approximation

ConclusionConclusion