Breaking quadratic time for small vertex connectivity and an approximation scheme

Vertex connectivity a classic extensively-studied problem. Given an integer k, its goal is to decide if an n-node m-edge graph can be disconnected by removing k vertices. Although a linear-time algorithm was postulated since 1974 [Aho, Hopcroft and Ullman], and despite its sibling problem of edge connectivity being resolved over two decades ago [Karger STOC’96], so far no vertex connectivity algorithms are faster than O(n2) time even for k=4 and m=O(n). In the simplest case where m=O(n) and k=O(1), the O(n2) bound dates five decades back to [Kleitman IEEE Trans. Circuit Theory’69]. For higher m, O(m) time is known for k≤ 3 [Tarjan FOCS’71; Hopcroft, Tarjan SICOMP’73], the first O(n2) time is from [Kanevsky, Ramachandran, FOCS’87] for k=4 and from [Nagamochi, Ibaraki, Algorithmica’92] for k=O(1). For general k and m, the best bound is Õ(min(kn2, nω+nkω)) [Henzinger, Rao, Gabow FOCS’96; Linial, Lovász, Wigderson FOCS’86] where Õ hides polylogarithmic terms and ω<2.38 is the matrix multiplication exponent. In this paper, we present a randomized Monte Carlo algorithm with Õ(m+k7/3n4/3) time for any k=O(√n). This gives the first subquadratic time bound for any 4≤ k ≤ o(n2/7) (subquadratic time refers to O(m)+o(n2) time.) and improves all above classic bounds for all k≤ n0.44. We also present a new randomized Monte Carlo (1+є)-approximation algorithm that is strictly faster than the previous Henzinger’s 2-approximation algorithm [J. Algorithms’97] and all previous exact algorithms. The story is the same for the directed case, where our exact Õ( min{km2/3n, km4/3} )-time for any k = O(√n) and (1+є)-approximation algorithms improve classic bounds for small and large k, respectively. Additionally, our algorithm is the first approximation algorithm on directed graphs. The key to our results is to avoid computing single-source connectivity, which was needed by all previous exact algorithms and is not known to admit o(n2) time. Instead, we design the first local algorithm for computing vertex connectivity; without reading the whole graph, our algorithm can find a separator of size at most k or certify that there is no separator of size at most k “near” a given seed node.

[1]  Julia Chuzhoy,et al.  A new algorithm for decremental single-source shortest paths with applications to vertex-capacitated flow and cut problems , 2019, STOC.

[2]  Di Wang,et al.  Local Flow Partitioning for Faster Edge Connectivity , 2017, SODA.

[3]  Loukas Georgiadis,et al.  Testing 2-Vertex Connectivity and Computing Pairs of Vertex-Disjoint s-t Paths in Digraphs , 2010, ICALP.

[4]  John H. Reif,et al.  Directed s-t Bumberings, Rubber Bands, and Testing Digraph k-Vertex Connectivity , 1992, SODA.

[5]  Satish Rao,et al.  Computing vertex connectivity: new bounds from old techniques , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[6]  Yuval Peres,et al.  Finding sparse cuts locally using evolving sets , 2008, STOC '09.

[7]  Kurt Mehlhorn,et al.  A Probabilistic Algorithm for Vertex Connectivity of Graphs , 1982, Inf. Process. Lett..

[8]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[9]  D. R. Fulkerson,et al.  Maximal Flow Through a Network , 1956 .

[10]  A. V. Karzanov,et al.  Determining the maximal flow in a network by the method of preflows , 1974 .

[11]  Daniel J. Kleitman,et al.  Methods for investigating the connectivity of large graphs , 1969 .

[12]  Di Wang,et al.  Capacity Releasing Diffusion for Speed and Locality , 2017, ICML.

[13]  Christian Wulff-Nilsen,et al.  Fully-dynamic minimum spanning forest with improved worst-case update time , 2016, STOC.

[14]  Robert E. Tarjan,et al.  Dividing a Graph into Triconnected Components , 1973, SIAM J. Comput..

[15]  Zvi Galil,et al.  Finding the Vertex Connectivity of Graphs , 1980, SIAM J. Comput..

