35,801 research outputs found

    Connectivity Oracles for Graphs Subject to Vertex Failures

    Full text link
    We introduce new data structures for answering connectivity queries in graphs subject to batched vertex failures. A deterministic structure processes a batch of ddd\leq d_{\star} failed vertices in O~(d3)\tilde{O}(d^3) time and thereafter answers connectivity queries in O(d)O(d) time. It occupies space O(dmlogn)O(d_{\star} m\log n). We develop a randomized Monte Carlo version of our data structure with update time O~(d2)\tilde{O}(d^2), query time O(d)O(d), and space O~(m)\tilde{O}(m) for any failure bound dnd\le n. This is the first connectivity oracle for general graphs that can efficiently deal with an unbounded number of vertex failures. We also develop a more efficient Monte Carlo edge-failure connectivity oracle. Using space O(nlog2n)O(n\log^2 n), dd edge failures are processed in O(dlogdloglogn)O(d\log d\log\log n) time and thereafter, connectivity queries are answered in O(loglogn)O(\log\log n) time, which are correct w.h.p. Our data structures are based on a new decomposition theorem for an undirected graph G=(V,E)G=(V,E), which is of independent interest. It states that for any terminal set UVU\subseteq V we can remove a set BB of U/(s2)|U|/(s-2) vertices such that the remaining graph contains a Steiner forest for UBU-B with maximum degree ss

    Ignorance is Almost Bliss: Near-Optimal Stochastic Matching With Few Queries

    Full text link
    The stochastic matching problem deals with finding a maximum matching in a graph whose edges are unknown but can be accessed via queries. This is a special case of stochastic kk-set packing, where the problem is to find a maximum packing of sets, each of which exists with some probability. In this paper, we provide edge and set query algorithms for these two problems, respectively, that provably achieve some fraction of the omniscient optimal solution. Our main theoretical result for the stochastic matching (i.e., 22-set packing) problem is the design of an \emph{adaptive} algorithm that queries only a constant number of edges per vertex and achieves a (1ϵ)(1-\epsilon) fraction of the omniscient optimal solution, for an arbitrarily small ϵ>0\epsilon>0. Moreover, this adaptive algorithm performs the queries in only a constant number of rounds. We complement this result with a \emph{non-adaptive} (i.e., one round of queries) algorithm that achieves a (0.5ϵ)(0.5 - \epsilon) fraction of the omniscient optimum. We also extend both our results to stochastic kk-set packing by designing an adaptive algorithm that achieves a (2kϵ)(\frac{2}{k} - \epsilon) fraction of the omniscient optimal solution, again with only O(1)O(1) queries per element. This guarantee is close to the best known polynomial-time approximation ratio of 3k+1ϵ\frac{3}{k+1} -\epsilon for the \emph{deterministic} kk-set packing problem [Furer and Yu, 2013] We empirically explore the application of (adaptations of) these algorithms to the kidney exchange problem, where patients with end-stage renal failure swap willing but incompatible donors. We show on both generated data and on real data from the first 169 match runs of the UNOS nationwide kidney exchange that even a very small number of non-adaptive edge queries per vertex results in large gains in expected successful matches

    Space- and Time-Efficient Algorithm for Maintaining Dense Subgraphs on One-Pass Dynamic Streams

    Get PDF
    While in many graph mining applications it is crucial to handle a stream of updates efficiently in terms of {\em both} time and space, not much was known about achieving such type of algorithm. In this paper we study this issue for a problem which lies at the core of many graph mining applications called {\em densest subgraph problem}. We develop an algorithm that achieves time- and space-efficiency for this problem simultaneously. It is one of the first of its kind for graph problems to the best of our knowledge. In a graph G=(V,E)G = (V, E), the "density" of a subgraph induced by a subset of nodes SVS \subseteq V is defined as E(S)/S|E(S)|/|S|, where E(S)E(S) is the set of edges in EE with both endpoints in SS. In the densest subgraph problem, the goal is to find a subset of nodes that maximizes the density of the corresponding induced subgraph. For any ϵ>0\epsilon>0, we present a dynamic algorithm that, with high probability, maintains a (4+ϵ)(4+\epsilon)-approximation to the densest subgraph problem under a sequence of edge insertions and deletions in a graph with nn nodes. It uses O~(n)\tilde O(n) space, and has an amortized update time of O~(1)\tilde O(1) and a query time of O~(1)\tilde O(1). Here, O~\tilde O hides a O(\poly\log_{1+\epsilon} n) term. The approximation ratio can be improved to (2+ϵ)(2+\epsilon) at the cost of increasing the query time to O~(n)\tilde O(n). It can be extended to a (2+ϵ)(2+\epsilon)-approximation sublinear-time algorithm and a distributed-streaming algorithm. Our algorithm is the first streaming algorithm that can maintain the densest subgraph in {\em one pass}. The previously best algorithm in this setting required O(logn)O(\log n) passes [Bahmani, Kumar and Vassilvitskii, VLDB'12]. The space required by our algorithm is tight up to a polylogarithmic factor.Comment: A preliminary version of this paper appeared in STOC 201
    corecore