-
The Group Access Bounds for Binary Search Trees
Authors:
Parinya Chalermsook,
Manoj Gupta,
Wanchote Jiamjitrak,
Akash Pareek,
Sorrachai Yingchareonthawornchai
Abstract:
The access lemma (Sleator and Tarjan, JACM 1985) is a property of binary search trees that implies interesting consequences such as static optimality, static finger, and working set property. However, there are known corollaries of the dynamic optimality that cannot be derived via the access lemma, such as the dynamic finger, and any $o(\log n)$-competitive ratio to the optimal BST where $n$ is th…
▽ More
The access lemma (Sleator and Tarjan, JACM 1985) is a property of binary search trees that implies interesting consequences such as static optimality, static finger, and working set property. However, there are known corollaries of the dynamic optimality that cannot be derived via the access lemma, such as the dynamic finger, and any $o(\log n)$-competitive ratio to the optimal BST where $n$ is the number of keys.
In this paper, we introduce the group access bound that can be defined with respect to a reference group access tree. Group access bounds generalize the access lemma and imply properties that are far stronger than those implied by the access lemma. For each of the following results, there is a group access tree whose group access bound
Is $O(\sqrt{\log n})$-competitive to the optimal BST.
Achieves the $k$-finger bound with an additive term of $O(m \log k \log \log n)$ (randomized) when the reference tree is an almost complete binary tree.
Satisfies the unified bound with an additive term of $O(m \log \log n)$.
Matches the unified bound with a time window $k$ with an additive term of $O(m \log k \log \log n)$ (randomized).
Furthermore, we prove simulation theorem: For every group access tree, there is an online BST algorithm that is $O(1)$-competitive with its group access bound. In particular, any new group access bound will automatically imply a new BST algorithm achieving the same bound. Thereby, we obtain an improved $k$-finger bound (reference tree is an almost complete binary tree), an improved unified bound with a time window $k$, and matching the best-known bound for Unified bound in the BST model. Since any dynamically optimal BST must achieve the group access bounds, we believe our results provide a new direction towards proving $o(\log n)$-competitiveness of Splay tree and Greedy.
△ Less
Submitted 24 December, 2023;
originally announced December 2023.
-
Deterministic $k$-Vertex Connectivity in $k^2$ Max-flows
Authors:
Chaitanya Nalam,
Thatchaphol Saranurak,
Sorrachai Yingchareonthawornchai
Abstract:
An $n$-vertex $m$-edge graph is \emph{$k$-vertex connected} if it cannot be disconnected by deleting less than $k$ vertices. After more than half a century of intensive research, the result by [Li et al. STOC'21] finally gave a \emph{randomized} algorithm for checking $k$-connectivity in near-optimal $\widehat{O}(m)$ time. (We use $\widehat{O}(\cdot)$ to hide an $n^{o(1)}$ factor.) Deterministic a…
▽ More
An $n$-vertex $m$-edge graph is \emph{$k$-vertex connected} if it cannot be disconnected by deleting less than $k$ vertices. After more than half a century of intensive research, the result by [Li et al. STOC'21] finally gave a \emph{randomized} algorithm for checking $k$-connectivity in near-optimal $\widehat{O}(m)$ time. (We use $\widehat{O}(\cdot)$ to hide an $n^{o(1)}$ factor.) Deterministic algorithms, unfortunately, have remained much slower even if we assume a linear-time max-flow algorithm: they either require at least $Ω(mn)$ time [Even'75; Henzinger Rao and Gabow, FOCS'96; Gabow, FOCS'00] or assume that $k=o(\sqrt{\log n})$ [Saranurak and Yingchareonthawornchai, FOCS'22].
We show a \emph{deterministic} algorithm for checking $k$-vertex connectivity in time proportional to making $\widehat{O}(k^{2})$ max-flow calls, and, hence, in $\widehat{O}(mk^{2})$ time using the deterministic max-flow algorithm by [Brand et al. FOCS'23]. Our algorithm gives the first almost-linear-time bound for all $k$ where $\sqrt{\log n}\le k\le n^{o(1)}$ and subsumes up to a sub polynomial factor the long-standing state-of-the-art algorithm by [Even'75] which requires $O(n+k^{2})$ max-flow calls.
Our key technique is a deterministic algorithm for terminal reduction for vertex connectivity: given a terminal set separated by a vertex mincut, output either a vertex mincut or a smaller terminal set that remains separated by a vertex mincut.
We also show a deterministic $(1+ε)$-approximation algorithm for vertex connectivity that makes $O(n/ε^2)$ max-flow calls, improving the bound of $O(n^{1.5})$ max-flow calls in the exact algorithm of [Gabow, FOCS'00]. The technique is based on Ramanujan graphs.
△ Less
Submitted 9 August, 2023;
originally announced August 2023.
-
Sorting Pattern-Avoiding Permutations via 0-1 Matrices Forbidding Product Patterns
Authors:
Parinya Chalermsook,
Seth Pettie,
Sorrachai Yingchareonthawornchai
Abstract:
We consider the problem of comparison-sorting an $n$-permutation $S$ that avoids some $k$-permutation $π$. Chalermsook, Goswami, Kozma, Mehlhorn, and Saranurak prove that when $S$ is sorted by inserting the elements into the GreedyFuture binary search tree, the running time is linear in the extremal function $\mathrm{Ex}(P_π\otimes \text{hat},n)$. This is the maximum number of 1s in an…
▽ More
We consider the problem of comparison-sorting an $n$-permutation $S$ that avoids some $k$-permutation $π$. Chalermsook, Goswami, Kozma, Mehlhorn, and Saranurak prove that when $S$ is sorted by inserting the elements into the GreedyFuture binary search tree, the running time is linear in the extremal function $\mathrm{Ex}(P_π\otimes \text{hat},n)$. This is the maximum number of 1s in an $n\times n$ 0-1 matrix avoiding $P_π\otimes \text{hat}$, where $P_π$ is the $k\times k$ permutation matrix of $π$, $\otimes$ the Kronecker product, and $\text{hat} = \left(\begin{array}{ccc}&\bullet&\\\bullet&&\bullet\end{array}\right)$. The same time bound can be achieved by sorting $S$ with Kozma and Saranurak's SmoothHeap.
In this paper we give nearly tight upper and lower bounds on the density of $P_π\otimes\text{hat}$-free matrices in terms of the inverse-Ackermann function $α(n)$. \[ \mathrm{Ex}(P_π\otimes \text{hat},n) = \left\{\begin{array}{ll} Ω(n\cdot 2^{α(n)}), & \mbox{for most $π$,}\\ O(n\cdot 2^{O(k^2)+(1+o(1))α(n)}), & \mbox{for all $π$.} \end{array}\right. \] As a consequence, sorting $π$-free sequences can be performed in $O(n2^{(1+o(1))α(n)})$ time. For many corollaries of the dynamic optimality conjecture, the best analysis uses forbidden 0-1 matrix theory. Our analysis may be useful in analyzing other classes of access sequences on binary search trees.
△ Less
Submitted 8 July, 2023; v1 submitted 5 July, 2023;
originally announced July 2023.
-
Improved Pattern-Avoidance Bounds for Greedy BSTs via Matrix Decomposition
Authors:
Parinya Chalermsook,
Manoj Gupta,
Wanchote Jiamjitrak,
Nidia Obscura Acosta,
Akash Pareek,
Sorrachai Yingchareonthawornchai
Abstract:
Greedy BST (or simply Greedy) is an online self-adjusting binary search tree defined in the geometric view ([Lucas, 1988; Munro, 2000; Demaine, Harmon, Iacono, Kane, Patrascu, SODA 2009). Along with Splay trees (Sleator, Tarjan 1985), Greedy is considered the most promising candidate for being dynamically optimal, i.e., starting with any initial tree, their access costs on any sequence is conjectu…
▽ More
Greedy BST (or simply Greedy) is an online self-adjusting binary search tree defined in the geometric view ([Lucas, 1988; Munro, 2000; Demaine, Harmon, Iacono, Kane, Patrascu, SODA 2009). Along with Splay trees (Sleator, Tarjan 1985), Greedy is considered the most promising candidate for being dynamically optimal, i.e., starting with any initial tree, their access costs on any sequence is conjectured to be within $O(1)$ factor of the offline optimal. However, in the past four decades, the question has remained elusive even for highly restricted input.
In this paper, we prove new bounds on the cost of Greedy in the ''pattern avoidance'' regime. Our new results include:
The (preorder) traversal conjecture for Greedy holds up to a factor of $O(2^{α(n)})$, improving upon the bound of $2^{α(n)^{O(1)}}$ in (Chalermsook et al., FOCS 2015). This is the best known bound obtained by any online BSTs.
We settle the postorder traversal conjecture for Greedy.
The deque conjecture for Greedy holds up to a factor of $O(α(n))$, improving upon the bound $2^{O(α(n))}$ in (Chalermsook, et al., WADS 2015).
The split conjecture holds for Greedy up to a factor of $O(2^{α(n)})$.
Key to all these results is to partition (based on the input structures) the execution log of Greedy into several simpler-to-analyze subsets for which classical forbidden submatrix bounds can be leveraged. Finally, we show the applicability of this technique to handle a class of increasingly complex pattern-avoiding input sequences, called $k$-increasing sequences.
As a bonus, we discover a new class of permutation matrices whose extremal bounds are polynomially bounded. This gives a partial progress on an open question by Jacob Fox (2013).
△ Less
Submitted 8 November, 2022;
originally announced November 2022.
-
Deterministic Small Vertex Connectivity in Almost Linear Time
Authors:
Thatchaphol Saranurak,
Sorrachai Yingchareonthawornchai
Abstract:
In the vertex connectivity problem, given an undirected $n$-vertex $m$-edge graph $G$, we need to compute the minimum number of vertices that can disconnect $G$ after removing them. This problem is one of the most well-studied graph problems. From 2019, a new line of work [Nanongkai et al.~STOC'19;SODA'20;STOC'21] has used randomized techniques to break the quadratic-time barrier and, very recentl…
▽ More
In the vertex connectivity problem, given an undirected $n$-vertex $m$-edge graph $G$, we need to compute the minimum number of vertices that can disconnect $G$ after removing them. This problem is one of the most well-studied graph problems. From 2019, a new line of work [Nanongkai et al.~STOC'19;SODA'20;STOC'21] has used randomized techniques to break the quadratic-time barrier and, very recently, culminated in an almost-linear time algorithm via the recently announced maxflow algorithm by Chen et al. In contrast, all known deterministic algorithms are much slower. The fastest algorithm [Gabow FOCS'00] takes $O(m(n+\min\{c^{5/2},cn^{3/4}\}))$ time where $c$ is the vertex connectivity. It remains open whether there exists a subquadratic-time deterministic algorithm for any constant $c>3$.
In this paper, we give the first deterministic almost-linear time vertex connectivity algorithm for all constants $c$. Our running time is $m^{1+o(1)}2^{O(c^{2})}$ time, which is almost-linear for all $c=o(\sqrt{\log n})$. This is the first deterministic algorithm that breaks the $O(n^{2})$-time bound on sparse graphs where $m=O(n)$, which is known for more than 50 years ago [Kleitman'69]. Towards our result, we give a new reduction framework to vertex expanders which in turn exploits our new almost-linear time construction of mimicking network for vertex connectivity. The previous construction by Kratsch and Wahlström [FOCS'12] requires large polynomial time and is randomized.
△ Less
Submitted 24 October, 2022;
originally announced October 2022.
-
Approximating k-Edge-Connected Spanning Subgraphs via a Near-Linear Time LP Solver
Authors:
Parinya Chalermsook,
Chien-Chung Huang,
Danupon Nanongkai,
Thatchaphol Saranurak,
Pattara Sukprasert,
Sorrachai Yingchareonthawornchai
Abstract:
In the $k$-edge-connected spanning subgraph ($k$ECSS) problem, our goal is to compute a minimum-cost sub-network that is resilient against up to $k$ link failures: Given an $n$-node $m$-edge graph with a cost function on the edges, our goal is to compute a minimum-cost $k$-edge-connected spanning subgraph. This NP-hard problem generalizes the minimum spanning tree problem and is the "uniform case"…
▽ More
In the $k$-edge-connected spanning subgraph ($k$ECSS) problem, our goal is to compute a minimum-cost sub-network that is resilient against up to $k$ link failures: Given an $n$-node $m$-edge graph with a cost function on the edges, our goal is to compute a minimum-cost $k$-edge-connected spanning subgraph. This NP-hard problem generalizes the minimum spanning tree problem and is the "uniform case" of a much broader class of survival network design problems (SNDP). A factor of two has remained the best approximation ratio for polynomial-time algorithms for the whole class of SNDP, even for a special case of $2$ECSS. The fastest $2$-approximation algorithm is however rather slow, taking $O(mn k)$ time [Khuller, Vishkin, STOC'92]. A faster time complexity of $O(n^2)$ can be obtained, but with a higher approximation guarantee of $(2k-1)$ [Gabow, Goemans, Williamson, IPCO'93].
Our main contribution is an algorithm that $(1+ε)$-approximates the optimal fractional solution in $\tilde O(m/ε^2)$ time (independent of $k$), which can be turned into a $(2+ε)$ approximation algorithm that runs in time $\tilde O\left(\frac{m}{ε^2} + \frac{k^2n^{1.5}}{ε^2}\right)$ for (integral) $k$ECSS; this improves the running time of the aforementioned results while kee** the approximation ratio arbitrarily close to a factor of two.
△ Less
Submitted 30 May, 2022;
originally announced May 2022.
-
Vertex Connectivity in Poly-logarithmic Max-flows
Authors:
Jason Li,
Danupon Nanongkai,
Debmalya Panigrahi,
Thatchaphol Saranurak,
Sorrachai Yingchareonthawornchai
Abstract:
The vertex connectivity of an $m$-edge $n$-vertex undirected graph is the smallest number of vertices whose removal disconnects the graph, or leaves only a singleton vertex. In this paper, we give a reduction from the vertex connectivity problem to a set of maxflow instances. Using this reduction, we can solve vertex connectivity in $\tilde O(m^α)$ time for any $α\ge 1$, if there is a $m^α$-time m…
▽ More
The vertex connectivity of an $m$-edge $n$-vertex undirected graph is the smallest number of vertices whose removal disconnects the graph, or leaves only a singleton vertex. In this paper, we give a reduction from the vertex connectivity problem to a set of maxflow instances. Using this reduction, we can solve vertex connectivity in $\tilde O(m^α)$ time for any $α\ge 1$, if there is a $m^α$-time maxflow algorithm. Using the current best maxflow algorithm that runs in $m^{4/3+o(1)}$ time (Kathuria, Liu and Sidford, FOCS 2020), this yields a $m^{4/3+o(1)}$-time vertex connectivity algorithm. This is the first improvement in the running time of the vertex connectivity problem in over 20 years, the previous best being an $\tilde O(mn)$-time algorithm due to Henzinger, Rao, and Gabow (FOCS 1996). Indeed, no algorithm with an $o(mn)$ running time was known before our work, even if we assume an $\tilde O(m)$-time maxflow algorithm. Our new technique is robust enough to also improve the best $\tilde O(mn)$-time bound for directed vertex connectivity to $mn^{1-1/12+o(1)}$ time
△ Less
Submitted 9 April, 2021; v1 submitted 31 March, 2021;
originally announced April 2021.
-
Engineering Nearly Linear-Time Algorithms for Small Vertex Connectivity
Authors:
Max Franck,
Sorrachai Yingchareonthawornchai
Abstract:
Vertex connectivity is a well-studied concept in graph theory with numerous applications. A graph is $k$-connected if it remains connected after removing any $k-1$ vertices. The vertex connectivity of a graph is the maximum $k$ such that the graph is $k$-connected. There is a long history of algorithmic development for efficiently computing vertex connectivity. Recently, two near linear-time algor…
▽ More
Vertex connectivity is a well-studied concept in graph theory with numerous applications. A graph is $k$-connected if it remains connected after removing any $k-1$ vertices. The vertex connectivity of a graph is the maximum $k$ such that the graph is $k$-connected. There is a long history of algorithmic development for efficiently computing vertex connectivity. Recently, two near linear-time algorithms for small k were introduced by [Forster et al. SODA 2020]. Prior to that, the best known algorithm was one by [Henzinger et al. FOCS'96] with quadratic running time when k is small.
In this paper, we study the practical performance of the algorithms by Forster et al. In addition, we introduce a new heuristic on a key subroutine called local cut detection, which we call degree counting. We prove that the new heuristic improves space-efficiency (which can be good for caching purposes) and allows the subroutine to terminate earlier. According to experimental results on random graphs with planted vertex cuts, random hyperbolic graphs, and real world graphs with vertex connectivity between 4 and 15, the degree counting heuristic offers a factor of 2-4 speedup over the original non-degree counting version for most of our data. It also outperforms the previous state-of-the-art algorithm by Henzinger et al. even on relatively small graphs.
△ Less
Submitted 29 March, 2021;
originally announced March 2021.
-
Computing and Testing Small Connectivity in Near-Linear Time and Queries via Fast Local Cut Algorithms
Authors:
Sebastian Forster,
Danupon Nanongkai,
Thatchaphol Saranurak,
Liu Yang,
Sorrachai Yingchareonthawornchai
Abstract:
Consider the following "local" cut-detection problem in a directed graph: We are given a seed vertex $x$ and need to remove at most $k$ edges so that at most $ν$ edges can be reached from $x$ (a "local" cut) or output $\bot$ to indicate that no such cut exists. If we are given query access to the input graph, then this problem can in principle be solved without reading the whole graph and with que…
▽ More
Consider the following "local" cut-detection problem in a directed graph: We are given a seed vertex $x$ and need to remove at most $k$ edges so that at most $ν$ edges can be reached from $x$ (a "local" cut) or output $\bot$ to indicate that no such cut exists. If we are given query access to the input graph, then this problem can in principle be solved without reading the whole graph and with query complexity depending on $k$ and $ν$. In this paper we consider a slack variant of this problem where, when such a cut exists, we can output a cut with up to $O(kν)$ edges reachable from $x$.
We present a simple randomized algorithm spending $O(k^2ν)$ time and $O(kν)$ queries for the above variant, improving in particular a previous time bound of $O(k^{O(k)}ν)$ by Chechik et al. [SODA '17]. We also extend our algorithm to handle an approximate variant. We demonstrate that these local algorithms are versatile primitives for designing substantially improved algorithms for classic graph problems by providing the following three applications. (Throughout, $\tilde O(T)$ hides $\operatorname{polylog}(T)$.) (1) A randomized algorithm for the classic $k$-vertex connectivity problem that takes near-linear time when $k=O(\operatorname{polylog}(n))$, namely $\tilde O(m+nk^3)$ time in undirected graphs. For directed graphs our $\tilde O(mk^2)$-time algorithm is near-linear when $k=O(\operatorname{polylog}(n))$. Our techniques also yield an improved approximation scheme. (2) Property testing algorithms for $k$-edge and -vertex connectivity with query complexities that are near-linear in $k$, exponentially improving the state-of-the-art. This resolves two open problems, one by Goldreich and Ron [STOC '97] and one by Orenstein and Ron [Theor. Comput Sci. '11]. (3) A faster algorithm for computing the maximal $k$-edge connected subgraphs, improving prior work of Chechik et al. [SODA '17].
△ Less
Submitted 31 October, 2019;
originally announced October 2019.
-
Deterministic Graph Cuts in Subquadratic Time: Sparse, Balanced, and k-Vertex
Authors:
Yu Gao,
Jason Li,
Danupon Nanongkai,
Richard Peng,
Thatchaphol Saranurak,
Sorrachai Yingchareonthawornchai
Abstract:
We study deterministic algorithms for computing graph cuts, with focus on two fundamental problems: balanced sparse cut and $k$-vertex connectivity for small $k$ ($k=O(\polylog n)$). Both problems can be solved in near-linear time with randomized algorithms, but their previous deterministic counterparts take at least quadratic time. In this paper, we break this bound for both problems. Interesting…
▽ More
We study deterministic algorithms for computing graph cuts, with focus on two fundamental problems: balanced sparse cut and $k$-vertex connectivity for small $k$ ($k=O(\polylog n)$). Both problems can be solved in near-linear time with randomized algorithms, but their previous deterministic counterparts take at least quadratic time. In this paper, we break this bound for both problems. Interestingly, achieving this for one problem crucially relies on doing so for the other.
In particular, via a divide-and-conquer argument, a variant of the cut-matching game by [Khandekar et al.`07], and the local vertex connectivity algorithm of [Nanongkai et al. STOC'19], we give a subquadratic time algorithm for $k$-vertex connectivity using a subquadratic time algorithm for computing balanced sparse cuts on sparse graphs. To achieve the latter, we improve the previously best $mn$ bound for approximating balanced sparse cut for the whole range of $m$. This starts from (1) breaking the $n^3$ barrier on dense graphs to $n^{ω+ o(1)}$ (where $ω< 2.372$) using the the PageRank matrix, but without explicitly swee** to find sparse cuts; to (2) getting the $\tilde O(m^{1.58})$ bound by combining the $J$-trees by [Madry FOCS `10] with the $n^{ω+ o(1)}$ bound above, and finally; to (3) getting the $m^{1.5 + o(1)}$ bound by recursively invoking the second bound in conjunction with expander-based graph sparsification. Interestingly, our final $m^{1.5 + o(1)}$ bound lands at a natural stop** point in the sense that polynomially breaking it would lead to a breakthrough for the dynamic connectivity problem.
△ Less
Submitted 18 October, 2019; v1 submitted 17 October, 2019;
originally announced October 2019.
-
Computing and Testing Small Vertex Connectivity in Near-Linear Time and Queries
Authors:
Danupon Nanongkai,
Thatchaphol Saranurak,
Sorrachai Yingchareonthawornchai
Abstract:
We present a new, simple, algorithm for the local vertex connectivity problem (LocalVC) introduced by Nanongkai~et~al. [STOC'19]. Roughly, given an undirected unweighted graph $G$, a seed vertex $x$, a target volume $ν$, and a target separator size $k$, the goal of LocalVC is to remove $k$ vertices `near' $x$ (in terms of $ν$) to disconnect the graph in `local time', which depends only on paramete…
▽ More
We present a new, simple, algorithm for the local vertex connectivity problem (LocalVC) introduced by Nanongkai~et~al. [STOC'19]. Roughly, given an undirected unweighted graph $G$, a seed vertex $x$, a target volume $ν$, and a target separator size $k$, the goal of LocalVC is to remove $k$ vertices `near' $x$ (in terms of $ν$) to disconnect the graph in `local time', which depends only on parameters $ν$ and $k$. In this paper, we present a simple randomized algorithm with running time $O(νk^2)$ and correctness probability $2/3$.
Plugging our new localVC algorithm in the generic framework of Nanongkai~et~al. immediately lead to a randomized $\tilde O(m+nk^3)$-time algorithm for the classic $k$-vertex connectivity problem on undirected graphs. ($\tilde O(T)$ hides $\text{polylog}(T)$.) This is the first near-linear time algorithm for any $4\leq k \leq \text{polylog} n$. Previous fastest algorithm for small $k$ takes $\tilde O(m+n^{4/3}k^{7/3})$ time [Nanongkai~et~al., STOC'19].
This work is inspired by the algorithm of Chechik~et~al. [SODA'17] for computing the maximal $k$-edge connected subgraphs. Forster and Yang [arXiv'19] has independently developed local algorithms similar to ours, and showed that they lead to an $\tilde O(k^3/ε)$ bound for testing $k$-edge and -vertex connectivity, resolving two long-standing open problems in property testing since the work of Goldreich and Ron [STOC'97] and Orenstein and Ron [Theor. Comput. Sci.'11]. Inspired by this, we use local approximation algorithms to obtain bounds that are near-linear in $k$, namely $\tilde O(k/ε)$ and $\tilde O(k/ε^2)$ for the bounded and unbounded degree cases, respectively. For testing $k$-edge connectivity for simple graphs, the bound can be improved to $\tilde O(\min(k/ε, 1/ε^2))$.
△ Less
Submitted 6 July, 2019; v1 submitted 13 May, 2019;
originally announced May 2019.
-
Breaking Quadratic Time for Small Vertex Connectivity and an Approximation Scheme
Authors:
Danupon Nanongkai,
Thatchaphol Saranurak,
Sorrachai Yingchareonthawornchai
Abstract:
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 connectivi…
▽ More
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(n^2)$ time even for $k=4$ and $m=O(n)$. In the simplest case where $m=O(n)$ and $k=O(1)$, the $O(n^2)$ bound dates five decades back to [Kleitman IEEE Trans. Circuit Theory'69]. For general $k$ and $m$, the best bound is $\tilde{O}(\min(kn^2, n^ω+nk^ω))$.
In this paper, we present a randomized Monte Carlo algorithm with $\tilde{O}(m+k^{7/3}n^{4/3})$ time for any $k=O(\sqrt{n})$. This gives the {\em first subquadratic time} bound for any $4\leq k \leq o(n^{2/7})$ and improves all above classic bounds for all $k\le n^{0.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 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(n^2)$ 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.
△ Less
Submitted 17 February, 2021; v1 submitted 8 April, 2019;
originally announced April 2019.
-
Monitoring Partially Synchronous Distributed Systems using SMT Solvers
Authors:
Vidhya Tekken Valapil,
Sorrachai Yingchareonthawornchai,
Sandeep Kulkarni,
Eric Torng,
Murat Demirbas
Abstract:
In this paper, we discuss the feasibility of monitoring partially synchronous distributed systems to detect latent bugs, i.e., errors caused by concurrency and race conditions among concurrent processes. We present a monitoring framework where we model both system constraints and latent bugs as Satisfiability Modulo Theories (SMT) formulas, and we detect the presence of latent bugs using an SMT so…
▽ More
In this paper, we discuss the feasibility of monitoring partially synchronous distributed systems to detect latent bugs, i.e., errors caused by concurrency and race conditions among concurrent processes. We present a monitoring framework where we model both system constraints and latent bugs as Satisfiability Modulo Theories (SMT) formulas, and we detect the presence of latent bugs using an SMT solver. We demonstrate the feasibility of our framework using both synthetic applications where latent bugs occur at any time with random probability and an application involving exclusive access to a shared resource with a subtle timing bug. We illustrate how the time required for verification is affected by parameters such as communication frequency, latency, and clock skew. Our results show that our framework can be used for real-life applications, and because our framework uses SMT solvers, the range of appropriate applications will increase as these solvers become more efficient over time.
△ Less
Submitted 24 July, 2017;
originally announced July 2017.
-
Precision, Recall, and Sensitivity of Monitoring Partially Synchronous Distributed Systems
Authors:
Sorrachai Yingchareonthawornchai,
Duong Nguyen,
Vidhya Tekken Valapil,
Sandeep Kulkarni,
Murat Demirbas
Abstract:
Runtime verification focuses on analyzing the execution of a given program by a monitor to determine if it is likely to violate its specifications. There is often an impedance mismatch between the assumptions/model of the monitor and that of the underlying program. This constitutes problems especially for distributed systems, where the concept of current time and state are inherently uncertain. A…
▽ More
Runtime verification focuses on analyzing the execution of a given program by a monitor to determine if it is likely to violate its specifications. There is often an impedance mismatch between the assumptions/model of the monitor and that of the underlying program. This constitutes problems especially for distributed systems, where the concept of current time and state are inherently uncertain. A monitor designed with asynchronous system model assumptions may cause false-positives for a program executing in a partially synchronous system: the monitor may flag a global predicate that does not actually occur in the underlying system. A monitor designed with a partially synchronous system model assumption may cause false negatives as well as false positives for a program executing in an environment where the bounds on partial synchrony differ (albeit temporarily) from the monitor model assumptions.
In this paper we analyze the effects of the impedance mismatch between the monitor and the underlying program for the detection of conjunctive predicates. We find that there is a small interval where the monitor assumptions are hypersensitive to the underlying program environment. We provide analytical derivations for this interval, and also provide simulation support for exploring the sensitivity of predicate detection to the impedance mismatch between the monitor and the program under a partially synchronous system.
△ Less
Submitted 3 July, 2016;
originally announced July 2016.