Results 1  10
of
12
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 39 (7 self)
 Add to MetaCart
(Show Context)
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.
SingleSource ShortestPaths on Arbitrary Directed Graphs in Linear AverageCase Time
 In Proc. 12th ACMSIAM Symposium on Discrete Algorithms
, 2001
"... The quest for a lineartime singlesource shortestpath (SSSP) algorithm on directed graphs with positive edge weights is an ongoing hot research topic. While Thorup recently found an O(n + m) time RAM algorithm for undirected graphs with n nodes, m edges and integer edge weights in f0; : : : ; 2 w ..."
Abstract

Cited by 32 (5 self)
 Add to MetaCart
(Show Context)
The quest for a lineartime singlesource shortestpath (SSSP) algorithm on directed graphs with positive edge weights is an ongoing hot research topic. While Thorup recently found an O(n + m) time RAM algorithm for undirected graphs with n nodes, m edges and integer edge weights in f0; : : : ; 2 w 1g where w denotes the word length, the currently best time bound for directed sparse graphs on a RAM is O(n + m log log n). In the present paper we study the averagecase complexity of SSSP. We give a simple algorithm for arbitrary directed graphs with random edge weights uniformly distributed in [0; 1] and show that it needs linear time O(n + m) with high probability. 1 Introduction The singlesource shortestpath problem (SSSP) is a fundamental and wellstudied combinatorial optimization problem with many practical and theoretical applications [1]. Let G = (V; E) be a directed graph, jV j = n, jEj = m, let s be a distinguished vertex of the graph, and c be a function assigning a n...
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 23 (4 self)
 Add to MetaCart
(Show Context)
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.
A Practical Shortest Path Algorithm with Linear Expected Time
 SUBMITTED TO SIAM J. ON COMPUTING
, 2001
"... We present an improvement of the multilevel bucket shortest path algorithm of Denardo and Fox [9] and justify this improvement, both theoretically and experimentally. We prove that if the input arc lengths come from a natural probability distribution, the new algorithm runs in linear average time ..."
Abstract

Cited by 16 (8 self)
 Add to MetaCart
We present an improvement of the multilevel bucket shortest path algorithm of Denardo and Fox [9] and justify this improvement, both theoretically and experimentally. We prove that if the input arc lengths come from a natural probability distribution, the new algorithm runs in linear average time while the original algorithm does not. We also describe an implementation of the new algorithm. Our experimental data suggests that the new algorithm is preferable to the original one in practice. Furthermore, for integral arc lengths that fit into a word of today's computers, the performance is close to that of breadthfirst search, suggesting limitations on further practical improvements.
The filterkruskal minimum spanning tree algorithm
, 2009
"... We present FilterKruskal – a simple modification of Kruskal’s algorithm that avoids sorting edges that are “obviously” not in the MST. For arbitrary graphs with random edge weights FilterKruskal runs in time O (m + n lognlog m n, i.e. in linear time for not too sparse graphs. Experiments indicate ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
We present FilterKruskal – a simple modification of Kruskal’s algorithm that avoids sorting edges that are “obviously” not in the MST. For arbitrary graphs with random edge weights FilterKruskal runs in time O (m + n lognlog m n, i.e. in linear time for not too sparse graphs. Experiments indicate that the algorithm has very good practical performance over the entire range of edge densities. An equally simple parallelization seems to be the currently best practical algorithm on multicore machines.
Faster algorithms for Frobenius numbers
, 2005
"... The Frobenius problem, also known as the postagestamp problem or the moneychanging problem, is an integer programming problem that seeks nonnegative integer solutions to x1a1 + ···+ xnan = M, whereaiand M are positive integers. In particular, the Frobenius number f(A), where A = {ai}, isthelargestM ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
The Frobenius problem, also known as the postagestamp problem or the moneychanging problem, is an integer programming problem that seeks nonnegative integer solutions to x1a1 + ···+ xnan = M, whereaiand M are positive integers. In particular, the Frobenius number f(A), where A = {ai}, isthelargestMso that this equation fails to have a solution. A simple way to compute this number is to transform the problem to a shortestpath problem in a directed weighted graph; then Dijkstra’s algorithm can be used. We show how one can use the additional symmetry properties of the graph in question to design algorithms that are very fast. For example, on a standard desktop computer, our methods can handle cases where n =10anda1=107. We have two main new methods, one based on breadthfirst search and another that uses the number theory and combinatorial structure inherent in the problem to speed up the Dijkstra approach. For both methods we conjecture that the averagecase complexity is O(a1 n). The previous best method is due to Böcker and Liptàk and runs in time O(a1n). These algorithms can also
AverageCase Complexity of ShortestPaths Problems in the VertexPotential Model
 IN RANDOMIZATION AND APPROXIMATION TECHNIQUES IN COMPUTER SCIENCE (J. ROLIM, ED.), LECTURE NOTES IN COMPUT. SCI. 1269
, 2000
"... We study the averagecase complexity of shortestpaths problems in the vertexpotential model. The vertexpotential model is a family of probability distributions on complete directed graphs with arbitrary real edge lengths but without negative cycles. We show that on a graph with n vertices and ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
We study the averagecase complexity of shortestpaths problems in the vertexpotential model. The vertexpotential model is a family of probability distributions on complete directed graphs with arbitrary real edge lengths but without negative cycles. We show that on a graph with n vertices and with respect to this model, the singlesource shortestpaths problem can be solved in O(n²) expected time, and the allpairs shortestpaths problem can be solved in O(n² log n) expected time.
Averagecase complexity of singlesource shortestpaths algorithms: lower and upper bounds
, 2003
"... ..."
AverageCase Complexity of ShortestPaths Problems
, 2001
"... We study both upper and lower bounds on the averagecase complexity of shortestpaths algorithms. It is proved that the allpairs shortestpaths problem on nvertex networks can be solved in time O(n² log n) with high probability with respect to various probability distributions on the set of inputs. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We study both upper and lower bounds on the averagecase complexity of shortestpaths algorithms. It is proved that the allpairs shortestpaths problem on nvertex networks can be solved in time O(n² log n) with high probability with respect to various probability distributions on the set of inputs. Our results include the first theoretical analysis of the average behavior of shortestpaths algorithms with respect to the vertexpotential model, a family of probability distributions on complete networks with arbitrary real arc costs but without negative cycles. We also generalize earlier work with respect to the common uniform model, and we correct the analysis of an algorithm with respect to the endpointindependent model. For the algorithm that solves the allpairs shortestpaths problem on networks generated according to the vertexpotential model, a key ingredient is an algorithm that solves the singlesource shortestpaths problem on such networks in time O(n²) with high probability. All algorithms mentioned exploit that with high probability, the singlesource shortestpaths problem can be solved correctly by considering only a rather sparse subset of the arc set. We prove a lower bound indicating the limitations of this approach. In a fairly general probabilistic model, any algorithm solving the singlesource shortestpaths problem has to inspect# n log n) arcs with high probability.
A Comparison of Data Structures for Dijkstra's Single Source Shortest Path Algorithm
, 1999
"... Dijkstra's algorithm computes the shortest paths between a starting vertex and each other vertex in a directed graph. The performance of Dijkstra's algorithm depends on how it is implemented. This mainly relates to the type of data structure used for the frontier set. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Dijkstra's algorithm computes the shortest paths between a starting vertex and each other vertex in a directed graph. The performance of Dijkstra's algorithm depends on how it is implemented. This mainly relates to the type of data structure used for the frontier set.