Upload
acton-buck
View
25
Download
0
Tags:
Embed Size (px)
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
Citation preview
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
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.
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?
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
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