Results 1 - 10
of
34
Fully Dynamic Algorithms for Maintaining All-Pairs 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 all-pairs 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 49 (0 self)
- Add to MetaCart
This paper presents the first fully dynamic algorithms for maintaining all-pairs 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 one-sided error and update time O(n 2:28 ). The algorithms use simple data structures, and are deterministic.
Dyn-FO: A Parallel, Dynamic Complexity Class
- Journal of Computer and System Sciences
, 1994
"... Traditionally, computational complexity has considered only static problems. Classical Complexity Classes such as NC, P, and NP are defined in terms of the complexity of checking -- upon presentation of an entire input -- whether the input satisfies a certain property. For many applications of compu ..."
Abstract
-
Cited by 47 (4 self)
- Add to MetaCart
Traditionally, computational complexity has considered only static problems. Classical Complexity Classes such as NC, P, and NP are defined in terms of the complexity of checking -- upon presentation of an entire input -- whether the input satisfies a certain property. For many applications of computers it is more appropriate to model the process as a dynamic one. There is a fairly large object being worked on over a period of time. The object is repeatedly modified by users and computations are performed. We develop a theory of Dynamic Complexity. We study the new complexity class, Dynamic First-Order Logic (Dyn-FO). This is the set of properties that can be maintained and queried in first-order logic, i.e. relational calculus, on a relational database. We show that many interesting properties are in Dyn-FO including multiplication, graph connectivity, bipartiteness, and the computation of minimum spanning trees. Note that none of these problems is in static FO, and this f...
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].
Lifelong Planning A*
, 2005
"... Heuristic search methods promise to find shortest paths for path-planning problems faster than uninformed search methods. Incremental search methods, on the other hand, promise to find shortest paths for series of similar path-planning problems faster than is possible by solving each path-planning p ..."
Abstract
-
Cited by 25 (3 self)
- Add to MetaCart
Heuristic search methods promise to find shortest paths for path-planning problems faster than uninformed search methods. Incremental search methods, on the other hand, promise to find shortest paths for series of similar path-planning problems faster than is possible by solving each path-planning problem from scratch. In this article, we develop Lifelong Planning A * (LPA*), an incremental version of A * that combines ideas from the artificial intelligence and the algorithms literature. It repeatedly finds shortest paths from a given start vertex to a given goal vertex while the edge costs of a graph change or vertices are added or deleted. Its first search is the same as that of a version of A * that breaks ties in favor of vertices with smaller g-values but many of the subsequent searches are potentially faster because it reuses those parts of the previous search tree that are identical to the new one. We present analytical results that demonstrate its similarity to A * and experimental results that demonstrate its potential advantage in two different domains if the path-planning problems change only slightly and the changes are close to the goal.
A Case Study in Real-Time Parallel Computation: Correcting Algorithms
- Journal of Parallel and Distributed Computing
, 2001
"... A correcting algorithm is one that receives an endless stream of corrections to its initial input data and terminates when all the corrections received have been taken into account. We give a characterization of correcting algorithms based on the theory of data-accumulating algorithms. In particular ..."
Abstract
-
Cited by 23 (21 self)
- Add to MetaCart
A correcting algorithm is one that receives an endless stream of corrections to its initial input data and terminates when all the corrections received have been taken into account. We give a characterization of correcting algorithms based on the theory of data-accumulating algorithms. In particular, it is shown that any correcting algorithm exhibits superunitary behavior in a parallel computation setting if and only if the static counterpart of that correcting algorithm manifests a strictly superunitary speedup. Since both classes of correcting and data-accumulating algorithms are included in the more general class of real-time algorithms, we show in fact that many problems from this class manifest superunitary behavior. Moreover, we give an example of a real-time parallel computation that pertains to neither of the two classes studied (namely, correcting and data-accumulating algorithms), but still manifests superunitary behavior. Because of the aforementioned results, the usual measures of performance for parallel algorithms (that is, speedup and efficiency) lose much of their ability to convey effectively the nature of the phenomenon taking place in the real-time case. We propose therefore a more expressive measure that captures all the relevant parameters of the computation. Our proposal is made in terms of a graphical representation. We state as an open problem the investigation of such a measure, including nding an analytical form for it.
Incremental algorithms for inter-procedural analysis of safety properties
, 2005
"... Automaton-based static program analysis has proved to be an effective tool for bug finding. Current tools generally re-analyze a program from scratch in response to a change in the code, which can result in much duplicated effort. We present an inter-procedural algorithm that analyzes incrementally ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Automaton-based static program analysis has proved to be an effective tool for bug finding. Current tools generally re-analyze a program from scratch in response to a change in the code, which can result in much duplicated effort. We present an inter-procedural algorithm that analyzes incrementally in response to program changes and present experiments for a null-pointer dereference analysis. It shows a substantial speed-up over re-analysis from scratch, with a manageable amount of disk space used to store information between analysis runs.
Speeding Up Dynamic Shortest Path Algorithms
- INFORMS Journal on Computing, submitted
, 2003
"... Dynamic shortest path algorithms update the shortest paths to take into account a change in an edge weight. This paper describes a new technique that allows the reduction of heap sizes used by several dynamic shortest path algorithms. For unit weight change, the updates can be done without heaps. Th ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Dynamic shortest path algorithms update the shortest paths to take into account a change in an edge weight. This paper describes a new technique that allows the reduction of heap sizes used by several dynamic shortest path algorithms. For unit weight change, the updates can be done without heaps. These reductions almost always reduce the computational times for these algorithms. In computational testing, several dynamic shortest path algorithms with and without the heap-reduction technique are compared. Speedups of up to a factor of 1.8 were observed using the heap-reduction technique on random weight changes and of over a factor of five on unit weight changes. We compare as well with Dijkstra 's algorithm, which recomputes the paths from scratch. With respect to Dijkstra's algorithm, speedups of up to five orders of magnitude are observed. 1.
Fast Replanning for Navigation in Unknown Terrain
, 2002
"... Mobile robots often operate in domains that are only incompletely known, for example, when they have to move from given start coordinates to given goal coordinates in unknown terrain. In this case, they need to be able to replan quickly as their knowledge of the terrain changes. Stentz’ Focussed D ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
Mobile robots often operate in domains that are only incompletely known, for example, when they have to move from given start coordinates to given goal coordinates in unknown terrain. In this case, they need to be able to replan quickly as their knowledge of the terrain changes. Stentz’ Focussed Dynamic A * (D*) is a heuristic search method that repeatedly determines a shortest path from the current robot coordinates to the goal coordinates while the robot moves along the path. It is able to replan faster than planning from scratch since it modifies its previous search results locally. Consequently, it has been extensively used in mobile robotics. In this article, we introduce an alternative to D * that determines the same paths and thus moves the robot in the same way but is algorithmically different. D * Lite is simple, can be rigorously analyzed, extendible in multiple ways, and is at least as efficient as D*. We believe that our results will make D*-like replanning methods even more popular and enable robotics researchers to adapt them to additional applications.
Maintaining Shortest Paths in Digraphs with Arbitrary Arc Weights: An Experimental Study
- In Proc. Workshop on Algorithm Engineering
, 2000
"... We present the first experimental study of the fully dynamic single-source shortest paths problem in digraphs with arbitrary (negative and non-negative) arc weights. We implemented and tested several variants of the theoretically fastest fully dynamic algorithms proposed in the literature, plus ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
We present the first experimental study of the fully dynamic single-source shortest paths problem in digraphs with arbitrary (negative and non-negative) arc weights. We implemented and tested several variants of the theoretically fastest fully dynamic algorithms proposed in the literature, plus a new algorithm devised to be as simple as possible while matching the best worst-case bounds for the problem. According to experiments performed on randomly generated test sets, all the considered dynamic algorithms are faster by several orders of magnitude than recomputing from scratch with the best static algorithm. The experiments also reveal that, although the simple dynamic algorithm we suggest is usually the fastest in practice, other dynamic algorithms proposed in the literature yield better results for specific kinds of test sets. 1
A Fully Dynamic Algorithm for Distributed Shortest Paths
- Theoretical Computer Science
, 2003
"... We propose a fully-dynamic distributed algorithm for the all-pairs shortest paths problem on general networks with positive real edge weights. If is the number of pairs of nodes changing the distance after a single edge modi cation (insert, delete, weight decrease, or weight increase) then th ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
We propose a fully-dynamic distributed algorithm for the all-pairs shortest paths problem on general networks with positive real edge weights. If is the number of pairs of nodes changing the distance after a single edge modi cation (insert, delete, weight decrease, or weight increase) then the message complexity of the proposed algorithm is O(n ) in the worst case, where n is the number of nodes of the network.