[16]  Zeyuan Allen Zhu,et al.  Flow-Based Algorithms for Local Graph Clustering , 2013, SODA.

[17]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[18]  S. Louis Hakimi,et al.  On computing the connectivities of graphs and digraphs , 1984, Networks.

[19]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[20]  Di Wang,et al.  Expander Decomposition and Pruning: Faster, Stronger, and Simpler , 2018, SODA.

[21]  Satish Rao,et al.  Computing Vertex Connectivity: New Bounds from Old Techniques , 2000, J. Algorithms.

[22]  Ken-ichi Kawarabayashi,et al.  Deterministic Global Minimum Cut of a Simple Graph in Near-Linear Time , 2014, STOC.

[23]  David F. Gleich,et al.  A Simple and Strongly-Local Flow-Based Method for Cut Improvement , 2016, ICML.

[24]  László Lovász,et al.  Rubber bands, convex embeddings and graph connectivity , 1988, Comb..

[25]  Thatchaphol Saranurak,et al.  Dynamic spanning forest with worst-case update time: adaptive, Las Vegas, and O(n1/2 - ε)-time , 2017, STOC.

[26]  Christian Wulff-Nilsen,et al.  Dynamic Minimum Spanning Forest with Subpolynomial Worst-Case Update Time , 2017, 2017 IEEE 58th Annual Symposium on Foundations of Computer Science (FOCS).

[27]  Joseph Cheriyan,et al.  Algorithms for parallel k-vertex connectivity and sparse certificates , 1991, STOC '91.

[28]  François Le Gall,et al.  Powers of tensors and fast matrix multiplication , 2014, ISSAC.

[29]  Arkady Kanevsky,et al.  Improved algorithms for graph four-connectivity , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[30]  Shimon Even,et al.  An Algorithm for Determining Whether the Connectivity of a Graph is at Least k , 1973, SIAM J. Comput..

[31]  Monika Henzinger,et al.  A Static 2-Approximation Algorithm for Vertex Connectivity and Incremental Approximation Algorithms for Edge and Vertex Connectivity , 1997, J. Algorithms.

[32]  John H. Reif,et al.  Directeds-t numberings, Rubber bands, and testing digraphk-vertex connectivity , 1994, SODA '92.

[33]  Fabian Kuhn,et al.  Distributed connectivity decomposition , 2013, PODC.

[34]  Yin Tat Lee,et al.  Path Finding Methods for Linear Programming: Solving Linear Programs in Õ(vrank) Iterations and Faster Algorithms for Maximum Flow , 2014, 2014 IEEE 55th Annual Symposium on Foundations of Computer Science.

[35]  Shang-Hua Teng,et al.  Nearly-linear time algorithms for graph partitioning, graph sparsification, and solving linear systems , 2003, STOC '04.

[36]  David W. Matula,et al.  Determining edge connectivity in 0(nm) , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[37]  Harold N. Gabow Using expander graphs to find vertex connectivity , 2006, JACM.

[38]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[39]  Robert E. Tarjan,et al.  Network Flow and Testing Graph Connectivity , 1975, SIAM J. Comput..

[40]  Monika Henzinger,et al.  A Subquadratic-Time Algorithm for Decremental Single-Source Shortest Paths , 2014, SODA.

[41]  Joshua R. Wang,et al.  Approximation and Fixed Parameter Subquadratic Algorithms for Radius and Diameter in Sparse Graphs , 2016, SODA.

[42]  Fan Chung Graham,et al.  Local Graph Partitioning using PageRank Vectors , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

[43]  Luca Trevisan,et al.  Approximating the Expansion Profile and Almost Optimal Local Graph Clustering , 2012, 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science.

[44]  Andrew V. Goldberg,et al.  Beyond the flow decomposition barrier , 1998, JACM.

[45]  Shang-Hua Teng,et al.  A Local Clustering Algorithm for Massive Graphs and Its Application to Nearly Linear Time Graph Partitioning , 2008, SIAM J. Comput..

[46]  Liam Roditty,et al.  Subquadratic time approximation algorithms for the girth , 2012, SODA.

[47]  Kevin J. Lang,et al.  An algorithm for improving graph partitions , 2008, SODA '08.