shared memory exact minimum cuts
play

Shared-Memory Exact Minimum Cuts M. Henzinger, A. Noe, C. Schulz, D. - PowerPoint PPT Presentation

Shared-Memory Exact Minimum Cuts M. Henzinger, A. Noe, C. Schulz, D. Strash 1 Christian Schulz : Shared-Memory Exact Minimum Cuts Kernelization General Idea Reductions: rules to decrease graph size, while maintaining optimality solve


  1. Shared-Memory Exact Minimum Cuts M. Henzinger, A. Noe, C. Schulz, D. Strash 1 Christian Schulz : Shared-Memory Exact Minimum Cuts

  2. Kernelization General Idea Reductions: rules to decrease graph size, while maintaining optimality → solve problem on problem kernel → obtain solution on input graph 2 Christian Schulz : Shared-Memory Exact Minimum Cuts

  3. Kernelization General Idea Reductions: rules to decrease graph size, while maintaining optimality → solve problem on problem kernel (using a heuristic) → obtain solution on input graph quickly 2 Christian Schulz : Shared-Memory Exact Minimum Cuts

  4. Kernelization General Idea Reductions: rules to decrease graph size, while maintaining optimality → Independent Sets evolutionary [SEA’15] reduction + evolutionary [ALX’16] online reductions + LS [SEA’16] shared-mem parallel [ALX’18] solve problem on problem kernel → obtain solution on input graph weighted exact [ALX’19] 2 Christian Schulz : Shared-Memory Exact Minimum Cuts

  5. Kernelization General Idea Reductions: rules to decrease graph size, while maintaining optimality → Independent Sets ... shared-mem parallel [ALX’18] weighted exact [ALX’19] solve problem on problem kernel “Graph Partitioning” [...] → obtain solution on input graph Minimum Cuts shared-mem parallel [ALX’18] exact minimum cut [ALX’19] 2 Christian Schulz : Shared-Memory Exact Minimum Cuts

  6. Concrete Example “(In)exact Reductions” in Minimum Cuts joint work with M. Henzinger, A. Noe, D. Strash 2 Christian Schulz : Shared-Memory Exact Minimum Cuts

  7. Minimum Cuts Cut: A cut in a multigraph is a partition of V = C ∪ C → size of the cut is weight of edges between C and C Minimum Cut Problem: what is the size of the minimum cut in G ? 3 Christian Schulz : Shared-Memory Exact Minimum Cuts

  8. Basics If the size of the minimum cut is λ , then it follows ∀ v ∈ V : deg ( v ) ≥ λ number of edges m ≥ n λ /2 Proof: Assume ∃ v ∈ V : deg ( v ) < λ , then C = { v } is a cut whose size is < λ . Contradiction. The second claim follows from the first one. 4 Christian Schulz : Shared-Memory Exact Minimum Cuts

  9. Contraction In a multigraph G , let u and v be connected by an edge e = { x , y } Create G / e = ( V ′ , E ′ ) by contracting e : set V ′ to V \{ x , y } ∪ { z } ( z is new) build E ′ from E by remove all edges between u and v replace every edge between v ∈ V \{ x , y } and x or y by an edge between v and z keep all other edges from E → multi-edges can be created ( � practice use weights)! 5 Christian Schulz : Shared-Memory Exact Minimum Cuts

  10. Minimum Cut ↔ Contraction A minimum cut in G / e is at least as a minimum cut in G . Proof: Let ( K , K ) be a minimum cut in G / e . Let the size of the cut be λ . Wlog let x and y be the vertices of e , and z ∈ K Unpack z and leave x and y in K → cut in G of size λ A 6 Christian Schulz : Shared-Memory Exact Minimum Cuts

  11. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  12. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  13. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  14. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  15. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  16. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  17. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  18. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  19. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- The runtime of the simple minimum cut algorithm is O ( n 2 ) Proof: every call contract( H , e ) is done in O ( n ) every loop iteration reduces n by 1 → n − 2 iterations 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  20. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- The algorithm finds a minimum cut with probability Ω ( n − 2 ) Proof (sketch): let minimum cut size be λ λ λ probability to select a cut edge | E | ≤ n λ /2 = 2/ n p n probability that n -vertex graph avoids cut edges 2 ) − 1 p n ≥ ( 1 − 2/ n ) p n − 1 ≥ . . . = ( n 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  21. Algorithm Exibit A H ← G while H has more than 2 nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done ( C , C ) ← vertex set in G that correspond to the vertices in H ————————————————- Standard Trick: Multiple Repetitions non-error probability 1/ n 2 very low smallest out of n 2 /2 is minimum with probability 1 − 1/ e : ( 1 − 2/ n 2 ) 2/ n 2 < 1/ e � runtime O ( n 4 ) 7 Christian Schulz : Shared-Memory Exact Minimum Cuts

  22. Better Algorithm IterContract H ← G while H has more than t nodes do e ← edge of H picked uniformly at random H ← contract( H , e ) done return H H still contains minimum cut with probability at least ( t 2 ) / ( n 2 ) 8 Christian Schulz : Shared-Memory Exact Minimum Cuts

  23. Karger-Stein if | V | ≤ 6 then C ← optimial cut by deterministic algorithm else √ t ← ⌈ 1 + n / 2 ⌉ H 1 ← IterContract( G , t ) H 2 ← IterContract( G , t ) C 1 ← CallRecursive( H 1 ) C 2 ← CallRecursive( H 2 ) C ← min ( C 1 , C 2 ) done return C � running time O ( n 2 log n ) � minimum cut with probability Ω ( 1/ log n ) � repeat log 2 n to achieve probability Ω ( 1/ n ) 9 Christian Schulz : Shared-Memory Exact Minimum Cuts

  24. Main Questions how can kernelization help? 10 Christian Schulz : Shared-Memory Exact Minimum Cuts

  25. Main Questions something better than contracting random edges? 10 Christian Schulz : Shared-Memory Exact Minimum Cuts

  26. Main Questions can we still obtain good cuts in practice? 10 Christian Schulz : Shared-Memory Exact Minimum Cuts

  27. Main Questions can we then use this to obtain better kernels? 10 Christian Schulz : Shared-Memory Exact Minimum Cuts

  28. Kernelization Padperg-Rinaldi Tests deg ( x ) ≤ 2 ω ( x , y ) 11 Christian Schulz : Shared-Memory Exact Minimum Cuts

  29. Kernelization Padperg-Rinaldi Tests ω ( x , y ) ≥ ˆ λ 12 Christian Schulz : Shared-Memory Exact Minimum Cuts

  30. Kernelization Padperg-Rinaldi Tests ∃ z : deg ( x ) ≤ 2 { ω ( x , y ) + ω ( x , z ) } and deg ( y ) ≤ 2 { ω ( x , y ) + ω ( y , z ) } 13 Christian Schulz : Shared-Memory Exact Minimum Cuts

  31. Kernelization Padperg-Rinaldi Tests ω ( x , y ) + ∑ z min { ω ( x , z ) , ω ( y , z ) } ≥ ˆ λ 14 Christian Schulz : Shared-Memory Exact Minimum Cuts

  32. Kernelization Nagamochi, Ono, and Ibaraki Key Idea: a spanning tree contains at least one edge from any cut Let ˆ λ be your current bound for minimum cut Want: smaller minimum cut Compute ˆ λ − 1 maximal spanning forests (iteratively) � edges not in forests connect vertices with connectivity ≥ ˆ λ � contract all of them Example: ˆ λ = 4 � compute 3 edge-disjoint spanning forests 15 Christian Schulz : Shared-Memory Exact Minimum Cuts

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend