Incremental algorithms for minimal length paths

We consider the problem of maintaining on-line a solution to the All Pairs Shortest Paths Problem in a directed graph G = (V,E) where edges may be dynamically inserted or have their cost decreased. For the case of integer edge costs in a given range [1…C], we introduce a new data structure which is able to answer queries concerning the length of the shortest path between any two vertices in constant time and to trace out the shortest path between any two vertices in time linear in the number of edges reported. The total time required to maintain the data structure under a sequence of at most O(n2) edge insertions and at most O(Cn2) edge cost decreases is O(Cn3 log(nC)) in the worst case, where n is the total number of vertices in G. For the case of unit edge costs, the total time required to maintain the data structure under a sequence of at most O(n2) insertions of edges becomes O(n3 logn) in the worst case. The same bounds can be achieved for the problem of maintaining on-line longest paths in directed acyclic graphs. All our algorithms improve previously known algorithms and are only a logarithmic factor away from the best possible bounds.

[1]  Hans Rohnert,et al.  A Dynamization of the All Pairs Least Cost Path Problem , 1985, STACS.

[2]  Roberto Tamassia,et al.  On-Line Graph Algorithms with SPQR-Trees , 1990, ICALP.

[3]  Giuseppe F. Italiano,et al.  Finding Paths and Deleting Edges in Directed Acyclic Graphs , 1988, Inf. Process. Lett..

[4]  Barbara G. Ryder,et al.  A Critical Analysis of Incremental Iterative Data Flow Analysis Algorithms , 1990, IEEE Trans. Software Eng..

[5]  Giuseppe F. Italiano,et al.  Dynamic Data Structures for Series Parallel Digraphs (Preliminary Version) , 1989, WADS.

[6]  Roberto Tamassia,et al.  Incremental planarity testing , 1989, 30th Annual Symposium on Foundations of Computer Science.

[7]  David Eppstein,et al.  Maintenance of a minimum spanning forest in a dynamic planar graph , 1990, SODA '90.

[8]  Greg N. Frederickson,et al.  Data structures for on-line updating of minimum spanning trees , 1983, STOC.

[9]  Greg N. Frederickson,et al.  Data Structures for On-Line Updating of Minimum Spanning Trees, with Applications , 1985, SIAM J. Comput..

[10]  Jeffrey Scott Vitter,et al.  A data structure for arc insertion and regular path finding , 1991, SODA '90.

[11]  Barbara G. Ryder,et al.  Incremental data flow analysis via dominator and attribute update , 1988, POPL '88.

[12]  A. Pan,et al.  On Finding and Updating Spanning Trees and Shortest Paths , 1975, SIAM J. Comput..

[13]  H. V. Jagadish,et al.  A compression technique to materialize transitive closure , 1990, TODS.

[14]  Roberto Tamassia,et al.  A Dynamic Data Structure for Planar Graph Embedding (Extended Abstract) , 1988, ICALP.

[15]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[16]  Jeffery R. Westbrook Algorithms and data structures for dynamic graph problems , 1989 .

[17]  Roberto Tamassia,et al.  Fully dynamic techniques for point location and transitive closure in planar structures , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[18]  Alexander Borgida,et al.  Efficient management of transitive relationships in large data and knowledge bases , 1989, SIGMOD '89.

[19]  Giuseppe F. Italiano,et al.  Amortized Efficiency of a Path Retrieval Data Structure , 1986, Theor. Comput. Sci..

[20]  Toshihide Ibaraki,et al.  On-Line Computation of Transitive Closures of Graphs , 1983, Inf. Process. Lett..

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

[22]  Giorgio Ausiello,et al.  Dynamic Maintenance of Paths and Path Expressions on Graphs , 1988, ISSAC.

[23]  Shimon Even,et al.  An On-Line Edge-Deletion Problem , 1981, JACM.

[24]  Chih-Chung Lin,et al.  On the dynamic shortest path problem , 1991 .

[25]  Francis Y. L. Chin,et al.  Algorithms for Updating Minimal Spanning Trees , 1978, J. Comput. Syst. Sci..

[26]  Daniel M. Yellin,et al.  A dynamic transitive closure algorithm , 1988 .

[27]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

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

[29]  Daniel M. Yellin,et al.  INC: a language for incremental computations , 1988, PLDI '88.

[30]  John H. Reif A Topological Approach to Dynamic Graph Connectivity , 1987, Inf. Process. Lett..

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

[32]  Hajime Machida,et al.  Space Complexity in On-Line Computation , 1982, J. Comput. Syst. Sci..

[33]  Shimon Even,et al.  Updating distances in dynamic graphs , 1985 .

[34]  R. Nigel Horspool Incremental Generation of LR Parsers , 1990, Comput. Lang..

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