Improved shortest path algorithms for nearly acyclic graphs

Abstract Dijkstra's algorithm solves the single-source shortest path problem on any directed graph in O ( m + n log n ) time when a Fibonacci heap is used as the frontier set data structure. Here n is the number of vertices and m is the number of edges in the graph. If the graph is nearly acyclic, other algorithms can achieve a time complexity lower than that of Dijkstra's algorithm. Abuaiadh and Kingston gave an single source shortest path algorithm for nearly acyclic graphs with O ( m + n log t ) time complexity, where the new parameter, t , is the number of delete-min operations performed in priority queue manipulation. If the graph is nearly acyclic, then t is expected to be small, and the algorithm out-performs Dijkstra's algorithm. Takaoka, using a different definition for acyclicity, gave an algorithm with O ( m + n log k ) time complexity. In this algorithm, the new parameter, k , is the maximum cardinality of the strongly connected components in the graph. This paper presents two new shortest path algorithms for nearly acyclic graphs. The first is a generalised single source (GSS) algorithm for nearly acyclic graphs, which has a time complexity of O ( m + n log r ), where r is the number of trigger vertices, with trigger vertices defined as roots of trees that result when the graph is decomposed into trees. The second is a new all-pairs algorithm for nearly acyclic graphs, with O ( mn + nr 2 ) worst case time complexity, where r is the number of vertices in a pre-calculated feedback vertex set for the nearly acyclic graph. For certain graphs, these new algorithms offer an improvement on the time complexity of the previous algorithms. The new GSS algorithm can be used in Takaoka's algorithm, giving an improved hybrid algorithm.

[1]  Mikkel Thorup,et al.  Undirected single-source shortest paths with positive integer weights in linear time , 1999, JACM.

[2]  Andrew V. Goldberg,et al.  Shortest Path Algorithms: Engineering Aspects , 2001, ISAAC.

[3]  Tadao Takaoka Theory of Trinomial Heaps , 2000, COCOON.

[4]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[5]  Michael L. Fredman,et al.  New Bounds on the Complexity of the Shortest Path Problem , 1976, SIAM J. Comput..

[6]  Tadao Takaoka Theory of 2-3 Heaps , 1999, COCOON.

[7]  Philip N. Klein,et al.  Faster Shortest-Path Algorithms for Planar Graphs , 1997, J. Comput. Syst. Sci..

[8]  Torben Hagerup,et al.  Improved Shortest Paths on the Word RAM , 2000, ICALP.

[9]  Jeffrey H. Kingston,et al.  Are Fibonacci Heaps Optimal? , 1994, ISAAC.

[10]  Tadao Takaoka Sub-Cubic Cost Algorithms for the All Pairs Shortest Path Problem , 1995, WG.

[11]  Kohei Noshita,et al.  A Theorem on the Expected Complexity of Dijkstra's Shortest Path Algorithm , 1985, J. Algorithms.

[12]  Philip M. Spira,et al.  A New Algorithm for Finding all Shortest Paths in a Graph of Positive Arcs in Average Time 0(n2 log2n) , 1973, SIAM J. Comput..

[13]  Uri Zwick,et al.  Exact and Approximate Distances in Graphs - A Survey , 2001, ESA.

[14]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[15]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[16]  Donald B. Johnson,et al.  Efficient Algorithms for Shortest Paths in Sparse Networks , 1977, J. ACM.

[17]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[18]  Kurt Mehlhorn,et al.  Faster algorithms for the shortest path problem , 1990, JACM.

[19]  Tadao Takaoka,et al.  Shortest Path Algorithms for Nearly Acyclic Directed Graphs , 1998, Theor. Comput. Sci..

[20]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[21]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.

[22]  R. Tarjan Amortized Computational Complexity , 1985 .

[23]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[24]  Tadao Takaoka,et al.  Improved shortest path algorithms for nearly acyclic graphs , 2003, Theor. Comput. Sci..

[25]  G. Dantzig On the Shortest Route Through a Network , 1960 .

[26]  A. Gibbons Algorithmic Graph Theory , 1985 .

[27]  Greg N. Frederickson,et al.  Fast Algorithms for Shortest Paths in Planar Graphs, with Applications , 1987, SIAM J. Comput..

[28]  David R. Karger,et al.  Finding the Hidden Path: Time Bounds for All-Pairs Shortest Paths , 1993, SIAM J. Comput..

[29]  Alistair Moffat,et al.  An All Pairs Shortest Path Algorithm with Expected Time O(n² log n) , 1987, SIAM J. Comput..