Document 13071758

advertisement
On Partitioning Graphs via
Single Commodity Flows
Lorenzo Orecchia
UC Berkeley
Leonard J. Schulman
Caltech
Umesh V. Vazirani
UC Berkeley
Nisheeth K. Vishnoi
IBM Delhi – work done while visiting UC Berkeley
STOC 2008 , Victoria
The SPARSEST CUT problem
Given a graph G=(V,E) and partition (S, S )
| E(S, S ) |
Expansion of (S, S ) =
min{| S |,| S |}
E(S, S )
S
S
The SPARSEST CUT problem
Given a graph G=(V,E) and partition (S, S )
| E(S, S ) |
Expansion of (S, S ) =
min{| S |,| S |}
SPARSEST CUT:
find (S, S ) with minimum expansion !(G).
Applications: Divide-and-Conquer, Image Segmentation,
VLSI design, Clustering.
Theoretical Importance: Metric Embeddings, Spectral
Methods.
The SPARSEST CUT problem
Given a graph G=(V,E) and partition (S, S )
| E(S, S ) |
Expansion of (S, S ) =
min{| S |,| S |}
SPARSEST CUT:
find (S, S ) with minimum expansion !(G).
Applications: Divide-and-Conquer, Image Segmentation,
VLSI design, Clustering.
Theoretical Importance: Metric Embeddings, Spectral
Methods.
The SPARSEST CUT problem is NP-hard.
Approximation Algorithms for
SPARSEST CUT
Algorithm
Output Expansion
**
Running Time *
& d2n # **
O$$ 2 !!
% ' "
Spectral
2 d!
Leigthon-Rao
! log n
~ 2
O(n )
! log n
[ ARV ] poly(n)
~
[ AHK ] O(n2 )
ARV
~
*All graphs have been sparsified to O(n) edges.
** For a d-regular graph G.
Approximation Algorithms for
SPARSEST CUT
Algorithm
Output Expansion
**
Running Time *
& d2n # **
O$$ 2 !!
% ' "
Spectral
2 d!
Leigthon-Rao
! log n
~ 2
O(n )
! log n
[ ARV ] poly(n)
~
[ AHK ] O(n2 )
ARV
IN PRACTICE: Too slow for massive data sets.
Spectral and heuristics like METIS used instead.
~
*All graphs have been sparsified to O(n) edges.
** For a d-regular graph G.
Fast Approximation Algorithms
Algorithm
Output Expansion
**
Running Time *
& d2n # **
O$$ 2 !!
% ' "
Spectral
2 d!
Leigthon-Rao
! log n
~ 2
O(n )
! log n
[ ARV ] poly(n)
~
[ AHK ] O(n2 )
ARV
KRV
!(log n)
2
~
O(n3 / 2 )
CUT-MATCHING GAME: FRAMEWORK FOR COMPUTING APPROX USING
s-t MAXFLOW COMPUTATIONS
~
*All graphs have been sparsified to O(n) edges. ** For a d-regular graph G.
Fast Approximation Algorithms
Algorithm
Output Expansion
Leigthon-Rao
! log n
Running Time
~ 2
O(n )
ARV
! log n
[ ARV ] poly(n)
~
[ AHK ] O(n2 )
KRV
!(log n)2
~
O(n3 / 2 )
! log n
~ 3/2
O(n )
AK
~
*All graphs have been sparsified to O(n) edges.
** For a d-regular graph G.
Our Contribution
Algorithm
Output Expansion
Running Time
KRV
!(log n)2
~
O(n3 / 2 )
! log n
~
O(n3 / 2 )
! log n
~
O(n3 / 2 )
AK
THIS PAPER
IN KRV CUT-MATCHING
GAME FRAMEWORK
Our Contribution
Algorithm
Output Expansion
Running Time
KRV
!(log n)2
~
O(n3 / 2 )
! log n
~
O(n3 / 2 )
! log n
~
O(n3 / 2 )
AK
THIS PAPER
IN KRV CUT-MATCHING
GAME FRAMEWORK
LOWER BOUND
No better approx than Ω((log n)1/2) in KRV framework.
Our Contribution
Algorithm
Output Expansion
KRV
!(log n)2
~ 3/2
O(n )
! log n
~ 3/2
O(n )
! log n
~ 3/2
O(n )
AK
THIS PAPER
Running Time
LOWER BOUND
No better approx than Ω((log n)1/2) in KRV framework.
Best integrality gap for SDP is Ω(loglog(n)).
Our Contribution
Algorithm
Output Expansion
KRV
!(log n)2
~ 3/2
O(n )
! log n
~ 3/2
O(n )
! log n
~ 3/2
O(n )
AK
THIS PAPER
Running Time
LOWER BOUND
No better approx than Ω((log n)1/2) in KRV framework.
Best integrality gap for SDP is Ω(loglog(n)).
CUT-MATCHING RIGHT ABSTRACTION?
The KRV Cut-Matching Game
CUT PLAYER
H0
MATCHING PLAYER
The KRV Cut-Matching Game
CUT PLAYER
H0
(S1, S1 )
50-50 Cut
MATCHING PLAYER
The KRV Cut-Matching Game
CUT PLAYER
H0
MATCHING PLAYER
(S1, S1 )
M1
50-50 Cut
Perfect Matching
The KRV Cut-Matching Game
CUT PLAYER
H1
MATCHING PLAYER
(S1, S1 )
M1
50-50 Cut
Perfect Matching
The KRV Cut-Matching Game
CUT PLAYER
H1
MATCHING PLAYER
(S1, S1 )
M1
50-50 Cut
Perfect Matching
(S 2 , S2 )
50-50 Cut
The KRV Cut-Matching Game
CUT PLAYER
H1
(S1, S1 )
50-50 Cut
MATCHING PLAYER
M1
Perfect Matching
(S 2 , S2 )
M1
50-50 Cut
Perfect Matching
The KRV Cut-Matching Game
CUT PLAYER
H2
MATCHING PLAYER
(S1, S1 )
M1
50-50 Cut
Perfect Matching
(S 2 , S2 )
M1
50-50 Cut
Perfect Matching
…
The KRV Cut-Matching Game
CUT PLAYER
H2
MATCHING PLAYER
(S1, S1 )
M1
50-50 Cut
Perfect Matching
(S 2 , S2 )
M1
50-50 Cut
Perfect Matching
…
Go until time T when
1
"(HT ) !
4
GOAL:
GOAL:
Minimize T
Maximize T
The KRV Cut-Matching Game
CUT PLAYER
H2
MATCHING PLAYER
(S1, S1 )
M1
50-50 Cut
Perfect Matching
(S 2 , S2 )
M1
50-50 Cut
Perfect Matching
…
Go until time T when
1
"(HT ) !
4
GOAL:
GOAL:
Minimize T
Maximize T
KRV: there exists a cut strategy achieving T = O((log n)2).
The KRV Cut-Matching Game
Runs in time c(n)
per iteration
CUT PLAYER STRATEGY
T = t(n)
The KRV Cut-Matching Game
Runs in time c(n)
per iteration
Running time:
t(n)· (Tmaxflow + c(n))
CUT PLAYER STRATEGY
APPROXIMATION
ALGORITHM
T = t(n)
Approx Ratio:
t(n)
The KRV Cut-Matching Game
Runs in time c(n)
per iteration
CUT PLAYER STRATEGY
Running time:
t(n)· (Tmaxflow + c(n))
Time to
compute s-t
maxflow in G
~
O(n3 / 2 )
APPROXIMATION
ALGORITHM
T = t(n)
Approx Ratio:
t(n)
The KRV Cut-Matching Game
Runs in time c(n)
per iteration
CUT PLAYER STRATEGY
Running time:
t(n)· (Tmaxflow + c(n))
APPROXIMATION
ALGORITHM
T = t(n)
Approx Ratio:
t(n)
~
KRV strategy has c(n) = O(n) and t(n)= O((log n)2).
~
O(n3 / 2 )
TOTAL RUNNING TIME:
~ 3/2
O(n )
Our Version of the Cut-Matching Game
• MODIFIED GAME
1.No Stopping Condition
2.Value of Game is
!(HT )
T
Our Version of the Cut-Matching Game
• MODIFIED GAME
1.No Stopping Condition
2.Value of Game is
• STILL YIELDS
APPROX ALGORITHM
!(HT )
T
Approximation Ratio =
!(HT )
T
Our Version of the Cut-Matching Game
• MODIFIED GAME
1.No Stopping Condition
2.Value of Game is
• STILL YIELDS
APPROX ALGORITHM
!(HT )
T
Approximation Ratio =
!(HT )
T
• RESULTS
CUT STRATEGY:
MATCHING STRATEGY:
& 1 #
((HT ) '(log n)
!!
=
= '$$
2
T
O(log n)
% log n "
& 1 #
'(HT )
!
= O$
$ log n !
T
%
"
Cut Strategies: Finding Cuts Quickly
After t iterations, Ht = { M1, M2, …, Mt }.
= +1 charge
= –1 charge
Random assignment of charge
Cut Strategies: Finding Cuts Quickly
After t iterations, Ht = { M1, M2, …, Mt }.
= +1 charge
Random assignment of charge
= –1 charge
(x+y)/2
x
Mix the charges along
the matchings { M1, M2, …, Mt}
y
(x+y)/2
Cut Strategies: Finding Cuts Quickly
After t iterations, Ht = { M1, M2, …, Mt }.
= +1 charge
= –1 charge
Random assignment of charge
Cut Strategies: Finding Cuts Quickly
After t iterations, Ht = { M1, M2, …, Mt }.
= +1 charge
= –1 charge
Random assignment of charge
Cut Strategies: Finding Cuts Quickly
After t iterations, Ht = { M1, M2, …, Mt }.
= +1 charge
Random assignment of charge
= –1 charge
Mix the charges along
the matchings { M1, M2, …, Mt }
Cut Strategies: Finding Cuts Quickly
After t iterations, Ht = { M1, M2, …, Mt }.
= +1 charge
Random assignment of charge
= –1 charge
If cut is small,
unbalance remains.
Mix the charges along
the matchings { M1, M2, …, Mt }
Cut Strategies: Finding Cuts Quickly
Order the vertices according to the final charge present
and cut in half.
S
n/2
S
n/2
The KRV mixing walk
KRV-walk
.
At round t:
& I + Mt '1 #& I + Mt '2 # & I + M1 #
P( t ) = $
!$
!...$
!
% 2 "% 2 " % 2 "
Lazy random walk traversing matchings in order.
0
0
M1
M2
1
0
The KRV mixing walk
KRV-walk
.
At round t:
& I + Mt '1 #& I + Mt '2 # & I + M1 #
P( t ) = $
!$
!...$
!
% 2 "% 2 " % 2 "
Lazy random walk traversing matchings in order.
0
0
M1
Averaging
along M1
M2
1/2
1/2
The KRV mixing walk
KRV-walk
.
At round t:
& I + Mt '1 #& I + Mt '2 # & I + M1 #
P( t ) = $
!$
!...$
!
% 2 "% 2 " % 2 "
Lazy random walk traversing matchings in order.
1/4
1/4
M1
Averaging
along M2
M2
1/4
1/4
Sketch of KRV Analysis
1.
Mixing of P(t) measured by potential function
2
F
"t =|| P( t ) ! J / n ||
2.
If P(t) mixes well, Ht has good expansion.
Possible to embed Kn in Ht.
3.
Potential Reduction at every iteration
#t = #t "1 " L(Mt ) ! P( t )
Mixing due to
matching Mt
Decomposition possible as KRV walks matchings in order.
4.
Cut-finding procedure reduces potential by a fixed factor
&
1 #
!!
(t = (t '1$$1 '
% log n "
Yields expander in
O((log n)2) rounds
Why KRV cannot do better
Recall:
Approximation
is
!(HT )
T
Why KRV cannot do better
Recall:
Approximation
is
Can KRV get
better than O(1)
expansion?
Why KRV cannot do better
Recall:
Approximation
is
S
V-S
SUPPOSE:
Can KRV get
better than O(1)
expansion?
Walk on M1, M2, …, Mk mixes perfectly on S and V-S
and
no edge cross (S,V-S)
Why KRV cannot do better
Recall:
Mk+1
Approximation
is
Now walk mixes
perfectly.
Expansion is O(1).
S
V-S
SUPPOSE:
Can KRV get
better than O(1)
expansion?
Walk on M1, M2, …, Mk mixes perfectly on S and V-S
and
no edge cross (S,V-S)
Our Cut Strategy: a Different Walk
IDEA: use lazy natural random walk
I M1 + M2 + ... + Mt !1
P( t ) = +
2
2( t ! 1)
ADVANTAGES:
–
–
Eliminates bad case: possible to get better expansion.
Better handle on expansion through mixing by Cheeger’s Inequality.
CHALLENGE:
–
Impossible to decompose potential as in KRV.
#t = #t "1 " L(Mt ) ! P( t )
Additional matching modifies all steps of walk.
Our Cut Strategy: a Different Walk
IDEA: use lazy natural random walk
& I M1 + M2 + ... + Mt '1 #
!!
P( t ) = $$ +
2( t ' 1)
%2
"
d
ADVANTAGES:
–
–
Eliminates bad case: possible to get better expansion.
Better handle on expansion through mixing by Cheeger’s Inequality.
CHALLENGE:
–
Impossible to decompose potential as in KRV.
#t = #t "1 " L(Mt ) ! P( t )
Additional matching modifies all steps of walk.
Modified Walk and Matrix Inequalities
CHALLENGE:
Impossible to decompose potential as in
KRV.
Additional matching modifies all steps of walk.
SOLUTION:
Use round-robin walk close to natural walk:
Ni =
d
1
I+
Mi
d +1
d +1
P( t ) = (N1N2 ...Nt !1Nt !1Nt !2 ...N1 )
Apply matrix inequality:
t
( ABA ) ! A tB t A t
d
Modified Walk and Matrix Inequalities
CHALLENGE:
Impossible to decompose potential as in
KRV.
Additional matching modifies all steps of walk.
SOLUTION:
Use round-robin walk close to natural walk:
Ni =
d
1
I+
Mi
d +1
d +1
P( t ) = (N1N2 ...Nt !1Nt !1Nt !2 ...N1 )
Apply matrix inequality:
t
( ABA ) ! A tB t A t
#t = #t "1 " L(Mt ) ! P( t )
d
Modified Walk and Matrix Inequalities
CHALLENGE:
Impossible to decompose potential as in
KRV.
Additional matching modifies all steps of walk.
SOLUTION:
Use round-robin walk close to natural walk:
Ni =
d
1
I+
Mi
d +1
d +1
P( t ) = (N1N2 ...Nt !1Nt !1Nt !2 ...N1 )
Apply matrix inequality:
t
( ABA ) ! A tB t A t
#t = #t "1 " L(Mt ) ! P( t )
d
Modified Walk and Matrix Inequalities
SOLUTION:
Use round-robin walk close to natural.
Apply matrix inequality.
Yields same potential reduction as KRV.
But our walk is better related to expansion:
In O((log n)2) rounds,
conductance (1\log n) by Cheeger.
Modified Walk and Matrix Inequalities
SOLUTION:
Use round-robin walk close to natural.
Apply matrix inequality.
Yields same potential reduction as KRV.
But our walk is better related to expansion:
In O((log n)2) rounds,
conductance (1\log n) by Cheeger.
Ω(log n) expansion in O((log n)2) rounds.
Modified Walk and Matrix Inequalities
SOLUTION:
Use round-robin walk close to natural.
Apply matrix inequality.
Yields same potential reduction as KRV.
But our walk is better related to expansion:
In O((log n)2) rounds,
conductance (1\log n) by Cheeger.
Ω(log n) expansion in O((log n)2) rounds.
TIME: only polylog factors worse than KRV
Lower Bound
Matching player yielding
& 1 #
'(HT )
!
= O$
$ log n !
T
%
"
against any Cut player.
No better approximation than O((log n)1/2)
in KRV Cut-Matching game
Lower Bound Idea
A NAÏVE MATCHING PLAYER:
Fix a cut (S,V-S). Keep it as sparse as possible.
S
Lower Bound Idea
A NAÏVE MATCHING PLAYER:
Fix a cut (S,V-S). Keep it sparse.
Cut player
plays…
S
Lower Bound Idea
A NAÏVE MATCHING PLAYER:
Fix a cut (S,V-S). Keep it sparse.
Cut player
plays…
S
GAME OVER
Lower Bound Idea
A NAÏVE MATCHING PLAYER:
Fix a cut (S,V-S). Keep it sparse.
Cut player
plays…
S
GAME OVER
IDEA: hedge over many cuts
Lower Bound Idea
THE REAL PLAYER - AT START:
Matching player selects log(n) ‘orthogonal’ 50-50 cuts in V.
Orthogonal 50-50 cuts
Minimum correlation
Cut player cannot ‘kill’
many cuts at once
THE REAL PLAYER - THROUGHOUT THE GAME:
Matching player adds matchings to minimize average expansion.
Main Lemma
8 50-50 cut (S,V-S),
d
Hd = {! 1,+1}
Main Lemma
8 50-50 cut (S,V-S),
9 a perfect matching M, s.t.
d
Hd = {! 1,+1}
Main Lemma
8 50-50 cut (S,V-S),
9 a perfect matching M, s.t.
"| u ! v |
1
( u,v )#M
d
Hd = {! 1,+1}
( )
=O d
Conclusion and Open Problems
POWER OF CUT-MATCHING GAME:
Simple yet powerful framework for SPARSEST CUT.
OPEN QUESTION:
Can we use Cut-Matching to get fast (log n)1/2 approximation?
Download