Results 1  10
of
50
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 123 (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 ...
What Are Principal Typings and What Are They Good For?
, 1995
"... We demonstrate the pragmatic value of the principal typing property, a property more general than ML's principal type property, by studying a type system with principal typings. The type system is based on rank 2 intersection types and is closely related to ML. Its principal typing property ..."
Abstract

Cited by 93 (0 self)
 Add to MetaCart
We demonstrate the pragmatic value of the principal typing property, a property more general than ML's principal type property, by studying a type system with principal typings. The type system is based on rank 2 intersection types and is closely related to ML. Its principal typing property provides elegant support for separate compilation, including "smartest recompilation" and incremental type inference, and for accurate type error messages. Moreover, it motivates a novel rule for typing recursive definitions that can type many examples of polymorphic recursion.
All Pairs Shortest Paths using Bridging Sets and Rectangular Matrix Multiplication
 Journal of the ACM
, 2000
"... We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms. The first algorithm solves... ..."
Abstract

Cited by 60 (6 self)
 Add to MetaCart
We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms. The first algorithm solves...
Dynamic Graph Algorithms
, 1999
"... Introduction In many applications of graph algorithms, including communication networks, graphics, assembly planning, and VLSI design, graphs are subject to discrete changes, such as additions or deletions of edges or vertices. In the last decade there has been a growing interest in such dynamicall ..."
Abstract

Cited by 55 (1 self)
 Add to MetaCart
Introduction In many applications of graph algorithms, including communication networks, graphics, assembly planning, and VLSI design, graphs are subject to discrete changes, such as additions or deletions of edges or vertices. In the last decade there has been a growing interest in such dynamically changing graphs, and a whole body of algorithms and data structures for dynamic graphs has been discovered. This chapter is intended as an overview of this field. In a typical dynamic graph problem one would like to answer queries on graphs that are undergoing a sequence of updates, for instance, insertions and deletions of edges and vertices. The goal of a dynamic graph algorithm is to update efficiently the solution of a problem after dynamic changes, rather than having to recompute it from scratch each time. Given their powerful versatility, it is not surprising that dynamic algorithms and dynamic data structures are often more difficult to design and analyze than their static c
A Fully Dynamic Algorithm for Maintaining the Transitive Closure
 In Proc. 31st ACM Symposium on Theory of Computing (STOC'99
, 1999
"... This paper presents an efficient fully dynamic graph algorithm for maintaining the transitive closure of a directed graph. The algorithm updates the adjacency matrix of the transitive closure with each update to the graph. Hence, each reachability query of the form "Is there a directed path fro ..."
Abstract

Cited by 43 (1 self)
 Add to MetaCart
This paper presents an efficient fully dynamic graph algorithm for maintaining the transitive closure of a directed graph. The algorithm updates the adjacency matrix of the transitive closure with each update to the graph. Hence, each reachability query of the form "Is there a directed path from i to j?" can be answered in O(1) time. The algorithm is randomized; it is correct when answering yes, but has O(1/n^c) probability of error when answering no, for any constant c. In acyclic graphs, worst case update time is O(n^2). In general graphs, update time is O(n^(2+alpha)), where alpha = min {.26, maximum size of a strongly connected component}. The space complexity of the algorithm is O(n^2).
Fully Dynamic Transitive Closure: Breaking Through The O(n²) Barrier
 IN PROC. IEEE SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE
, 2000
"... In this paper we introduce a general framework for casting fully dynamic transitive closure into the problem of reevaluating polynomials over matrices. With this technique, we improve the best known bounds for fully dynamic transitive closure. In particular, we devise a deterministic algorithm for g ..."
Abstract

Cited by 40 (7 self)
 Add to MetaCart
In this paper we introduce a general framework for casting fully dynamic transitive closure into the problem of reevaluating polynomials over matrices. With this technique, we improve the best known bounds for fully dynamic transitive closure. In particular, we devise a deterministic algorithm for general directed graphs that achieves O(n²) amortized time for updates, while preserving unit worstcase cost for queries. In case of deletions only, our algorithm performs updates faster in O(n) amortized time. Our
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].
Trading off space for passes in graph streaming problems
 In ACMSIAM SODA. 714–723
, 2006
"... Data stream processing has recently received increasing attention as a computational paradigm for dealing with massive data sets. Surprisingly, no algorithm with both sublinear space and passes is known for natural graph problems in classical readonly streaming. Motivated by technological factors o ..."
Abstract

Cited by 31 (3 self)
 Add to MetaCart
Data stream processing has recently received increasing attention as a computational paradigm for dealing with massive data sets. Surprisingly, no algorithm with both sublinear space and passes is known for natural graph problems in classical readonly streaming. Motivated by technological factors of modern storage systems, some authors have recently started to investigate the computational power of less restrictive models where writing streams is allowed. In this paper, we show that the use of intermediate temporary streams is powerful enough to provide effective spacepasses tradeoffs for natural graph problems. In particular, for any space restriction of s bits, we show that singlesource shortest paths in directed graphs with small positive integer edge weights can be solved in O((n log 3/2 n) / √ s) passes. The result can be generalized to deal with multiple sources within the same bounds. This is the first known streaming algorithm for shortest paths in directed graphs. For undirected connectivity, we devise an O((n log n)/s) passes algorithm. Both problems require Ω(n/s) passes under the restrictions we consider. We also show that the model where intermediate temporary streams are allowed can be strictly more powerful than classical streaming for some problems, while maintaining all of its hardness for others.
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.
A fully dynamic reachability algorithm for directed graphs with an almost linear update time
 In Proc. of ACM Symposium on Theory of Computing
, 2004
"... We obtain a new fully dynamic algorithm for the reachability problem in directed graphs. Our algorithm has an amortized update time of O(m+n log n) and a worstcase query time of O(n), where m is the current number of edges in the graph, and n is the number of vertices in the graph. Each update oper ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
We obtain a new fully dynamic algorithm for the reachability problem in directed graphs. Our algorithm has an amortized update time of O(m+n log n) and a worstcase query time of O(n), where m is the current number of edges in the graph, and n is the number of vertices in the graph. Each update operation either inserts a set of edges that touch the same vertex, or deletes an arbitrary set of edges. The algorithm is deterministic and uses fairly simple data structures. This is the first algorithm that breaks the O(n 2) update barrier for all graphs with o(n 2)edges. One of the ingredients used by this new algorithm may be interesting in its own right. It is a new dynamic algorithm for strong connectivity in directed graphs with an interesting persistency property. Each insert operation creates a new version of the graph. A delete operation deletes edges from all versions. Strong connectivity queries can be made on each version of the graph. The algorithm handles each update in O(mα(m, n)) amortized time, and each query in O(1) time, where α(m, n) is a functional inverse of Ackermann’s function appearing in the analysis of the unionfind data structure. Note that the update time of O(mα(m, n)), in case of a delete operation, is the time needed for updating all versions of the graph. Categories and Subject Descriptors G.2.2 [Discrete Mathematics]: Graph Theory—Graph algorithms, Path and circuit problems