6,132 research outputs found

    Deterministic Fully Dynamic Data Structures for Vertex Cover and Matching

    Get PDF
    We present the first deterministic data structures for maintaining approximate minimum vertex cover and maximum matching in a fully dynamic graph G=(V,E)G = (V,E), with V=n|V| = n and E=m|E| =m, in o(m)o(\sqrt{m}\,) time per update. In particular, for minimum vertex cover we provide deterministic data structures for maintaining a (2+\eps) approximation in O(\log n/\eps^2) amortized time per update. For maximum matching, we show how to maintain a (3+\eps) approximation in O(\min(\sqrt{n}/\epsilon, m^{1/3}/\eps^2)) {\em amortized} time per update, and a (4+\eps) approximation in O(m^{1/3}/\eps^2) {\em worst-case} time per update. Our data structure for fully dynamic minimum vertex cover is essentially near-optimal and settles an open problem by Onak and Rubinfeld from STOC' 2010.Comment: An extended abstract of this paper will appear in SODA' 201

    Fully Dynamic Matching in Bipartite Graphs

    Full text link
    Maximum cardinality matching in bipartite graphs is an important and well-studied problem. The fully dynamic version, in which edges are inserted and deleted over time has also been the subject of much attention. Existing algorithms for dynamic matching (in general graphs) seem to fall into two groups: there are fast (mostly randomized) algorithms that do not achieve a better than 2-approximation, and there slow algorithms with \O(\sqrt{m}) update time that achieve a better-than-2 approximation. Thus the obvious question is whether we can design an algorithm -- deterministic or randomized -- that achieves a tradeoff between these two: a o(m)o(\sqrt{m}) approximation and a better-than-2 approximation simultaneously. We answer this question in the affirmative for bipartite graphs. Our main result is a fully dynamic algorithm that maintains a 3/2 + \eps approximation in worst-case update time O(m^{1/4}\eps^{/2.5}). We also give stronger results for graphs whose arboricity is at most \al, achieving a (1+ \eps) approximation in worst-case time O(\al (\al + \log n)) for constant \eps. When the arboricity is constant, this bound is O(logn)O(\log n) and when the arboricity is polylogarithmic the update time is also polylogarithmic. The most important technical developement is the use of an intermediate graph we call an edge degree constrained subgraph (EDCS). This graph places constraints on the sum of the degrees of the endpoints of each edge: upper bounds for matched edges and lower bounds for unmatched edges. The main technical content of our paper involves showing both how to maintain an EDCS dynamically and that and EDCS always contains a sufficiently large matching. We also make use of graph orientations to help bound the amount of work done during each update.Comment: Longer version of paper that appears in ICALP 201

    Parameterized Streaming Algorithms for Vertex Cover

    Full text link
    As graphs continue to grow in size, we seek ways to effectively process such data at scale. The model of streaming graph processing, in which a compact summary is maintained as each edge insertion/deletion is observed, is an attractive one. However, few results are known for optimization problems over such dynamic graph streams. In this paper, we introduce a new approach to handling graph streams, by instead seeking solutions for the parameterized versions of these problems where we are given a parameter kk and the objective is to decide whether there is a solution bounded by kk. By combining kernelization techniques with randomized sketch structures, we obtain the first streaming algorithms for the parameterized versions of the Vertex Cover problem. We consider the following three models for a graph stream on nn nodes: 1. The insertion-only model where the edges can only be added. 2. The dynamic model where edges can be both inserted and deleted. 3. The \emph{promised} dynamic model where we are guaranteed that at each timestamp there is a solution of size at most kk. In each of these three models we are able to design parameterized streaming algorithms for the Vertex Cover problem. We are also able to show matching lower bound for the space complexity of our algorithms. (Due to the arXiv limit of 1920 characters for abstract field, please see the abstract in the paper for detailed description of our results)Comment: Fixed some typo

    Dynamic Algorithms for the Massively Parallel Computation Model

    Get PDF
    The Massive Parallel Computing (MPC) model gained popularity during the last decade and it is now seen as the standard model for processing large scale data. One significant shortcoming of the model is that it assumes to work on static datasets while, in practice, real-world datasets evolve continuously. To overcome this issue, in this paper we initiate the study of dynamic algorithms in the MPC model. We first discuss the main requirements for a dynamic parallel model and we show how to adapt the classic MPC model to capture them. Then we analyze the connection between classic dynamic algorithms and dynamic algorithms in the MPC model. Finally, we provide new efficient dynamic MPC algorithms for a variety of fundamental graph problems, including connectivity, minimum spanning tree and matching.Comment: Accepted to the 31st ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2019

    Dynamic Algorithms for Graph Coloring

    Get PDF
    We design fast dynamic algorithms for proper vertex and edge colorings in a graph undergoing edge insertions and deletions. In the static setting, there are simple linear time algorithms for (Δ+1)(\Delta+1)- vertex coloring and (2Δ1)(2\Delta-1)-edge coloring in a graph with maximum degree Δ\Delta. It is natural to ask if we can efficiently maintain such colorings in the dynamic setting as well. We get the following three results. (1) We present a randomized algorithm which maintains a (Δ+1)(\Delta+1)-vertex coloring with O(logΔ)O(\log \Delta) expected amortized update time. (2) We present a deterministic algorithm which maintains a (1+o(1))Δ(1+o(1))\Delta-vertex coloring with O(polylogΔ)O(\text{poly} \log \Delta) amortized update time. (3) We present a simple, deterministic algorithm which maintains a (2Δ1)(2\Delta-1)-edge coloring with O(logΔ)O(\log \Delta) worst-case update time. This improves the recent O(Δ)O(\Delta)-edge coloring algorithm with O~(Δ)\tilde{O}(\sqrt{\Delta}) worst-case update time by Barenboim and Maimon.Comment: To appear in SODA 201
    corecore