Transcript gc2008 7722
A Faster Algorithm for Computing
the Principal Sequence of Partitions
of a Graph
Vladimir Kolmogorov
University College London
Graph partitioning
Undirected weighted graph, weights ce 0
Cost l 0
Partition P
Minimise objective function:
l
E (P) c( (P)) l | P |
[Cunningham’85]: “network attack” problem
• Attacker’s goal: disconnect the network
• ce : cost to break edge e
• l : benefit for each additional connected component
Principal sequence of partitions
Increase l from 0 to +:
• Nested partitions
• Principal sequence of partitions [Narayanan’91]
0
Network strength:
l1
c( (P))
l1 min
|P| 1
| P | 1
l2
l3
l
Principal sequence of partitions
Applications:
• Network reliability
• Physics: computing partition function of Potts model
in the infinite state limit [d’Auriac et al.’02]
• Image partitioning??
Graph partitioning: Algorithms
Fixed l (network attack) [Narayanan’91,Baranona’92,d’Auriac et al.’02]
nT
l1 (network strength) [Cheng&Cunnigham’94 (memory!)] , [Gabow’98]
n T*
All l‘s (principal sequence) [Narayanan’91]
O(n2) T
THIS WORK
n : # of nodes
T : maxflow algorithm
m : # of edges
T* : parametric maxflow
n T*
Parametric maxflow
Minimise for all l’s: E l ( x)
A (l ) x V
u
u
u
uv
( xu , xv )
( u ,v )
• Terms Vuv(xu, xv) – submodular
• Unary terms Au(l): non-decreasing functions of l
0
Nested sequence of solutions
[Gallo,Grigoriadis,Tarjan’89]: same worst-case complexity as
for a single maxflow - O(nm log(n2/m))
l1
l2
l3
l
Graph partitioning: Algorithms
Fixed l (network attack) [Narayanan’91,Baranona’92,d’Auriac et al.’02]
nT
l1 (network strength) [Cheng&Cunnigham’94 (memory!)] , [Gabow’98]
n T*
All l‘s (principal sequence) [Narayanan’91]
O(n2) T
THIS WORK
Outline:
• Part I: review of [Barahona’92] (fixed l)
• Part II: generalising [Barahona’92] (fixed l)
• Part III: parametric algorithm
(all l’s)
n T*
Part I: Review of [Barahona’92] algorithm
Solving network attack for fixed l
Relation to set minimisation
Cost of partition P:
Cost of subset A V :
l
E (P) c( (P)) l | P |
l
f ( A) c( ( A)) 2l
1
l
E (P) f ( A)
2 AP
l
Polymatroid P( f l) [Edmonds’70]
Set of linear lower bounds:
y ( A) yu
uA
l
y
(
A
)
f
( A)
l
V
P( f ) y R
for all non - empty subsets A
Non-empty subset A is tight for yP( f l) if
y( A) f l ( A)
Optimality condition
yP( f l) and
all subsets AP are tight
P minimises E l()
Greedy algorithm [Edmonds’70]:
compute maximal vector yP( f l)
Init: pick yP( f l)
For each node vV:
• Increase yv as much as possible
v
Greedy algorithm [Edmonds’70]:
compute maximal vector yP( f l)
Init: pick yP( f l)
For each node vV:
• Increase yv as much as possible
l
f ( A) y ( A) min
subject to v A
update yv so that
y ( A) f l ( A)
l
f
( A) y ( A) 0
l
V
P( f ) y R
for all non - empty subsets A
v
A
Updating P
Init: pick yP( f l), P
For each node vV:
• Increase yv as much as possible
•
P P[ A]
l
f ( A) y ( A) min
subject to v A
update yv so that
y ( A) f l ( A)
Summary
Introduced:
• Submodular function f l
• Polymatroid P( f l)
• Tight subsets A for yP( f l)
Greedy algorithm: compute maximal vector yP( f l)
• Invariants:
– yP( f l)
– Subsets A P are tight
• In the end P complete global minimum
• n min cuts
Part II: Generalising greedy algorithm
Non-greedy algorithm
Init: pick yP( f l)
For each node vV:
f l ( A) y ( A) min
subject to v A
[optional]
update yv so that
decrease yu for u A so that
l
y
(
A
)
f
( A)
optimality of A is preserved
Correctness: see paper
• yP( f l)
• Subsets A P are tight
A
Part III: New parametric algorithm
Solving network attack for all l‘s
Overview
Maintain families {yl}l and
{Pl}l for all l 0
f l ( Al ) y l ( Al ) min
subject to v Al
[optional]
Need to solve parametric
problem for all l’s
decrease yul for u Al so that
optimality of Al is preserved
update yvl so that
y l ( Al ) f l ( Al )
Naïve idea: use greedy algorithm
Does not quite work...
• Functions yvl – piecewiselinear with many breakpoints
f l ( Al ) y l ( Al ) min
subject to v Al
• Non-monotonic!
update yvl so that
y l ( Al ) f l ( Al )
[Cheng&Cunningham’94]
Decreasing sequence l1 > l2 > ... > lk
Solve for li (n min cuts), use final y as initialisation for li+1
• k maxflow problems for each node u are parametric
To exploit it, need to store n graphs of size O(n+m)!
Can compute network strength, but not principal sequence
Use non-greedy algorithm!
l
Functions yu - monotonic
f l ( Al ) y l ( Al ) min
piecewise-linear with one breakpoint
l
subject to v A
[optional]
decrease yul for u Al so that
l
yu
optimality of Al is preserved
l
yu min au 2l , bu
l
update yvl so that
y l ( Al ) f l ( Al )
l
Modifying yu
l
yu
l
v
u
v
v
u
u
v
u
l
l
Modifying yu
l
yu
l
v
u
v
v
u
u
v
u
l
Special case: node v
l
yv
yvl : f l ({v})
l
v
v
v
v
l
Correctness
Need to show: for each l – non-greedy algorithm
• Claim 1: updating y l preserves optimality of Al
• Claim 2:
l
l
l
l
f (A ) y (A )
Claim 1
Family {Al}l is an optimal solution of
f l ( Al ) y l ( Al ) min
subject to v Al
for modified family {yl}l
v
v
v
v
l
Claim 1
l
yu
f l(.)-y l(.) : submodular
y lu : stay monotonic
nestedness
l
v
u
v
v
u
u
v
u
l
Conclusions & Discussion
Computing principal sequence: improved complexity
O(n2) T
n T*
• Practical speed: remains to be seen
Graph/image partitioning?
• Potential problem: regions of different sizes
• Different l‘s for different parts of the graph?
• Preprocessing: initial weight => edge threshold
– same or larger
Graph partitioning & submodularity
X: subset of edges
k(X)=# connected components in (V, X)
• Supermodular
Function c( X ) l k ( X )
is submodular
• Can be minimised in polynomial time
• Minimum corresponds to “valid” partition P
• E l (P) const c( X ) l k ( X )
Updating partitions:
P l P l [ Al ]
l
l
Claim 2
l
l
l
l
f (A ) y (A )
for modified family {yl}l
v
v
v
v
l