View
224
Download
0
Embed Size (px)
Citation preview
Venkatesan Guruswami (CMU)Yury Makarychev (TTI-C)
Prasad Raghavendra (Georgia Tech)David Steurer (MSR)
Yuan Zhou (CMU)
Bipartite graph recognition• Depth-first search/breadth-first search
• With some noise?– Given a bipartite graph with 1% noisy edges, can we remove a small fraction of edges (10% say) to
get a bipartite graph, i.e. can we divide the vertices into two parts, so that 9
0% of the edges go accross the two parts?
MaxCut• cut(A, B) = edges(A, B) / |E| where B = V - A• exact one of i, j in A : edge (i, j) "on the cut"• MaxCut: find A, B such that cut(A, B) is maximized
– Bipartite graph recognition: MaxCut = 1 ?– Robust bipartite graph recognition: given MaxCut ≥ 0.
99, to find cut(A, B) ≥ 0.9
G=(V,E)
A B = V - A
cut(A, B) = 4/5
Eji
ji xx
EMaxCut
),( 2
1
||
1max subject
toVixi },1,1{ Vixi ,12
c vs. s approximation for MaxCut• Given a graph with MaxCut value at least c, can we find a c
ut of value at least s ?
• Robust bipartite graph recognition: given MaxCut ≥ 0.99, to find cut(A, B) ≥ 0.9– 0.99 vs 0.9 approximation – "approximating almost perfect MaxCut"
Robust bipartite graph recognition• Task: given MaxCut ≥ 0.99, find cut(A, B) ≥ 0.9
• We can always find cut(A, B) ≥ 1/2.– Assign each vertex -1, 1 randomly– For any edge (i, j), E[(1 - xixj)/2] = 1/2
vi vj
2
1
2
1E
||
1
2
1
||
1E]alg[E
),(
),(
Eji
ji
Eji
ji
xx
E
xx
E
Robust bipartite graph recognition (cont'd)
• Task: given MaxCut ≥ 0.99, find cut(A, B) ≥ 0.9
• We can always find cut(A, B) ≥ 1/2.• Better than 1/2?
– DFS/BFS/greedy?
– Linear Programming?
No combinatorial algorithm known until very recent [KS11]
Natural LPs have big Integrality Gaps [VK07, STT07, CMM09]
Robust bipartite graph recognition (cont'd)
• Task: given MaxCut ≥ 0.99, find cut(A, B) ≥ 0.9
• We can always find cut(A, B) ≥ 1/2.• Better than 1/2?
• The GW Semidefinite Programming relaxation [GW95]
– 0.878-approximation– Given MaxCut , can find a cut
• vs approximation, tight under Unique Games Conjecture [Kho02, KKMO07, MOO10]
Eji
ji vv
E ),( 2
,1
||
1max
)1( )1(
subject to
Vivi ,1|||| 2
)1( )1(
Robust satisfiability algorithms• Given an instance which can be satisfied by removing ε fr
action of constraints, to make the instance satisfiable by removing g(ε) fraction of constraints – g(ε) -> 0 as ε -> 0
• Examples• vs. algorithm for MaxCut [GW95]• vs. algorithm for Max2SAT [Zwick98]• vs. algorithm for MaxHorn3SAT [Zwick98]
)1( )1( )1( )1( )1( )log/11( 1
MaxBisection
G = (V, E)
A B
Objective:
|||| BA evenV ||
Eji
ji xx
EonMaxBisecti
),( 2
1
||
1max
Vixi ,12
subject to 0
Viix
||
),(),(max
E
BAedgesBAcut
MaxBisection (cont'd)
• Approximating MaxBisection?– No easier than MaxCut
•Reduction: take two copies of the MaxCut instance
||
),(),(max
E
BAedgesBAcut
G = (V, E)
A B
Objective:
|||| BA evenV ||
MaxBisection (cont'd)
• Approximating MaxBisection?– No easier than MaxCut– Strictly harder than MaxCut?– Approximation ratio: 0.6514 [FJ97], 0.699 [Ye01], 0.7016
[HZ02], 0.7027 [FL06]– Approximating almost perfect solutions? Not known
G = (V, E)
AA BB
Objective:
|||| BA evenV ||
||
),(),(max
E
BAedgesBAcut
Finding almost-perfect MaxBisection• Question
– Is there a vs approximation algorithm for MaxBisection, where ?
• Answer. Yes.
• Our result.– Theorem. There is a vs approximation alg
orithm for MaxBisection. – Theorem. Given a satisfiable MaxBisection instanc
e, it is easy to find a (.49, .51)-balanced cut of value .
)1( ))(1( g
)1( )log1( 13/1
)1(
)1(
00)( asg
Extension to MinBisection• MinBisection
– minimize edges(A, B)/|V|, s.t. B = V - A, |B| = |A|
• Our result– Theorem. There is a vs approximation algor
ithm for MaxBisection. – Theorem. Given a MinBisection instance of value , it
is easy to find a (.49, .51)-balanced cut of value .
13/1 log
The rest of this talk...
• Previous algorithms for MaxBisection.
• Theorem. There is a vs approximation algorithm for MaxBisection.
)1( )log1( 20/1 n
Previous algorithms for MaxBisection
The GW algorithm for (almost perfect) MaxCut [GW95]
• MaxCut objective
• SDP relaxation
Eji
ji xx
EMaxCut
),( 2
1
||
1max subject
toVixi ,12
-1 0 1
subject to
Vivi ,1|||| 2
MaxCut = 2/3
SDP ≥ MaxCut
Eji
ji vv
ESDP
),( 2
,1
||
1max
In this example:SDP = 3/4 > MaxCut
The "rounding" algorithm
• Lemma. We can (in poly time) get a cut of value when• Algorithm. Choose a random hyperplane, the hyperplan
e divides the vertices into two parts. • Analysis.
11SDP
subject to
Vivi ,1|||| 2
Eji
ji vv
ESDP
),( 2
,1
||
1max
The "rounding" algorithm (cont'd)
• Lemma. We can (in poly time) get a cut of value when• Algorithm. Choose a random hyperplane, the hyperplan
e divides the vertices into two parts. • Analysis.
– implies for most edges (i, j), their SDP contribution is large
– Claim. If , then
– Therefore, the random hyperplane cuts many edges (in expectation)
11SDP
subject to
Vivi ,1|||| 2
Eji
ji vv
ESDP
),( 2
,1
||
1max
12/),1( ji vv1]hyperplanerandombyseperated,Pr[ ji vv
1SDP2/),1( ji vv
The "rounding" algorithm (cont'd)
– Claim. If , then
– Proof.
12/),1( ji vv1]hyperplanerandombyseperated,Pr[ ji vv
vi vj
vi, vj seperated by the hyperplane
vi, vj not seperated by the hyperplane
O
vv
vv
vv
ji
ji
ji
121arccos
1
,arccos1
2
,arccos2
2
2
]seperated,Pr[
21, ji vv
Known algorithms for MaxBisection• The standard SDP (used by all the previous algorithms)
• Gives non-trivial approximation gaurantee
• But does not help find almost perfect MaxBisection
Eji
ji vv
E ),( 2
,1
||
1max
0Vi
iv, subject to
Vivi ,1|||| 2
Bisection condition
Known algorithms for MaxBisection (cont'd)
• The standard SDP (used by all the previous algorithms)
• The "integrality gap"
Eji
ji vv
E ),( 2
,1
||
1max
0Vi
iv, subject to
OPT < 0.9 SDP = 1
Vivi ,1|||| 2
Known algorithms for MaxBisection (cont'd)
• The standard SDP (used by all the previous algorithms)
• The "integrality gap" : instances that OPT < 0.9, SDP = 1
• Why is this a bad news for SDP?– Instances that OPT > 1 - ε, SDP > 1 - ε– Instances that OPT < 0.9, SDP > 1 - ε
– SDP cannot tell whether an instance is almost satisfiable (OPT > 1 - ε) or not.
Eji
ji vv
E ),( 2
,1
||
1max
0Vi
iv, subject to
Vivi ,1|||| 2
Our approach
• Theorem. There is a vs approximation algorithm for MaxBisection.
)1( )log1( 20/1 n
A simple fact• Fact. -balanced cut of value bisection of val
ue .
• Proof. Get the bisection by moving fraction of random vertices from the large side to the small side.– fraction of cut edges affected : at most in expectati
on
• Only need to find almost bisections.
)2/1,2/1( c2c
2
Almost perfect MaxCuts on expanders• λ-expander: for each , such that , we have , where
)(
),(
Svol
SVSedgesVS 2/)()( VvolSvol
Si
idSvol )(
G=(V,E)G=(V,E)
SS
Almost perfect MaxCuts on expanders (cont'd)
• λ-expander: for each , such that , we have , where
• Key Observation. The (volume of) difference between two cuts on a λ-expander is at most .
• Proof.
)(
),(
Svol
SVSedgesVS 2/)()( VvolSvol
)1( )(/2 Vvol
AA BB
CC
DD
1),( BAcut 1),( DCcut
XX
YY
)(2),( VvolYXVYXedges
)(/2)( VvolYXvol
Si
idSvol )(
Almost perfect MaxCuts on expanders (cont'd)
• λ-expander: for each , such that , we have , where
• Key Observation. The (volume of) difference between two cuts on a λ-expander is at most .
• Approximating almost perfect MaxBisection on expanders is easy.– Just run the GW alg. to find the MaxCut.
)(
),(
Svol
SVSedgesVS 2/)()( VvolSvol
)1( )(/2 Vvol
Si
idSvol )(
The algorithm (sketch)• Decompose the graph into expanders
– Discard all the inter-expander edges
• Approximate OPT's behavior on each expander by finding MaxCut (GW)– Discard all the uncut edges
• Combine the cuts on the expanders– Take one side from each cut to get an almost bisection.
(subset sum)
G=(V,E)G=(V,E)
Step 1: decompose into expanders
Step 2: find MaxCutStep 3:combine pieces
Expander decomposition• Cheeger's inequality. Can (efficiently) find a cut of sparsi
ty if the graph is not a -expander.• Corollary. A graph can be (efficiently) decomposed into
-expanders by removing edges (in fraction).• Proof.
– If the graph is not an expander, divide it into small parts by sparsest cut (cheeger's inequality).
– Process the small parts recursively.
nlog
G=(V,E)G=(V,E)
λ-expanderλ-expander
The algorithm • Decompose the graph into -expanders.
– Lose edges.
• Apply GW algorithm on each expander to approximate OPT.– OPT(MaxBisection) = – GW finds cuts on these expanders
• different from behavior of OPT– Lose edges.
• Combine the cuts on the expanders (subset sum).
• -balanced cut of value • a bisection of value
10/1
)1( )1(
10/110/12/1 /
nlog20/1
2/1
),( 10/12
110/12
1 )log1( 20/1 n)log1( 20/1 n
• Proved:• Theorem. There is a vs approximation al
gorithm for MaxBisection.
• Will prove:• Theorem. There is a vs approximation al
gorithm for MaxBisection.
)1( )log1( 20/1 n
)1( )log1( 120/1
short story
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.
nlog20/1
(101, 304)(397, 201)(3, 5)(6, 2)(5, 1)(3, 2)
(515, 515)sum
(8, 0)(8, 0)(6, 0)(5, 0)
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.
nlog20/1
(101, 304)(397, 201)
(498, 505)sum
(8, 0)(8, 0)(6, 0)(5, 0)
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.
nlog20/1
(101, 304)(397, 201)
(506, 505)sum
(8, 0)(8, 0)(6, 0)(5, 0)
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.
nlog20/1
(101, 304)(397, 201)
(506, 513)sum
(8, 0)(0, 8)(6, 0)(5, 0)
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.
nlog20/1
(101, 304)(397, 201)
(512, 513)sum
(8, 0)(0, 8)(6, 0)(5, 0)
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.
nlog20/1
(101, 304)(397, 201)
(517, 513)sum
(8, 0)(0, 8)(6, 0)(5, 0)
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.– However, making small items more balanced might be a bad idea.
nlog20/1
(200, 0)(0, 2)
(200, 200)sum
(0, 2)
(0, 2)
100copies
Eliminating the factor• Recall. Only need to find almost bisections ( -close to a
bisection)
• Observation. Subset sum is "flexible with small items"– Making small items more biased does not change the solution too much.– However, making small items more balanced might be a bad idea.
nlog20/1
(200, 0)(1, 1)
(300, 100)sum
(1, 1)
(1, 1)
100copies
Eliminating the factor (cont'd)
• Idea. Terminate early in the decomposition process. Decompose the graph into – -expanders (large items), or – subgraphs of vertices (small items).
• Corollary. Only need to discard edges.
• Lemma. We can find an almost bisection if the MaxCuts we get for small sets are more biased than those in OPT.
nlog
10/1n
120/1 log
Finding a biased MaxCut• To find a cut that is as biased as OPT and as good as OPT
(in terms of cut value).
• Lemma. Given G=(V,E), if there exists a cut (X, Y) of value , then one can find a cut (A, B) of value , such that .
)1( )1( |||||| VXA
MaxBisectionMaxBisection Biased MaxCutBiased MaxCut
The algorithm • Decompose the graph into -expanders or small parts.
– Lose edges.
• Apply GW algorithm on each expander to approximate OPT.– Lose edges, different from OPT
• Find biased MaxCuts in small parts.– Lose edges, at most less biased than OPT
• Combine the cuts on the expanders and small parts (subset sum).
• -balanced cut of value • a bisection of value
10/1
10/110/12/1 /
120/1 log
2/1
),( 10/12
110/12
1 )log1( 120/1
2/1
)log1( 120/1
2/1
Finding a biased MaxCut -- A simpler task• Lemma. Given G=(V,E), if there exists a cut (X, Y) of value
, then one can find a cut (A, B) of value , such that .
• SDP.
• Claim. SDP ≥ |X|/|V|
)1( )1( 8 |||||| 8 VXA
Vi
ivv
V 2
,1
||
1 0
maximize
subject to
Vji
ji vv
E ),(
12
,1
||
1
Vivi }0{,1|||| 2
--- Bias
--- Cut value
Rounding algorithm (sketch)• Goal: given SDP solution, to find a cut (A, B) such that
– –
• For most ( fraction) edges (i, j), we have
• vi, vj are almost opposite to each other: vi ≈ - vj,
• Indeed,
81),( BAcut8||/|| SDPVA
12
,1 ji vv
1
00 ,, vvvv ji
422
000
2,2
|,||,,|
jiji
jijiji
vvvv
vvvvvvvvv
21,1 ji vv
Rounding algorithm (sketch) (cont'd)
• Project all vectors to v0
• Divide v0 axis into intervals– length =
• Most ( fraction ) edges' incident vertices fall into opposite intervals (good edges)
• Discard all bad edges
400 ,, vvvv jifor most edges (i, j):
v0
48
81
I(-4) I(-3) I(-2) I(-1) I(1) I(2) I(3) I(4)
8
Rounding algorithm (sketch) (cont'd)
• Let the cut (A, B) be– for each pair of intervals I(k) and I(-k), let A include the one with more vertices, B include the other
• (A, B) cuts all good edges v0
-4 -3 -2 -1 1 2 3 481),( BAcut
Rounding algorithm (sketch) (cont'd)
• Let the cut (A, B) be– for each pair of intervals I(k) and I(-k), let A include the one with more vertices, B include the other
• For each i in I(k) For each i in I(-k)8
0 )1(, kvvi
8
)()(
0 |))(||)((|||})(||,)(max{|2
,1kIkIkIkI
vv
kIkIi
i
80 )1(, kvvi
8
)()(
0 ||||})(||,)(max{|2
,1VkIkI
vvSDP
kk kIkIi
i
8|||| VA
Finding a biased MaxCut • Lemma. Given G=(V,E), if there exists a cut (X, Y) of value
, then one can find a cut (A, B) of value , such that .
• SDP.
)1( )1( |||||| VXA
Vi
ivv
V 2
,1
||
1 0
maximize
subject to
Vji
ji vv
E ),(
12
,1
||
1
Vivi }0{,1|||| 2
Vjivv
vvv jiji
,,
2
|||||,|
2
0 -triangle inequality
22
--- Bias
--- Cut value
Future directions• vs approximation?
• "Global conditions" for other CSPs.– Balanced Unique Games?
)1( )1(
The End.
Any questions?
Eliminating the factor• Another key step.
• Idea. Terminate early in the decomposition process. Decompose the graph into -expanders or subgraphs of vertices.
• Corollary. Only need to discard edges.
• Lemma. We can find an almost bisection if the MaxCuts for small sets are more biased than those in OPT.
nlog
10/1n
120/1 log
MaxBisectionMaxBisection Biased MaxCutBiased MaxCut
Finding a biased MaxCut• Lemma. Given G=(V,E), if there exists a cut (X, Y) of value
, then one can find a cut (A, B) of value , such that .
• SDP.
• Rounding. A hybrid of hyperplane and threshold rounding.
)1( )1( |||||| VXA
Vi
ivvV
,||
10maximize
subject to
Vji
ji vv
E ),(
12
,1
||
1
Vivi }0{,1|||| 2
Vjivv
vvv jiji
,,
2
|||||,|
2
0 -triangle inequality
22
Future directions• vs approximation?
• "Global conditions" for other CSPs.– Balanced Unique Games?
)1( )1(
The End.
Any questions?