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
Take Home Message: “Local algorithms are useful for vertex connectivity”
Vertex Connectivity G = ( V , E ), | V | = n , | E | = m Compute the minimum number of vertices κ to be removed to disconnect the graph
Part 1: Introduction Background and Results
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
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
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))
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)
Contributions (including our follow-up work)
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 κ
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
Part 2: Techniques
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
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
Assumption: G is regular, m = O ( n ), κ = O (1) Notation: N ( L ) = neighbors of L ⊂ V N ( L ) L a vertex-cut
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 ,
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
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
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
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
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
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
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
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 ϵ
Part 2.2: Vertex Connectivity via LocalVC G LocalVC N ( L ) N ( L ) L
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
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
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
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
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
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 (
Part 3: Local Vertex Connectivity in O ( ν k 2 )
To Vertex Connectivity Directed Edge Connectivity
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
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.
Take Home Message: “Local algorithms are useful for vertex connectivity” G LocalVC N ( L ) N ( L ) L
Recommend
More recommend