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 AP
l
Polymatroid P( f l) [Edmonds’70]

Set of linear lower bounds:
y ( A)   yu
uA
l


y
(
A
)

f
( A)

l
V
P( f )   y  R

for all non - empty subsets A 


Non-empty subset A is tight for yP( f l) if
y( A)  f l ( A)
Optimality condition
yP( f l) and
all subsets AP are tight
 P minimises E l()
Greedy algorithm [Edmonds’70]:
compute maximal vector yP( f l)


Init: pick yP( f l)
For each node vV:
• Increase yv as much as possible
v
Greedy algorithm [Edmonds’70]:
compute maximal vector yP( f l)


Init: pick yP( f l)
For each node vV:
• 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 yP( f l), P  
For each node vV:
• 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 yP( f l)

Greedy algorithm: compute maximal vector yP( f l)
• Invariants:
– yP( 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 yP( f l)
For each node vV:
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
• yP( 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