Results 1  10
of
13
Faster algorithms for the shortest path problem
, 1990
"... Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the radix heap, is proposed for use in this algorithm. On a network with n vertices, mn edges, and nonnegative integer arc costs bounded by C, a onelevel form of radix heap gives a time b ..."
Abstract

Cited by 104 (10 self)
 Add to MetaCart
Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the radix heap, is proposed for use in this algorithm. On a network with n vertices, mn edges, and nonnegative integer arc costs bounded by C, a onelevel form of radix heap gives a time bound for Dijkstra's algorithm of O(m + n log C). A twolevel form of radix heap gives a bound of O(m + n log C/log log C). A combination of a radix heap and a previously known data structure called a Fibonacci heap gives a bound of O(m + n /log C). The best previously known bounds are O(m + n log n) using Fibonacci heaps alone and O(m log log C) using the priority queue structure of Van Emde Boas et al. [17].
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 97 (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 graphtheoretic lowerbounding 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 pointtopoint shortest path algorithms
 IN WORKSHOP ON ALGORITHM ENGINEERING & EXPERIMENTS
, 2006
"... We study the pointtopoint shortest path problem in a setting where preprocessing is allowed. We improve the reachbased 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 60 (5 self)
 Add to MetaCart
We study the pointtopoint shortest path problem in a setting where preprocessing is allowed. We improve the reachbased 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.
A Simple Shortest Path Algorithm with Linear Average Time
"... We present a simple shortest path algorithm. If the input lengths are positive and uniformly distributed, the algorithm runs in linear time. The worstcase running time of the algorithm is O(m + n log C), where n and m are the number of vertices and arcs of the input graph, respectively, and C i ..."
Abstract

Cited by 34 (6 self)
 Add to MetaCart
We present a simple shortest path algorithm. If the input lengths are positive and uniformly distributed, the algorithm runs in linear time. The worstcase running time of the algorithm is O(m + n log C), where n and m are the number of vertices and arcs of the input graph, respectively, and C is the ratio of the largest and the smallest nonzero arc length.
Shortest Path Algorithms: Engineering Aspects
 In Proc. ESAAC ’01, Lecture Notes in Computer Science
, 2001
"... We review shortest path algorithms based on the multilevel bucket data structure [6] and discuss the interplay between theory and engineering choices that leads to e#cient implementations. Our experimental results suggest that the caliber heuristic [17] and adaptive parameter selection give an ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
We review shortest path algorithms based on the multilevel bucket data structure [6] and discuss the interplay between theory and engineering choices that leads to e#cient implementations. Our experimental results suggest that the caliber heuristic [17] and adaptive parameter selection give an e#cient algorithm, both on typical and on hard inputs, for a wide range of arc lengths.
Highway dimension, shortest paths, and provably efficient algorithms
 In ACMSIAM Symposium on Discrete Algorithms (SODA’10) January 1719, 2010
, 2010
"... Computing driving directions has motivated many shortest path heuristics that answer queries on continental scale networks, with tens of millions of intersections, literally instantly, and with very low storage overhead. In this paper we complement the experimental evidence with the first rigorous p ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
Computing driving directions has motivated many shortest path heuristics that answer queries on continental scale networks, with tens of millions of intersections, literally instantly, and with very low storage overhead. In this paper we complement the experimental evidence with the first rigorous proofs of efficiency for many of the heuristics suggested over the past decade. We introduce the notion of highway dimension and show how low highway dimension gives a unified explanation for several seemingly different algorithms.
Buckets, Heaps, Lists, and Monotone Priority Queues
, 1997
"... We introduce the heapontop (hot) priority queue data structure that combines the multilevel bucket data structure of Denardo and Fox and a heap. We use the new data structure to obtain an O(m + n(log C) 1 3 +ffl ) expected time implementation of Dijkstra's shortest path algorithm, improving the ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We introduce the heapontop (hot) priority queue data structure that combines the multilevel bucket data structure of Denardo and Fox and a heap. We use the new data structure to obtain an O(m + n(log C) 1 3 +ffl ) expected time implementation of Dijkstra's shortest path algorithm, improving the previous bounds. We can implement hot queues even more efficiently in practice by using sorted lists to represent small priority queues. Our experimental results in the context of Dijkstra's algorithm show that this implementation of hot queues performs very well and is more robust than implementations based only on heap or multilevel bucket data structures. 1 Introduction A priority queue is a data structure that maintains a set of elements and supports operations insert, decreasekey, and extractmin. Priority queues are fundamental data structures with many applications. Typical applications include graph algorithms (e.g. [14]) and event simulation (e.g. [5]). An important subclass of...
PointtoPoint Shortest Path Algorithms with Preprocessing
"... Abstract. This is a survey of some recent results on pointtopoint shortest path algorithms. This classical optimization problem received a lot of attention lately and significant progress has been made. After an overview of classical results, we study recent heuristics that solve the problem while ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract. This is a survey of some recent results on pointtopoint shortest path algorithms. This classical optimization problem received a lot of attention lately and significant progress has been made. After an overview of classical results, we study recent heuristics that solve the problem while examining only a small portion of the input graph; the graph can be very big. Note that the algorithms we discuss find exact shortest paths. These algorithms are heuristic because they perform well only on some graph classes. While their performance has been good in experimental studies, no theoretical bounds are known to support the experimental observations. Most of these algorithms have been motivated by finding paths in large road networks. We start by reviewing the classical Dijkstra’s algorithm and its bidirectional variant, developed in 1950’s and 1960’s. Then we review A* search, an AI technique developed in 1970’s. Next we turn our attention to modern results which are based on preprocessing the graph. To be practical, preprocessing needs to be reasonably fast and not use too much space. We discuss landmark and reachbased algorithms as well as their combination. 1
HeaponTop Priority Queues
 TR 96042, NEC RESEARCH INSTITUTE
, 1996
"... We introduce the heapontop (hot) priority queue data structure that combines the multilevel bucket data structure of Denardo and Fox [9] and a heap. We use the new data structure to obtain an O(m+n(logC) 1 3 +ffl ) expected time implementation of Dijkstra's shortest path algorithm [11], improvi ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
We introduce the heapontop (hot) priority queue data structure that combines the multilevel bucket data structure of Denardo and Fox [9] and a heap. We use the new data structure to obtain an O(m+n(logC) 1 3 +ffl ) expected time implementation of Dijkstra's shortest path algorithm [11], improving the previous bounds.
Shortest Path Feasibility Algorithms: An Experimental Evaluation
, 2008
"... This is an experimental study of algorithms for the shortest path feasibility problem: Given a directed weighted graph, find a negative cycle or present a short proof that none exists. We study previously known and new algorithms. Our testbed is more extensive than those previously used, including b ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
This is an experimental study of algorithms for the shortest path feasibility problem: Given a directed weighted graph, find a negative cycle or present a short proof that none exists. We study previously known and new algorithms. Our testbed is more extensive than those previously used, including both static and incremental problems, as well as worstcase instances. We show that, while no single algorithm dominates, a small subset (including a new algorithm) has very robust performance in practice. Our work advances state of the art in the area.