Results 1 - 10
of
16
Poly-logarithmic deterministic fully-dynamic 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 107 (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 deletions-only 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 ...
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 real-valued 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 28 (8 self)
- Add to MetaCart
We present the first fully dynamic algorithm for maintaining all pairs shortest paths in directed graphs with real-valued 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 worst-case 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 one-sided error which supports updates faster in O(S We also show how to obtain query/update trade-o#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. IST-199914. 186 (ALCOM-FT) 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].
Cell Probe Complexity - a Survey
- In 19th Conference on the Foundations of Software Technology and Theoretical Computer Science (FSTTCS), 1999. Advances in Data Structures Workshop
, 1999
"... The cell probe model is a general, combinatorial model of data structures. We give a survey of known results about the cell probe complexity of static and dynamic data structure problems, with an emphasis on techniques for proving lower bounds. 1 Introduction 1.1 The 'Were-you-last?' game A Dre ..."
Abstract
-
Cited by 27 (0 self)
- Add to MetaCart
The cell probe model is a general, combinatorial model of data structures. We give a survey of known results about the cell probe complexity of static and dynamic data structure problems, with an emphasis on techniques for proving lower bounds. 1 Introduction 1.1 The 'Were-you-last?' game A Dream Team, consisting of m players, is held captive in the dungeon of their adversary, Hannibal. He now makes them play his favourite game, Were-you-last?. Before the game starts the players of the Team are allowed to meet to discuss a strategy (obviously, Hannibal has the room bugged and is listening in). After the discussion they are led to separate waiting rooms. Then Hannibal leads each of the players of the team, one by one, to the playing field. The players do not know the order in which they are led to the field and they spend their time there alone. The playing field is a room, containing an infinite number of boxes, labelled 0, 1, 2, 3, . . . . Inside each box is a switch that can be ...
An experimental analysis of self-adjusting computation
- In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
, 2006
"... Self-adjusting 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 24 (11 self)
- Add to MetaCart
Self-adjusting 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 self-adjusting 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.
Parametric and Kinetic Minimum Spanning Trees
"... We consider the parametric minimum spanning treeproblem, in which we are given a graph with edge weights that are linear functions of a parameter * and wish tocompute the sequence of minimum spanning trees generated as * varies. We also consider the kinetic minimumspanning tree problem, in which * r ..."
Abstract
-
Cited by 24 (6 self)
- Add to MetaCart
We consider the parametric minimum spanning treeproblem, in which we are given a graph with edge weights that are linear functions of a parameter * and wish tocompute the sequence of minimum spanning trees generated as * varies. We also consider the kinetic minimumspanning tree problem, in which * represents time and the graph is subject in addition to changes such as edge insertions, deletions, and modifications of the weight functions as time progresses. We solve both problems in time O(n2=3 log4=3 n) per combinatorial change in the tree (or randomized O(n2=3 log n) per change). Our time bounds reduce to O(n1=2 log3=2 n) per change (O(n1=2 log n) ran-domized) for planar graphs or other minor-closed families of graphs, and O(n1=4 log3=2 n) per change (O(n1=4 log n) randomized) for planar graphs with weight changes but no insertions or deletions.
Kinetic Connectivity of Rectangles
- In Proc. 15th Annu. ACM Sympos. Comput. Geom
, 1999
"... We develop a kinetic data structure (KDS) for maintaining the connectivity of a set of axis-aligned rectangles moving in the plane. In the kinetic framework, each rectangle is assumed to travel along a low-degree algebraic path, specified by a flight plan---if the flight plan changes, the data struc ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
We develop a kinetic data structure (KDS) for maintaining the connectivity of a set of axis-aligned rectangles moving in the plane. In the kinetic framework, each rectangle is assumed to travel along a low-degree algebraic path, specified by a flight plan---if the flight plan changes, the data structure is informed about it. The connectivity of rectangles changes only at discrete moments, given by the times when the order of rectangles along either axis changes. Our main result is a kinetic data structure of size O(n log n) that requires O(log 2 n) amortized time for each update, and answers connectivity queries in worst-case time O(log n= log log n). 1 Introduction Connectivity is the most basic of graph properties, with many applications to real-world problems. Applications of connectivity range from electrical connectivity in integrated circuits to network connectivity in communication networks. In this paper, we explore the problem of maintaining the connectivity of n axis-alig...
Implementation of Dynamic Trees with In-Subtree Operations
- ACM Journal of Experimental Algorithms
, 1998
"... We describe an implementation of dynamic trees with \in-subtree" operations. Our implementation follows Sleator and Tarjan's framework of dynamic-tree implementations based on splay trees. We consider the following two examples of \in-subtree" operations. (a) For a given node v, nd a node with the m ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
We describe an implementation of dynamic trees with \in-subtree" operations. Our implementation follows Sleator and Tarjan's framework of dynamic-tree implementations based on splay trees. We consider the following two examples of \in-subtree" operations. (a) For a given node v, nd a node with the minimum key in the subtree rooted at v. (b) For a given node v, nd a random node with key X in the subtree rooted at v (value X is xed throughout the whole computation). The rst operation may provide support for edge deletions in the dynamic minimum spanning tree problem. The second one may be useful in local search methods for degree-constrained minimum spanning tree problems. We conducted experiments with our dynamic-tree implementation within these two contexts, and the results suggest that this implementation may lead to considerably faster codes than straightforward approaches do. 1. INTRODUCTION A dynamic tree collection (or simply dynamic trees) is a data structure which maintain...
Dynamically Switching Vertices in Planar Graphs
- ALGORITHMICA
, 2000
"... We consider graphs whose vertices may be in one of two different states: either on or off. We wish to maintain dynamically such graphs under an intermixed sequence of updates and queries. An update may reverse the status of a vertex, by switching it either on or off, and may insert a new edge or ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
We consider graphs whose vertices may be in one of two different states: either on or off. We wish to maintain dynamically such graphs under an intermixed sequence of updates and queries. An update may reverse the status of a vertex, by switching it either on or off, and may insert a new edge or delete an existing edge. A query tests whether any two given vertices are connected in the subgraph induced by the vertices that are on. We give efficient algorithms that maintain information about connectivity on planar graphs in O(log³ n) amortized time per query, insert, delete, switch-on and switch-off operation over sequences of at least\Omega\Gamma n) operations, where n is the number of vertices of the graph.
Improved Data Structures for Fully Dynamic Biconnectivity
- Proc. 26th ACM Symp. Theory of Computing
, 1997
"... We present fully dynamic algorithms for maintaining the biconnected components in general and plane graphs. A fully dynamic algorithm maintains a graph during a sequence of insertions and deletions of edges or isolated vertices. Let m be the number of edges and n be the number of vertices in a gr ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We present fully dynamic algorithms for maintaining the biconnected components in general and plane graphs. A fully dynamic algorithm maintains a graph during a sequence of insertions and deletions of edges or isolated vertices. Let m be the number of edges and n be the number of vertices in a graph. The time per operation of the previously best deterministic algorithms were O(min{m 2/3 , n}) in general graphs and O( # n) in plane graphs for fully dynamic biconnectivity. We improve these running times to O( # m log n) in general graphs and O(log 2 n) in plane graphs. Our algorithm for general graphs can also find the biconnected components of all vertices in time O(n). 1 Introduction Many computing activities require the recomputation of a solution after a small modification of the input data. Thus algorithms are needed that update an old solution in response to a change in the problem instance. Dynamic graph algorithms are data structures that, given an input graph G, mai...
Top-Trees and Dynamic Graph Algorithms
, 1998
"... Contents 1 Introduction 3 1.1 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Organisation of this thesis . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Readers prerequisites . . . . . . . . . . . . . . . . . . . . . . . . 5 I Top-trees 6 2 Introduction to part I 7 2.1 T ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Contents 1 Introduction 3 1.1 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Organisation of this thesis . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Readers prerequisites . . . . . . . . . . . . . . . . . . . . . . . . 5 I Top-trees 6 2 Introduction to part I 7 2.1 Top-trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Top-trees 10 3.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Black box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4 Applications 36 4.1 Maxweight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2 Diameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3 Global search . . . . . . . . . . . . . . . . . . . . . . . .

