Results 1  10
of
41
Polylogarithmic deterministic fullydynamic graph algorithms I: connectivity and minimum spanning tree
 JOURNAL OF THE ACM
, 1997
"... Deterministic fully dynamic graph algorithms are presented for connectivity and minimum spanning forest. For connectivity, starting with no edges, the amortized cost for maintaining a spanning forest is O(log² n) per update, i.e. per edge insertion or deletion. Deciding connectivity between any two ..."
Abstract

Cited by 125 (6 self)
 Add to MetaCart
Deterministic fully dynamic graph algorithms are presented for connectivity and minimum spanning forest. For connectivity, starting with no edges, the amortized cost for maintaining a spanning forest is O(log² n) per update, i.e. per edge insertion or deletion. Deciding connectivity between any two given vertices is done in O(log n= log log n) time. This matches the previous best randomized bounds. The previous best deterministic bound was O( 3 p n log n) amortized time per update but constant time for connectivity queries. For minimum spanning trees, first a deletionsonly algorithm is presented supporting deletes in amortized time O(log² n). Applying a general reduction from Henzinger and King, we then get a fully dynamic algorithm such that starting with no edges, the amortized cost for maintaining a minimum spanning forest is O(log^4 n) per update. The previous best deterministic bound was O( 3 p n log n) amortized time per update, and no better randomized bounds were ...
Dynamic Generators of Topologically Embedded Graphs
, 2003
"... We provide a data structure for maintaining an embedding of a graph on a surface (represented combinatorially by a permutation of edges around each vertex) and computing generators of the fundamental group of the surface, in amortized time O(logn + logg(loglogg) 3) per update on a surface of genus g ..."
Abstract

Cited by 42 (1 self)
 Add to MetaCart
We provide a data structure for maintaining an embedding of a graph on a surface (represented combinatorially by a permutation of edges around each vertex) and computing generators of the fundamental group of the surface, in amortized time O(logn + logg(loglogg) 3) per update on a surface of genus g; we can also test orientability of the surface in the same time, and maintain the minimum and maximum spanning tree of the graph in time O(log n + log 4 g) per update. Our data structure allows edge insertion and deletion as well as the dual operations; these operations may implicitly change the genus of the embedding surface. We apply similar ideas to improve the constant factor in a separator theorem for lowgenus graphs, and to find in linear time a treedecomposition of lowgenus lowdiameter graphs.
Fully Dynamic All Pairs Shortest Paths with Real Edge Weights
 In IEEE Symposium on Foundations of Computer Science
, 2001
"... We present the first fully dynamic algorithm for maintaining all pairs shortest paths in directed graphs with realvalued edge weights. Given a dynamic directed graph G such that each edge can assume at most S di#erent real values, we show how to support updates in O(n amortized time and que ..."
Abstract

Cited by 35 (10 self)
 Add to MetaCart
We present the first fully dynamic algorithm for maintaining all pairs shortest paths in directed graphs with realvalued edge weights. Given a dynamic directed graph G such that each edge can assume at most S di#erent real values, we show how to support updates in O(n amortized time and queries in optimal worstcase time. No previous fully dynamic algorithm was known for this problem. In the special case where edge weights can only be increased, we give a randomized algorithm with onesided error which supports updates faster in O(S We also show how to obtain query/update tradeo#s for this problem, by introducing two new families of algorithms. Algorithms in the first family achieve an update bound of O(n/k), and improve over the best known update bounds for k in the . Algorithms in the second family achieve an update bound of ), and are competitive with the best known update bounds (first family included) for k in the range (n/S) # Work partially supported by the IST Programme of the EU under contract n. IST199914. 186 (ALCOMFT) and by CNR, the Italian National Research Council, under contract n. 01.00690.CT26. Portions of this work have been presented at the 42nd Annual Symp. on Foundations of Computer Science (FOCS 2001) [8] and at the 29th International Colloquium on Automata, Languages, and Programming (ICALP'02) [9].
An experimental analysis of selfadjusting computation
 In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
, 2006
"... Selfadjusting computation uses a combination of dynamic dependence graphs and memoization to efficiently update the output of a program as the input changes incrementally or dynamically over time. Related work showed various theoretical results, indicating that the approach can be effective for a r ..."
Abstract

Cited by 35 (19 self)
 Add to MetaCart
Selfadjusting computation uses a combination of dynamic dependence graphs and memoization to efficiently update the output of a program as the input changes incrementally or dynamically over time. Related work showed various theoretical results, indicating that the approach can be effective for a reasonably broad range of applications. In this article, we describe algorithms and implementation techniques to realize selfadjusting computation and present an experimental evaluation of the proposed approach on a variety of applications, ranging from simple list primitives to more sophisticated computational geometry algorithms. The results of the experiments show that the approach is effective in practice, often offering orders of magnitude speedup from recomputing the output from scratch. We believe this is the first experimental evidence that incremental computation of any type is effective in practice for a reasonably broad set of applications.
Logarithmic lower bounds in the cellprobe model
 SIAM Journal on Computing
