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: [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] Network strength:
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] l1 (network strength) [Cheng&Cunnigham’94 (memory!)] , [Gabow’98] All l‘s (principal sequence) [Narayanan’91] n T n T* O(n2) T n T* THIS WORK n : # of nodes m : # of edges T : maxflow algorithm T* : parametric maxflow
Parametric maxflow Minimise for all l’s: Nested sequence of solutions Terms Vuv(xu, xv) – submodular Unary terms Au(l): non-decreasing functions of l Nested sequence of solutions [Gallo,Grigoriadis,Tarjan’89]: same worst-case complexity as for a single maxflow - O(nm log(n2/m))
Graph partitioning: Algorithms Fixed l (network attack) [Narayanan’91,Baranona’92,d’Auriac et al.’02] l1 (network strength) [Cheng&Cunnigham’94 (memory!)] , [Gabow’98] All l‘s (principal sequence) [Narayanan’91] 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 n T* O(n2) T n T* THIS WORK
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 :
Polymatroid P( f l) [Edmonds’70] Set of linear lower bounds: Non-empty subset A is tight for yP( f l) if
all subsets AP are tight 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 v A
Updating P Init: pick yP( f l), For each node vV: Increase yv as much as possible
Summary Introduced: Greedy algorithm: compute maximal vector yP( f l) 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: [optional] 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 Need to solve parametric problem for all l’s [optional]
Naïve idea: use greedy algorithm Does not quite work... Functions yvl – piecewise-linear with many breakpoints Non-monotonic!
[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! Functions - monotonic piecewise-linear with one breakpoint [optional]
Modifying v v v v u u u u
Modifying v v v v u u u u
Special case: node v v v v v
Correctness Need to show: for each l – non-greedy algorithm Claim 1: updating y l preserves optimality of Al Claim 2:
Claim 1 Family {Al}l is an optimal solution of for modified family {yl}l v v v v
f l(.)-y l(.) : submodular Claim 1 f l(.)-y l(.) : submodular y lu : stay monotonic nestedness v v v v u u u u
Conclusions & Discussion Computing principal sequence: improved complexity Practical speed: remains to be seen O(n2) T n T* 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 is submodular Can be minimised in polynomial time Minimum corresponds to “valid” partition P
Updating partitions:
Claim 2 for modified family {yl}l v v v v