Improved shortest path algorithms for nearly acyclic graphs

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 a 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.The generalised single-source (GSS) problem allows an initial distance to be defined at each vertex in the graph. Decomposing a graph into r trees allows the GSS problem to be solved within O(m + r logr) time. This paper presents a new all-pairs algorithm with a time complexity of O(mn + nr log r), where r is the number of acyclic parts resulting when the graph is decomposed into acyclic parts. The acyclic decomposition used is setwise unique and can be computed in O(mn) time. If the decomposition has been pre-calculated, then GSS can be solved within O(m + r log r) time whenever edge-costs in the graph change. A second new all-pairs algorithm is presented, with O(mn + nr2) 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.

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

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

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

[4]  Seth Pettie,et al.  A new approach to all-pairs shortest paths on real-weighted graphs , 2004, Theor. Comput. Sci..

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

[6]  Tadao Takaoka Theory of 2-3 Heaps , 2003, Discret. Appl. Math..

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

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

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

[10]  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..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[25]  Peter van Emde Boas,et al.  Design and implementation of an efficient priority queue , 1976, Mathematical systems theory.

[26]  Tadao Takaoka A Faster Algorithm for the All-Pairs Shortest Path Problem and Its Application , 2004, COCOON.

[27]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

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

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

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

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

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