9 research outputs found

    Average-case analysis of dynamic graph algorithms

    Get PDF
    We present a model for edge updates with restricted randomness in dynamic graph algorithms and a general technique for analyzing the expected running time of an update operation. This model is able to capture the average case in many applications, since (1) it allows restrictions on the set of edges which can be used for insertions and (2) the type (insertion or deletion) of each update operation is arbitrary, i.e., not random. We use our technique to analyze existing and new dynamic algorithms for the following problems: maximum cardinality matching, minimum spanning forest, connectivity, 2- edge connectivity, k-edge connectivity, k-vertex connectivity, and bipartiteness. Given a random graph G with m0 edges and n vertices and a sequence of l update operations such that the graph contains mi edges after operation i, the expected time for performing the updates for any l is O(l log(n) + sum(i=1 to l) n/sqrt(m_i)) in the case of minimum spanning forests, connectivity, 2-edge connectivity, and bipartiteness. The expected time per update operation is O(n) in the case of maximum matching. We also give improved bounds for k-edge and k-vertex connectivity. Additionally we give an insertions-only algorithm for maximum cardinality matching with worst- case O(n) amortized time per insertion

    DFS is unsparsable and lookahead can help in maximal matching

    Get PDF
    In this paper we study two problems in the context of fully dynamic graph algorithms that is, when we have to handle updates (insertions and removals of edges), and answer queries regarding the current graph, preferably with a better time bound than that when running a classical algorithm from scratch each time a query arrives. In the first part we show that there are dense (directed) graphs having no nontrivial strong certificates for maintaining a depth-first search tree, hence the so-called sparsification technique cannot be applied effectively to this problem. In the second part, we show that a maximal matching can be maintained in an (undirected) graph with a deterministic amortized update cost of O(log m) (where m is the all-time maximum number of the edges), provided that a lookahead of length m is available, i.e. we can “take a peek” at the next m update operations in advance

    Randomized fully dynamic graph algorithms with polylogarithmic time per operation

    Get PDF
    This paper solves a longstanding open problem in fully dynamic algorithms: We present the first fully dynamic algorithms that maintain connectivity, bipartiteness, and approximate minimum spanning trees in polylogarithmic time per edge insertion or deletion. The algorithms are designed using a new dynamic technique that combines a novel graph decomposition with randomization. They are Las-Vegas type randomized algorithms which use simple data structures and have a small constant factor. Let n denote the number of nodes in the graph. For a sequence of _0_(m0) operations, where m0 is the number of edges in the initial graph, the expected time for p updates is O(p log3 n) (Throughout the paper the logarithms are base 2.) for connectivity and bipartiteness. The worst-case time for one query is O(log n/log log n). For the k-edge witness problem ("Does the removal of k given edges disconnect the graph?") the expected time for p updates is O(p.pow(log(n),3)) and the expected time for q queries is O(p_k.pow(log(n),3)). Given a graph with k different weights, the minimum spanning tree can be maintained during a sequence of p updates in expected time O(p_k.pow(log(n),3)). This implies an algorithm to maintain a 1 + e- approximation of the minimum spanning tree in expected time O((p.pow(log(n),3).log U)/e) for p updates, where the weights of the edges are between 1 and U

    Fully dynamic cycle-equivalence in graphs

    Get PDF
    Two edges e_1 and e_2 of an undirected graph are cycle-equivalent iff all cycles that contain e_1 also contain e_2, i.e., iff e_1 and e_2 are a cut-edge pair. The cycle-equivalence classes of the control-flow graph are used in optimizing compilers to speed up existing control-flow and data-flow algorithms. While the cycle-equivalence classes can be computed in linear time, we present the first fully dynamic algorithm for maintaining the cycle-equivalence relation. In an n-node graph our data structure executes an edge insertion or deletion in O(sqrt(n.log n)) time and answers the query whether two given edges are cycle-equivalent in O(pow2(log(n))) time. We also present an algorithm for plane graphs with O(log n) update and query time and for planar graphs with O(log n) insertion time and O(log2 n) query and deletion time. Additionally, we show a lower bound of Ω(log n/log log n) for the amortized time per operation for the dynamic cycle-equivalence problem in the cell probe mode

    Acta Cybernetica : Volume 23. Number 3.

    Get PDF

    Average Case Analysis of Dynamic Graph Algorithms

    Get PDF
    We present a model for edge updates with restricted randomness in dynamic graph algorithms and a general technique for analyzing the expected running time of an update operation. This model is able to capture the average case in many applications, since (1) it allows restrictions on the set of edges which can be used for insertions and (2) the type (insertion or deletion) of each update operation is arbitrary, i.e., tot random. We use our technique to analyze existing and new dynamic algorithms for the following problems: maximum cardinality matching, minimum spanning forest, connectivity, 2-edge connectivity, k-edge connectivity, k-vertex connectivity, and bipartiteness. Given a random graph G with m0 edges and n vertices and a sequence of 1 update operations such that the graph contains rtt edges after operation i, the expected tinhe for performing the updates for any 1 is O(/log - I= 1/x/) in the case of minimum spanning forests, connectivity, 2-edge connectivity, and bipartiteness. The expected time per update operation is O(n) in the case of maximum matching. We also give improved bounds for k-edge and k-vertex connectivity. Additionally we give an insertions-only algorithm for maximum cardinality matching with worst-case O(n) amortized time per insertion
    corecore