Dynamic Maintenance of a Shortest-Path Tree on Homogeneous Batches of Updates

A dynamic graph algorithm is called batch if it is able to update efficiently the solution of a given graph problem after multiple updates at a time (i.e., a batch) take place on the input graph. In this article, we study batch algorithms for maintaining a single-source shortest-path tree in graphs with positive real edge weights. In particular, we focus our attention on homogeneous batches, that is, either incremental (containing only edge insertion and weight decrease operations) or decremental (containing only edge deletion and weight increase operations) batches, which model realistic dynamic scenarios like transient vertex failures in communication networks and traffic congestion/decongestion phenomena in road networks. We propose two new algorithms to process either incremental or decremental batches, respectively, and a combination of these two algorithms that is able to process arbitrary sequences of incremental and decremental batches. All these algorithms are update sensitive; namely, they are efficient with respect to the number of vertices in the shortest-path tree that change their parents and/or their distances from the source as a consequence of a batch. This makes unfeasible an effective comparison on a theoretical basis of our new algorithms with the solutions known in the literature, which in turn are analyzed with respect to others and different parameters. For this reason, in order to evaluate the quality of our approach, we provide also an extensive experimental study including our new algorithms and the most efficient previous batch algorithms. Our experimental results complement previous studies and show that the various solutions can be consistently ranked on the basis of the type of homogeneous batch and of the underlying network. As a result, our work can be helpful in selecting a proper solution depending on the specific application scenario.

[1]  Daniele Frigioni,et al.  Fully dynamic shortest paths in digraphs with arbitrary arc weights , 2003, J. Algorithms.

[2]  Amos Fiat,et al.  Highway dimension, shortest paths, and provably efficient algorithms , 2010, SODA '10.

[3]  Aaron Bernstein Maintaining shortest paths under deletions in weighted directed graphs: [extended abstract] , 2013, STOC '13.

[4]  Andrew V. Goldberg,et al.  Computing the shortest path: A search meets graph theory , 2005, SODA '05.

[5]  Andrew V. Goldberg,et al.  Customizable Route Planning , 2011, SEA.

[6]  Aaron Bernstein Maintaining Shortest Paths Under Deletions in Weighted Directed Graphs , 2016, SIAM J. Comput..

[7]  Thomas W. Reps,et al.  An Incremental Algorithm for a Generalization of the Shortest-Path Problem , 1996, J. Algorithms.

[8]  Uri Zwick,et al.  Dynamic approximate all-pairs shortest paths in undirected graphs , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[9]  Mikkel Thorup,et al.  Speeding Up Dynamic Shortest-Path Algorithms , 2008, INFORMS J. Comput..

[10]  Edward P. F. Chan,et al.  Shortest Path Tree Computation in Dynamic Graphs , 2009, IEEE Transactions on Computers.

[11]  Daniele Frigioni,et al.  Experimental analysis of dynamic algorithms for the single source shortest paths problem , 1998, JEAL.

[12]  Daniele Frigioni,et al.  Semidynamic Algorithms for Maintaining Single-Source Shortest Path Trees , 1998, Algorithmica.

[13]  Mattia D'Emidio,et al.  Dynamically Maintaining Shortest Path Trees under Batches of Updates , 2013, SIROCCO.

[14]  Mattia D'Emidio,et al.  Fully dynamic update of arc‐flags , 2014, Networks.

[15]  Peter Sanders,et al.  Exact Routing in Large Road Networks Using Contraction Hierarchies , 2012, Transp. Sci..

[16]  Dorothea Wagner,et al.  Landmark-Based Routing in Dynamic Graphs , 2007, WEA.

[17]  Gerth Stølting Brodal,et al.  Worst-case efficient priority queues , 1996, SODA '96.

[18]  Andrew V. Goldberg,et al.  Robust Distance Queries on Massive Networks , 2014, ESA.

[19]  Andrew V. Goldberg,et al.  Hierarchical Hub Labelings for Shortest Paths , 2012, ESA.

[20]  Béla Bollobás,et al.  Random Graphs , 1985 .

[21]  Kai-Yeung Siu,et al.  New dynamic algorithms for shortest path tree computation , 2000, TNET.

[22]  Daniele Frigioni,et al.  Fully Dynamic Algorithms for Maintaining Shortest Paths Trees , 2000, J. Algorithms.

[23]  Mattia D'Emidio,et al.  Experimental Evaluation of Dynamic Shortest Path Tree Algorithms on Homogeneous Batches , 2014, SEA.

[24]  Andrew V. Goldberg,et al.  Route Planning in Transportation Networks , 2015, Algorithm Engineering.

[25]  Thomas W. Reps,et al.  On the Computational Complexity of Dynamic Graph Problems , 1996, Theor. Comput. Sci..

[26]  Béla Bollobás,et al.  Random Graphs: Notation , 2001 .

[27]  Dorothea Wagner,et al.  Batch Dynamic Single-Source Shortest-Path Algorithms: An Experimental Study , 2009, SEA.

[28]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[29]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[30]  LeucciStefano,et al.  Dynamic Maintenance of a Shortest-Path Tree on Homogeneous Batches of Updates , 2015 .

[31]  Peter Sanders,et al.  Combining hierarchical and goal-directed speed-up techniques for dijkstra's algorithm , 2008, JEAL.

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

[33]  Christos D. Zaroliagis,et al.  A New Dynamic Graph Structure for Large-Scale Transportation Networks , 2013, CIAC.

[34]  Daniele Frigioni,et al.  Dynamic Multi-level Overlay Graphs for Shortest Paths , 2008, Math. Comput. Sci..