"... Abstract. We develop a new technique for proving cellprobe lower bounds on dynamic data structures. This enables us to prove Ω(lg n) bounds, breaking a longstanding barrier of Ω(lg n/lg lg n). We can also prove the first Ω(lgB n) lower bound in the external memory model, without assumptions on the ..."
Abstract

Cited by 34 (4 self)
 Add to MetaCart
Abstract. We develop a new technique for proving cellprobe lower bounds on dynamic data structures. This enables us to prove Ω(lg n) bounds, breaking a longstanding barrier of Ω(lg n/lg lg n). We can also prove the first Ω(lgB n) lower bound in the external memory model, without assumptions on the data structure. We use our technique to prove better bounds for the partialsums problem, dynamic connectivity and (by reductions) other dynamic graph problems. Our proofs are surprisingly simple and clean. The bounds we obtain are often optimal, and lead to a nearly complete understanding of the problems. We also present new matching upper bounds for the partialsums problem. Key words. cellprobe complexity, lower bounds, data structures, dynamic graph problems, partialsums problem AMS subject classification. 68Q17
Multiple source shortest paths in a genus g graph
 Proc. 18th Ann. ACMSIAM Symp. Discrete Algorithms
"... We give an O(g2n log n) algorithm to represent the shortest path tree from all the vertices on a single specified face f in a genus g graph. From this representation, any query distance from a vertex in f can be obtained in O(log n) time. The algorithm uses a kinetic data structure, where the source ..."
Abstract

Cited by 34 (13 self)
 Add to MetaCart
We give an O(g2n log n) algorithm to represent the shortest path tree from all the vertices on a single specified face f in a genus g graph. From this representation, any query distance from a vertex in f can be obtained in O(log n) time. The algorithm uses a kinetic data structure, where the source of the tree iteratively movesacrossedgesinf. In addition, we give applications using these shortest path trees in order to compute the shortest noncontractible cycle and the shortest nonseparating cycle embedded on an orientable 2manifold in O(g3n log n) time. 1
Improved Dynamic Reachability Algorithms for Directed Graphs
, 2002
"... We obtain several new dynamic algorithms for maintaining the transitive closure of a directed graph, and several other algorithms for answering reachability queries without explicitly maintaining a transitive closure matrix. Among our algorithms are: (i) A decremental algorithm for maintaining the ..."
Abstract

Cited by 29 (3 self)
 Add to MetaCart
We obtain several new dynamic algorithms for maintaining the transitive closure of a directed graph, and several other algorithms for answering reachability queries without explicitly maintaining a transitive closure matrix. Among our algorithms are: (i) A decremental algorithm for maintaining the transitive closure of a directed graph, through an arbitrary sequence of edge deletions, in O(mn) total expected time, essentially the time needed for computing the transitive closure of the initial graph. Such a result was previously known only for acyclic graphs.
An O(n log n) algorithm for maximum stflow in a directed planar graph
"... We give the first correct O(n log n) algorithm for finding a maximum stflow in a directed planar graph. After a preprocessing step that consists in finding singlesource shortestpath distances in the dual, the algorithm consists of repeatedly saturating the leftmost residual stot path. ..."
Abstract

Cited by 28 (0 self)
 Add to MetaCart
We give the first correct O(n log n) algorithm for finding a maximum stflow in a directed planar graph. After a preprocessing step that consists in finding singlesource shortestpath distances in the dual, the algorithm consists of repeatedly saturating the leftmost residual stot path.
Efficient and simple generation of random simple connected graphs with prescribed degree sequence
 in The Eleventh International Computing and Combinatorics Conference, Aug. 2005, kumming
, 2005
"... degree sequence ..."
An Experimental Analysis of Change Propagation in Dynamic Trees
, 2005
"... Change propagation is a technique for automatically adjusting the output of an algorithm to changes in the input. The idea behind change propagation is to track the dependences between data and function calls, so that, when the input changes, functions affected by that change can be reexecuted to u ..."
Abstract

Cited by 21 (13 self)
 Add to MetaCart
Change propagation is a technique for automatically adjusting the output of an algorithm to changes in the input. The idea behind change propagation is to track the dependences between data and function calls, so that, when the input changes, functions affected by that change can be reexecuted to update the computation and the output. Change propagation makes it possible for a compiler to dynamize static algorithms. The practical effectiveness of change propagation, however, is not known. In particular, the cost of dependence tracking and change propagation may seem significant. The contributions of the paper are twofold. First, we present some experimental evidence that change propagation performs well when compared to direct implementations of dynamic algorithms. We implement change propagation on treecontraction as a solution to the dynamic trees problem and present an experimental evaluation of the approach. As a second contribution, we present a library for dynamictrees that support a general interface and present an experimental evaluation by considering a broad set of applications. The dynamictrees library relies on change propagation to handle edge insertions/deletions. The applications that we consider include path queries, subtree queries, leastcommonancestor queries, maintenance of centers and medians of trees, nearestmarkedvertex queries, semidynamic minimum spanning trees, and the maxflow algorithm of Sleator and Tarjan.