breaking quadratic time for small vertex connectivity and
play

Breaking Quadratic Time for Small Vertex Connectivity and an - PowerPoint PPT Presentation

Breaking Quadratic Time for Small Vertex Connectivity and an Approximation Scheme Thatchaphol Saranurak Danupon Nanongkai Sorrachai Yingchareonthawornchai Danupon Nanongkai Thatchaphol Saranurak Sorrachai Yingchareonthawornchai KTH TTIC


  1. Breaking Quadratic Time for Small Vertex Connectivity and an Approximation Scheme Thatchaphol Saranurak Danupon Nanongkai Sorrachai Yingchareonthawornchai Danupon Nanongkai Thatchaphol Saranurak Sorrachai Yingchareonthawornchai KTH TTIC Aalto University @WOLA’19 22 July 2019

  2. Take Home Message: “Local algorithms are useful for vertex connectivity”

  3. Vertex Connectivity G = ( V , E ), | V | = n , | E | = m Compute the minimum number of vertices κ to be removed to disconnect the graph

  4. Part 1: Introduction Background and Results

  5. G = ( V , E ), | V | = n , | E | = m , k = κ *omit polylog factor Reference General m = O ( n ) mnk 2 n 2 Kleitman’69, Podderyugin’73, Even Tarjan’75 n 2 ( n + k 2 ) mk Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87 n 2 mnk Becker et al’82 (Randomized) m = O ( nk ) Can assume Nagamochi Ibaraki’92 n ω + nk ω n ω * Linial Lovasz Wigderson’88, Cheriyan Reif’91 mn n 2 * Henzinger Rao Gabow’00 (Randomized) mn + mk 2.5 + mn 3/4 k n 2 Gabow’06 (Deterministic) * state-of-the-art Even for m = O ( n ), k = O (1), O ( n 2 ) time remains since 1969

  6. G = ( V , E ), | V | = n , | E | = m , k = κ *omit polylog factor Reference General m = O ( n ) mnk 2 n 2 Kleitman’69, Podderyugin’73, Even Tarjan’75 n 2 ( n + k 2 ) mk Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87 n 2 mnk Becker et al’82 (Randomized) m = O ( nk ) Can assume Nagamochi Ibaraki’92 n ω + nk ω n ω * Linial Lovasz Wigderson’88, Cheriyan Reif’91 mn n 2 * Henzinger Rao Gabow’00 (Randomized) mn + m min{ k 2.5 + n 3/4 k } n 2 Gabow’06 (Deterministic) Even for m = O ( n ), k = O (1), O ( n 2 ) time remains since 1969

  7. G = ( V , E ), | V | = n , | E | = m , k = κ *omit polylog factor Reference General m = O ( n ) mnk 2 n 2 Kleitman’69, Podderyugin’73, Even Tarjan’75 n 2 ( n + k 2 ) mk Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87 n 2 mnk Becker et al’82 (Randomized) m = O ( nk ) Can assume Nagamochi Ibaraki’92 n ω + nk ω n ω Linial Lovasz Wigderson’88, Cheriyan Reif’91 mn n 2 Henzinger Rao Gabow’00 (Randomized) mn + m min{ k 2.5 + n 3/4 k } n 2 Gabow’06 (Deterministic) n 4/3 m + n 4/3 k 7/3 Our work (STOC’19) m + nk 3 n Our follow-up work’19, Forster Young’19 Near-linear time when k = O(polylog(n))

  8. Approximation O ( n 2.5 ) when k = Ω ( n 0.64.. ) Reference Time Approx Linial Lovasz Wigderson’88, min{ n 2.5 , n 2 k , n ω + nk ω } 2 Cheriyan Reif’91, Henzinger’97 m log n Censor-Hillel Gha ff ari Kuhn’14 min{ n 2.2+ o (1) , n ω } (1 + ϵ ) Our work* (STOC’19) For any k poly ( ϵ ) min { nk 2 , n 5/3+ o (1) k 2/3 , n 3+ o (1) 1 *Actual bound is m + , n ω } k Remark : use fast approximate s,t-vertex connectivity from Chuzhoy Khanna (STOC’19)

  9. Contributions (including our follow-up work)

  10. Breaking 50-year-old O ( n 2 ) time for small κ Near-linear time for κ = O (1) κ = O ( n 0.457 ) Fastest up to Fastest -approximation (1 + ϵ ) for any κ

  11. Follow-up’19: Testing k -Vertex Connectivity One-sided tester: k -vertex connected vs. -far ϵ Query Complexity Reference (Simplified) O ( 2 k +1 Goldreich Ron’02, Orenstein ˜ Open : polynomial #queries? Ron’11, Yoshida Ito’10, Yoshida’ ϵ k +1 ) Ito 12 O ( k 3 ˜ Forster Young’19 ϵ 2 ) O ( k ˜ ϵ 2 ) Our follow-up ’19

  12. Part 2: Techniques

  13. G = ( V , E ), | V | = n , | E | = m , k = κ *omit polylog factor Reference General m = O ( n ) mnk 2 n 2 Kleitman’69, Podderyugin’73, Even Tarjan’75 n 2 ( n + k 2 ) mk Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87 n 2 mnk Becker et al’82 m = O ( nk ) Can assume Nagamochi Ibaraki’92 n ω + nk ω n ω Linial Lovasz Wigderson’88, Cheriyan Reif’91 mn n 2 Henzinger Rao Gabow’00 (Randomized) mn + mk 2.5 + mn 3/4 k n 2 Gabow’06 (Deterministic) Barrier: Single-Source Vertex Connectivity No algorithm is known o ( n 2 ) Fix a node s , compute the smallest vertex-cut separating s from some node

  14. Part 2.1: Local Vertex Connectivity to replace Single-Source Vertex Connectivity Fix a node s , is there a vertex-cut “near” s ? (in sub-linear time) Explore around s

  15. Assumption: G is regular, m = O ( n ), κ = O (1) Notation: N ( L ) = neighbors of L ⊂ V N ( L ) L a vertex-cut

  16. Local Vertex Connectivity Explore around x Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either Target vertex-cut (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k ,

  17. Local Vertex Connectivity Explore around x Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , G Start x

  18. Local Vertex Connectivity Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , G Explore x

  19. Local Vertex Connectivity Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , G No small cut x

  20. Local Vertex Connectivity Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , Start G G No small cut x x N ( L ) L

  21. Local Vertex Connectivity Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , G G Explore No small cut x N ( L ) L

  22. Local Vertex Connectivity Input: LocalVC ( x ∈ V , ν , k ) where ν < m k Output: Either (2) a vertex-set L (1) declare that no L ⊂ V exists OR where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , G G Found a cut No small cut x N ( L ) L

  23. Local Vertex Connectivity Reading Input: LocalVC ( x ∈ V , ν , k ) where ν < m O ( ν k ) k Output: Either edges (2) a vertex-set L (1) declare that no L exists OR possible where | N ( L ) | < k where L ∋ x , | L | ≤ ν , | N ( L ) | < k , G G L x N ( L ) L

  24. History LocalVC Approximate Deterministic LocalVC G ν 1.5 LocalVC This work ν 1.5 k Yes (STOC ’19) ϵ 1.5 k Adapta&on of (Chechik, ν k k Hansen, Italiano, Loitzenbauer, - Yes Parotsidis SODA’17) N ( L ) N ( L ) L ν k 2 Forster Young’19 - No ν k ν k 2 Our follow-up’19 No ϵ

  25. Part 2.2: Vertex Connectivity via LocalVC G LocalVC N ( L ) N ( L ) L

  26. Suppose G has a vertex cut of size less than k Highly balanced Highly lopsided N ( L ) L | L | ≥ n /10 | R | ≥ n /10 | L | = n

  27. Suppose G has a vertex cut of size less than k Fact: Compute s , t -connectivity Highly balanced by s , t -Max-Flow in O ( mk ) = O ( n ) (e.g. Ford Fulkerson) Suppose | L | ≥ n /10, | R | ≥ n /10 s t Compute s , t -connectivity | L | ≥ n /10 | R | ≥ n /10 WANTED

  28. Suppose G has a vertex cut of size less than k Fact: Compute s , t -connectivity Highly balanced by s , t -Max-Flow in O ( mk ) = O ( n ) Suppose | L | ≥ n /10, | R | ≥ n /10 s t Sample pairs of nodes O (1) For each pair, Compute s , t -connectivity | L | ≥ n /10 | R | ≥ n /10 Total Time = O (1) × O ( n ) = O ( n ) WANTED

  29. Suppose G has a vertex cut of size less than k Highly balanced Highly lopsided N ( L ) L | L | ≥ n /10 | R | ≥ n /10 | L | = n

  30. Suppose G has a vertex cut of size less than k New Theorem: Highly lopsided Local Vertex Connectivity in O ( ν k 2 ) | L | ≤ ν , | N ( L ) | < k Start G Suppose 2 n | L | = n x Compute LocalVC ( x , ν := N ( L ) n , k ) L

  31. Suppose G has a vertex cut of size less than k New Theorem: Highly lopsided Local Vertex Connectivity in O ( ν k 2 ) | L | ≤ ν , | N ( L ) | < k G Found a cut Suppose 2 n | L | = n Sample nodes O ( n ) For each node, Compute LocalVC ( x , ν := N ( L ) N ( L ) L n , k ) Total Time = O ( nk 2 ) = O ( n ) n ) × O (

  32. Part 3: Local Vertex Connectivity in O ( ν k 2 )

  33. To Vertex Connectivity Directed Edge Connectivity

  34. Local Edge Connectivity Suppose L has 1 leaving edge Suppose L has 1 leaving edge DFS exactly DFS exactly 1. Reverse x,z-path 1. Reverse x,z-path 2. DFS will get stuck 2. DFS will get stuck ν + 1 ν + 1 and we get L and we get L edges edges

  35. Local Edge Connectivity Complete pseudocode: Repeat k times 1. Grow DFS tree from x 
 using exactly edges ν k If stuck, return a cut from DFS 2. 3. Sample an explore edge (y’,y) 4. Reverse the x,y’-path Terminate with no cut.

  36. Take Home Message: “Local algorithms are useful for vertex connectivity” G LocalVC N ( L ) N ( L ) L

Recommend


More recommend