1 / 16

Maximum Flow by Incremental Breadth First Search

Maximum Flow by Incremental Breadth First Search. Andrew V. Goldberg Microsoft Research. Sagi Hed Tel Aviv University. Haim Kaplan Tel Aviv University. s. Renato F. Werneck Microsoft Research. Robert E. Tarjan Princeton University & HP Labs. Maximum Flow.

myron
Télécharger la présentation

Maximum Flow by Incremental Breadth First Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maximum Flow byIncrementalBreadth First Search Andrew V. Goldberg Microsoft Research Sagi Hed Tel Aviv University Haim Kaplan Tel Aviv University s Renato F. Werneck Microsoft Research Robert E. Tarjan Princeton University & HP Labs

  2. Maximum Flow • Input: directed graph G=(V,E), vertices s, t є V and capacity assignment c(e) for e є E • Output: flow function f satisfying -conservation: for every v≠s,t Σ(u,v)єE f(u,v) = Σ(v,u)єE f(v,u) capacity: for every e f(e) ≤ c(e)with maximal |f|=sum of flow out of s (into t) • Well studied problem • Equivalent to the Minimum s-t Cut problem • Solution methods:Augmenting Path (and blocking flow), Network Simplex, Push-Relabel

  3. Maximum Flowin Computer Vision • Graphs have specific structure • Regular low degree grids • Arc capacities: different models for grid arcs and s-t arcs

  4. BK • Boykov and Kolmogorov developed an algorithm (BK) which is the fastest in practice on the vision instances[Boykov, Kolmogorov 04] • Used as the standard min-cut algorithm in computer vision • Usually outperforms Push-Relabel implementation by considerable factors • Problem: BK has no known polynomial time guarantee…Best bound is O(mnF) for integral capacities (F is the maximal flow value) • Indeed on some instances, BK performs poorly and is outperformed by Push-Relabel implementation

  5. Our ContributionIBFS • We develop the IBFS algorithm –Incremental Breadth First Search • Has many similarities to BK • However, performs shortest path or nearly shortest path augmentations • Competative in practice to BKUsually outperforms BK by small factors • Has a polynomial worst case time guaranteeO(mn2)

  6. Augmenting Path Algorithms • Augmenting path algorithms constantly maintain a flow function f, fconstantly increases. • When the algorithm terminates f is maximal • Augmentation: add (maximal) Xto flow along an s-t path • Residual graph: Gf = (V,Ef)Ef = {(u,v) | (u,v) є E V f(u,v) < c(u,v)} U {(v,u) | (u,v) є E V f(u,v) > 0}Extend f and c to f(v,u)=-f(u,v) and c(v,u)=0 for (u,v)є E • Ford & Falkerson: augmentations in Gf give maximal flow s

  7. BK Overview • Maintain trees S, T in the residual graph • Iterate 3 phases: Growth, Augmentation, Adoption • Growth: grow S and T bi-directionally t s s S T

  8. BK Overview • Augmentation: when the trees meet, we augment flow • Adoption: after an augmentation, we try to reconnect “orphaned” sub-trees s s t S T

  9. IBFS Overview • We maintain S, T as BFS trees with heights ≈ Ds , Dt • Augment on shortest or nearly shortest paths (+1) s s shortest+1 t shortest S T

  10. IBFS Overview • Adoption / how to rebuild the trees:If subtree reconnects at the same level, we’re done t s s S T Ds Dt

  11. IBFS Overview • Otherwise: • Relabel: set label to lowest potential parent + 1 • Make children into orphan sub-trees s s t S T

  12. IBFS Overview • BFS trees => worst case bound O(mn2)(must also maintain a current arc) t s s S T

  13. IBFS vs. BK • Maintaining BFS trees=> more work rebuilding the trees after each augmentation • Shortest augmenting paths=> less work in each augmentation • Shortest augmenting paths lead to less augmentations=> growth steps • We get rid of the parent traversal step s

  14. IBFS Experiments • Ran on computer vision instancespublic benchmark [http://vision.csd.uwo.ca/maxflow-data/]our own creation [http://www.cs.tau.ac.il/~sagihed/ibfs/] • BK implementation available publicly [http://vision.csd.uwo.ca/code/] • We compare to a modified version of BK, with the same low level optimizations as our own (≈ 20% faster) • IBFS outperforms BK on all but two instances:2 different capacity versions of the instance “bone” • Factors are mostly modest. For few they are large. s

  15. IBFS Experiments • Operation Counts(per vertex) s

  16. Thank you! s

More Related