Results 1  10
of
44
Fully Dynamic Algorithms for Maintaining AllPairs Shortest Paths and Transitive Closure in Digraphs
 IN PROC. 40TH IEEE SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE (FOCS’99
, 1999
"... This paper presents the first fully dynamic algorithms for maintaining allpairs shortest paths in digraphs with positive integer weights less than b. For approximate shortest paths with an error factor of (2 + ffl), for any positive constant ffl, the amortized update time is O(n 2 log 2 n= log ..."
Abstract

Cited by 63 (0 self)
 Add to MetaCart
This paper presents the first fully dynamic algorithms for maintaining allpairs shortest paths in digraphs with positive integer weights less than b. For approximate shortest paths with an error factor of (2 + ffl), for any positive constant ffl, the amortized update time is O(n 2 log 2 n= log log n); for an error factor of (1 + ffl) the amortized update time is O(n 2 log 3 (bn)=ffl 2 ). For exact shortest paths the amortized update time is O(n 2:5 p b log n). Query time for exact and approximate shortest distances is O(1); exact and approximate paths can be generated in time proportional to their lengths. Also presented is a fully dynamic transitive closure algorithm with update time O(n 2 log n) and query time O(1). The previously known fully dynamic transitive closure algorithm with fast query time has onesided error and update time O(n 2:28 ). The algorithms use simple data structures, and are deterministic.
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 41 (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
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 Dynamic Algorithm for Topologically Sorting Directed Acyclic Graphs
, 2004
"... We consider how to maintain the topological order of a directed acyclic graph (DAG) in the presence of edge insertions and deletions. We present a new algorithm and, although this has marginally inferior time complexity compared with the best previously known result, we find that its simplicity lead ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
We consider how to maintain the topological order of a directed acyclic graph (DAG) in the presence of edge insertions and deletions. We present a new algorithm and, although this has marginally inferior time complexity compared with the best previously known result, we find that its simplicity leads to better performance in practice. In addition, we provide an empirical comparison against three alternatives over a large number of random DAG's. The results show our algorithm is the best for sparse graphs and, surprisingly, that an alternative with poor theoretical complexity performs marginally better on dense graphs.
Planning for fast connectivity updates
 In Proceedings 48th IEEE Symposium on Foundations of Computer Science (FOCS
, 2007
"... Understanding how a single edge deletion can affect the connectivity of a graph amounts to finding the graph bridges. But when faced with d> 1 deletions, can we establish as easily how the connectivity changes? When planning for an emergency, we want to understand the structure of our network ahe ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Understanding how a single edge deletion can affect the connectivity of a graph amounts to finding the graph bridges. But when faced with d> 1 deletions, can we establish as easily how the connectivity changes? When planning for an emergency, we want to understand the structure of our network ahead of time, and respond swiftly when an emergency actually happens. We describe a linearspace representation of graphs which enables us to determine how a batch of edge updates can impact the graph. Given a set of d edge updates, in time O(d polylg n) we can obtain the number of connected components, the size of each component, and a fast oracle for answering connectivity queries in the updated graph. The initial representation is polynomialtime constructible. 1.
Oracles for Distances Avoiding a Linkfailure
 In Proc. of the 13th IEEE Annual ACMSIAM Symposium on Discrete Algorithms (SODA'02
, 2002
"... For a directed graph G we consider queries of the form: "What is the shortest path distance from vertex x to vertex y in G avoiding a failed link (u,v), and what edge leaving x should we use to get on a such a shortest path?" We show that an oracle for such queries can be stored in O(n ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
For a directed graph G we consider queries of the form: "What is the shortest path distance from vertex x to vertex y in G avoiding a failed link (u,v), and what edge leaving x should we use to get on a such a shortest path?" We show that an oracle for such queries can be stored in O(n 2 logn) space with a query time of O(logn). No nontrivial solution was known for this problem.
Dynamic shortest paths and transitive closure: algorithmic techniques and data structures
 J. Discr. Algor
, 2006
"... In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of ye ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of years many novel algorithmic techniques have been proposed. In this survey, we will make a special effort to abstract some combinatorial and algebraic properties, and some common datastructural tools that are at the base of those techniques. This will help us try to present some of the newest results in a unifying framework so that they can be better understood and deployed also by nonspecialists.
Oracles for distances avoiding a failed node or link
 SIAM J. Comput
"... Abstract. We consider the problem of preprocessing an edgeweighted directed graph G to answer queries that ask for the length and first hop of a shortest path from any given vertex x to any given vertex y avoiding any given vertex or edge. As a natural application, this problem models routing in ne ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Abstract. We consider the problem of preprocessing an edgeweighted directed graph G to answer queries that ask for the length and first hop of a shortest path from any given vertex x to any given vertex y avoiding any given vertex or edge. As a natural application, this problem models routing in networks subject to node or link failures. We describe a deterministic oracle with constant query time for this problem that uses O(n2 log n) space, where n is the number of vertices in G. The construction time for our oracle is O(mn2 + n3 log n). However, if one is willing to settle for Θ(n2.5) space, we can improve the preprocessing time to O(mn1.5 + n2.5 log n) while maintaining the constant query time. Our algorithms can find the shortest path avoiding a failed node or link in time proportional to the length of the path.
Tradeoffs for fully dynamic transitive closure on DAGs: breaking through the O(n²) barrier
 J. ACM
, 2005
"... We present an algorithm for directed acyclic graphs that breaks through the O(n²) barrier on the singleoperation complexity of fully dynamic transitive closure, where n is the number of edges in the graph. We can answer queries in O(n ɛ) worstcase time and perform updates in O(n ω(1,ɛ,1)−ɛ + n 1+ɛ ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
We present an algorithm for directed acyclic graphs that breaks through the O(n²) barrier on the singleoperation complexity of fully dynamic transitive closure, where n is the number of edges in the graph. We can answer queries in O(n ɛ) worstcase time and perform updates in O(n ω(1,ɛ,1)−ɛ + n 1+ɛ) worstcase time, for any ɛ ∈ [0,1], where ω(1,ɛ,1) is the exponent of the multiplication of an n ×n ɛ matrix by an n ɛ ×n matrix. The current best bounds on ω(1,ɛ,1) imply an O(n 0.575) query time and an O(n 1.575) update time in the worst case. Our subquadratic algorithm is randomized, and has onesided error. As an application of this result, we show how to solve singlesource reachability in O(n 1.575) time per update and constant time per query.