SDP Gaps and
UGC-Hardness
for Max-Cut-Gain
Subhash Khot
Georgia Tech
&
Ryan O’Donnell
Carnegie Mellon
Max-Cut:
Weighted graph H
(say weights sum to 1).
Find a subset of vertices A
to maximize weight of
edges between A and Ac.
.097
A
When OPT is c , can you in poly-time cut s ?
[Trivial algorithm]
s
1
[Karp’72]: 5/6 vs. 5/6 − 1/poly(n) NP-hard
[Sahni-Gonzalez’76]
[Goemans-Williamson’95]: .878 factor
[Håstad+TSSW’97]: 17/21 vs. 16/21 NP-hard
[Zwick’99/FL’01/CW’04]: 1/2 + (/log(1/))
[KKMO+MOO’05]: UGC-hardness
arccos(1−2c)/
.878 c
Max-Cut-Gain
1/2
.845
1
c
When OPT is c , can you in poly-time cut s ?
s
Theorem 1: SDP integrality gap in blue.
Theorem 2: UGC-hardness there too.
Theorem 3:
Theorem 4:
1/2 + (11/13)
Other stuff.
1/2 + (2/)
1/2 + O(/log(1/))
1/2 + (/log(1/))
1/2
1/2 +
c
Theme of the paper:
• Semidefinite programming integrality gaps arise naturally in
Gaussian space.
• Can be translated into Long Code tests;
) UGC-hardness.
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
Goemans-Williamson:
“For all H, s ¸ blah(c).”
Proof: Given A, construct A via:
1. Pick G, rand. n-dim. Gaussian
2. Define A(x) = sgn(G ¢ A(x))
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
Feige-Langberg/Charikar-Wirth:
“For all H, s ¸ blah(c).”
Proof: Given A, construct A via:
1. Pick G, rand. n-dim. Gaussian
1
2. Define A(x) = sgn(G
F (G ¢ A(x))
−1
F
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
Goemans-Williamson:
“For all H, s ¸ blah(c).”
Proof: Given A, construct A via:
1. Pick G, rand. n-dim. Gaussian
2. Define A(x) = sgn(G ¢ A(x))
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
Goemans-Williamson:
“For all H, s ¸ blah(c).”
Proof: Given A, construct A via:
1. Pick G, rand. n-dim. Gaussian
2. Define A(x) = sgn(G ¢ A(x))
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
Feige-Schechtman:
“There exists H s.t. s · blah(c).”
(matches GW
for c ¸ .845)
Proof: Take V = Rn, w = picking (1−2c)-correlated Gaussians.
Take A(x) = x / || x ||.
Best A is A(x) = sgn(G ¢ x), for any G.
Proof: Symmetrization. [Borell’85]
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
This paper:
“There exists H s.t. s · blah(c).”
(essentially matches
FL/CW for c = 1/2 + )
Proof: Take V = Rn, w = picking mixture
(1−2c)-correlated
of 2 corr’dGaussians.
Gaussian pairs.
Take A(x) = x / || x ||.
Best A is A(x) = sgn(G
F (G ¢ x), for any G.
Proof: Symmetrization. [Borell’85]
Semidefinite programming gaps
Weighted graph:
H = (V, w : V£V ! R¸0)
Assignments:
A : V ! [−1,1]
Compare:
s := max
E
vs.
A : V ! Bn
(unit n-dim. ball)
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
Feige-Schechtman:
“There exists H s.t. s · blah(c).”
(matches GW
for c ¸ .845)
Proof: Take V = Rn, w = picking (1−2c)-correlated Gaussians.
Take A(x) = x / || x ||.
Best A is A(x) = sgn(G ¢ x), for any G.
Proof: Symmetrization. [Borell’85]
Long code (“Dictator”) Tests
Weighted graph:
H = (V,
({−1,1}
w :nV£V
, w :!
V£V
R¸0!
) R¸0)
Assignments:
n ! [−1,1]
A : {−1,1}
V ! [−1,1]
vs.
far from all Dictators
s := max
Compare:
E
Avs.
: V !AB
xi n-dim. ball)
i(x)
n =(unit
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
far from all Dictators
vs.
c := max
E [ (½) − (½) A(x) ¢ A(y) ]
Ai (x,y) Ã w
Feige-Schechtman:
i
i
“There exists H s.t. s · blah(c).”
(matches GW
for c ¸ .845)
Proof: Take V = Rn, w = picking (1−2c)-correlated Gaussians.
Take A(x) = x / || x ||.
Best A is A(x) = sgn(G ¢ x), for any G.
Proof: Symmetrization. [Borell’85]
Long code (“Dictator”) Tests
Weighted graph:
H = ({−1,1}n, w : V£V ! R¸0)
Assignments:
A : {−1,1}n ! [−1,1]
vs.
Ai(x) = xi
far from all Dictators
s := max
Compare:
E
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
far from all Dictators
vs.
c := max
i
KKMO/MOO:
Feige-Schechtman:
E [ (½) − (½) A(x) ¢ A(y) ]
(x,y) Ã w
i
i
“There
existsexists
w s.t.
s · sblah(c).”
“There
H s.t.
· blah(c).”
(matches GW
for c ¸ .845)
Proof: Take
w = picking
V = Rn,(1−2c)-correlated
w = picking (1−2c)-correlated
bit-strings.
Gaussians.
Take A(x) = x / || x ||.
Best A is A(x) = sgn(G ¢ x), for almost
any G. any G.
Proof: Somewhat
elaborate
reduction to [Borell’85]
Symmetrization.
[Borell’85]
(“Majority Is Stablest”)
Long code (“Dictator”) Tests
Weighted graph:
H = ({−1,1}n, w : V£V ! R¸0)
Assignments:
A : {−1,1}n ! [−1,1]
vs.
Ai(x) = xi
far from all Dictators
s := max
Compare:
E
[ (½) − (½) A(x) ¢ A(y) ]
A (x,y) Ã w
far from all Dictators
vs.
c := max
i
KKMO/MOO:
This
paper:
E [ (½) − (½) A(x) ¢ A(y) ]
(x,y) Ã w
i
i
(matches
matches
GW
“There
“There
exists
exists
w s.t.
w s.t.
s ·s blah(c).”
· blah(c).” (essentially
FL/CW forfor
c =c 1/2
¸ .845)
+ )
Proof: w = picking (1−2c)-correlated
mixture of 2 corr’dbitbit-string
strings. pairs.
Best A is A(x) = sgn(G
F (G ¢ x), for almost any G.
Proof: Somewhat elaborate reduction to [Borell’85]
(“Majority
if |ai| is small for
each i.Is Stablest”)
Conclusion:
There is something fishy going on.
What is the connection between SDP integrality gaps
and Long Code tests?
© Copyright 2025 Paperzz