Results 1 - 10
of
35
Computing the shortest path: A* search meets graph theory
, 2005
"... We study the problem of finding a shortest path between two vertices in a directed graph. This is an important problem with many applications, including that of computing driving directions. We allow preprocessing the graph using a linear amount of extra space to store auxiliary information, and usi ..."
Abstract
-
Cited by 74 (4 self)
- Add to MetaCart
We study the problem of finding a shortest path between two vertices in a directed graph. This is an important problem with many applications, including that of computing driving directions. We allow preprocessing the graph using a linear amount of extra space to store auxiliary information, and using this information to answer shortest path queries quickly. Our approach uses A ∗ search in combination with a new graph-theoretic lower-bounding technique based on landmarks and the triangle inequality. We also develop new bidirectional variants of A ∗ search and investigate several variants of the new algorithms to find those that are most efficient in practice. Our algorithms compute optimal shortest paths and work on any directed graph. We give experimental results showing that the most efficient of our new algorithms outperforms previous algorithms, in particular A ∗ search with Euclidean bounds, by a wide margin on road networks. We also experiment with several synthetic graph families.
Reach for A∗: Efficient point-to-point shortest path algorithms
- IN WORKSHOP ON ALGORITHM ENGINEERING & EXPERIMENTS
, 2006
"... We study the point-to-point shortest path problem in a setting where preprocessing is allowed. We improve the reach-based approach of Gutman [16] in several ways. In particular, we introduce a bidirectional version of the algorithm that uses implicit lower bounds and we add shortcut arcs which reduc ..."
Abstract
-
Cited by 49 (5 self)
- Add to MetaCart
We study the point-to-point shortest path problem in a setting where preprocessing is allowed. We improve the reach-based approach of Gutman [16] in several ways. In particular, we introduce a bidirectional version of the algorithm that uses implicit lower bounds and we add shortcut arcs which reduce vertex reaches. Our modifications greatly reduce both preprocessing and query times. The resulting algorithm is as fast as the best previous method, due to Sanders and Schultes [27]. However, our algorithm is simpler and combines in a natural way with A∗ search, which yields significantly better query times.
Finding shortest non-separating and non-contractible cycles for topologically embedded graphs
- Discrete Comput. Geom
, 2005
"... We present an algorithm for finding shortest surface non-separating cycles in graphs embedded on surfaces in O(g 3/2 V 3/2 log V + g 5/2 V 1/2) time, where V is the number of vertices in the graph and g is the genus of the surface. If g = o(V 1/3−ε), this represents a considerable improvement over p ..."
Abstract
-
Cited by 32 (5 self)
- Add to MetaCart
We present an algorithm for finding shortest surface non-separating cycles in graphs embedded on surfaces in O(g 3/2 V 3/2 log V + g 5/2 V 1/2) time, where V is the number of vertices in the graph and g is the genus of the surface. If g = o(V 1/3−ε), this represents a considerable improvement over previous results by Thomassen, and Erickson and Har-Peled. We also give algorithms to find a shortest non-contractible cycle in O(g O(g) V 3/2) time, which improves previous results for fixed genus. This result can be applied for computing the (non-separating) face-width of embedded graphs. Using similar ideas we provide the first near-linear running time algorithm for computing the face-width of a graph embedded on the projective plane, and an algorithm to find the face-width of embedded toroidal graphs in O(V 5/4 log V) time. 1
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].
Shortest paths in directed planar graphs with negative lengths: A linear-space O(n log² n)-time algorithm
- PROC. 20TH ANN. ACM-SIAM SYMP. DISCRETE ALGORITHMS
, 2009
"... We give an O(n log² n)-time, linear-space algorithm that, given a directed planar graph with positive and negative arc-lengths, and given a node s, finds the distances from s to all nodes. ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
We give an O(n log² n)-time, linear-space algorithm that, given a directed planar graph with positive and negative arc-lengths, and given a node s, finds the distances from s to all nodes.
Dynamic highway-node routing
- In Proc. 6th Workshop on Experimental and Efficient Algorithms. LNCS
, 2007
"... Abstract. We introduce a dynamic technique for fast route planning in large road networks. For the first time, it is possible to handle the practically relevant scenarios that arise in present-day navigation systems: When an edge weight changes (e.g., due to a traffic jam), we can update the preproc ..."
Abstract
-
Cited by 16 (4 self)
- Add to MetaCart
Abstract. We introduce a dynamic technique for fast route planning in large road networks. For the first time, it is possible to handle the practically relevant scenarios that arise in present-day navigation systems: When an edge weight changes (e.g., due to a traffic jam), we can update the preprocessed information in 2–40 ms allowing subsequent fast queries in about one millisecond on average. When we want to perform only a single query, we can skip the comparatively expensive update step and directly perform a prudent query that automatically takes the changed situation into account. If the overall cost function changes (e.g., due to a different vehicle type), recomputing the preprocessed information takes typically less than two minutes. The foundation of our dynamic method is a new static approach that generalises and combines several previous speedup techniques. It has outstandingly low memory requirements of only a few bytes per node. 1
An O(n log n) algorithm for maximum st-flow in a directed planar graph
"... We give the first correct O(n log n) algorithm for finding a maximum st-flow in a directed planar graph. After a preprocessing step that consists in finding single-source shortest-path distances in the dual, the algorithm consists of repeatedly saturating the leftmost residual s-to-t path. ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
We give the first correct O(n log n) algorithm for finding a maximum st-flow in a directed planar graph. After a preprocessing step that consists in finding single-source shortest-path distances in the dual, the algorithm consists of repeatedly saturating the leftmost residual s-to-t path.
Minimum Cuts and Shortest Homologous Cycles
- SYMPOSIUM ON COMPUTATIONAL GEOMETRY
, 2009
"... We describe the first algorithms to compute minimum cuts in surface-embedded graphs in nearlinear time. Given an undirected graph embedded on an orientable surface of genus g, with two specified vertices s and t, our algorithm computes a minimum (s, t)-cut in g O(g) n log n time. Except for the spec ..."
Abstract
-
Cited by 14 (7 self)
- Add to MetaCart
We describe the first algorithms to compute minimum cuts in surface-embedded graphs in nearlinear time. Given an undirected graph embedded on an orientable surface of genus g, with two specified vertices s and t, our algorithm computes a minimum (s, t)-cut in g O(g) n log n time. Except for the special case of planar graphs, for which O(n log n)-time algorithms have been known for more than 20 years, the best previous time bounds for finding minimum cuts in embedded graphs follow from algorithms for general sparse graphs. A slight generalization of our minimum-cut algorithm computes a minimum-cost subgraph in every Z2-homology class. We also prove that finding a minimum-cost subgraph homologous to a single input cycle is NP-hard.
A near-linear time algorithm for computing replacement paths in planar directed graphs
- In Proc. 19th annual ACM-SIAM symposium on Discrete algorithms
, 2008
"... Let G = (V (G), E(G)) be a weighted directed graph and let P be a shortest path from s to t in G. In the replacement paths problem we are required to compute for every edge e in P, the length of a shortest path from s to t that avoids e. The fastest known algorithm for solving the problem in weighte ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
Let G = (V (G), E(G)) be a weighted directed graph and let P be a shortest path from s to t in G. In the replacement paths problem we are required to compute for every edge e in P, the length of a shortest path from s to t that avoids e. The fastest known algorithm for solving the problem in weighted directed graphs is the trivial one: each edge in P is removed from the graph in its turn and the distance from s to t in the modified graph is computed. The running time of this algorithm is O � mn + n2 log n � , where n = |V (G) | and m = |E(G)|. The replacement paths problem is strongly motivated by two different applications. First, the fastest algorithm to compute the k simple shortest paths from s to t in directed graphs [21, 13] repeatedly computes the replacement paths from s to t. Its running time is O(kn(m + n log n)). Second, the computation of Vickrey pricing of edges in distributed networks can be reduced to the replacement paths problem. An open question raised by Nisan and Ronen [16] asks whether it is possible to compute the Vickrey pricing faster than the trivial algorithm described in the previous paragraph. In this paper we present a near-linear time algorithm for computing replacement paths in
Homology flows, cohomology cuts
- ACM SYMPOSIUM ON THEORY OF COMPUTING
, 2009
"... We describe the first algorithms to compute maximum flows in surface-embedded graphs in nearlinear time. Specifically, given an undirected graph embedded on an orientable surface of genus g, with two specified vertices s and t, we can compute a maximum (s, t)-flow in O(g 7 n log 2 n log 2 C) time fo ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
We describe the first algorithms to compute maximum flows in surface-embedded graphs in nearlinear time. Specifically, given an undirected graph embedded on an orientable surface of genus g, with two specified vertices s and t, we can compute a maximum (s, t)-flow in O(g 7 n log 2 n log 2 C) time for integer capacities that sum to C, or in (g log n) O(g) n time for real capacities. Except for the special case of planar graphs, for which an O(n log n)-time algorithm has been known for 20 years, the best previous time bounds for maximum flows in surface-embedded graphs follow from algorithms for general sparse graphs. Our key insight is to optimize the relative homology class of the flow, rather than directly optimizing the flow itself. A dual formulation of our algorithm computes the minimum-cost cycle or circulation in a given (real or integer) homology class.

