We consider a two-edge connected, non-negatively real-weighted graph G with n vertices and m edges, and a single-source shortest paths tree (SPT) of G rooted at an arbitrary vertex. If an edge of the SPT is temporarily removed, a widely recognized approach to reconnect the vertices disconnected from the root consists of joining the two resulting subtrees by means of a single non-tree edge, called a swap edge. This allows to reduce consistently the set-up and computational costs which are incurred if one instead rebuilds a new optimal SPT from scratch. In the past, several optimality criteria have been considered to select a best possible swap edge, and here we restrict our attention to arguably the two most significant measures: the minimization of either the maximum or the average distance between the root and the disconnected vertices. For the former criteria, we present an $$O(m \log \alpha (m,n))$$O(mlog?(m,n)) time algorithm--where $$\alpha $$? is the inverse of the Ackermann function--to find a best swap edge for every edge of the SPT, thus improving onto the previous $$O(m \log n)$$O(mlogn) time algorithm. Concerning the latter criteria, we provide an $$O(m+n \log n)$$O(m+nlogn) time algorithm for the special but important case where G is unweighted, which compares favourably with the $$O\left( m+n \, \alpha (n,n)\log ^2n\right) $$Om+n?(n,n)log2n time bound that one would get by using the fastest algorithm known for the weighted case--once this is suitably adapted to the unweighted case.

A Faster Computation of All the Best Swap Edges of a Shortest Paths Tree

Proietti G
2015

Abstract

We consider a two-edge connected, non-negatively real-weighted graph G with n vertices and m edges, and a single-source shortest paths tree (SPT) of G rooted at an arbitrary vertex. If an edge of the SPT is temporarily removed, a widely recognized approach to reconnect the vertices disconnected from the root consists of joining the two resulting subtrees by means of a single non-tree edge, called a swap edge. This allows to reduce consistently the set-up and computational costs which are incurred if one instead rebuilds a new optimal SPT from scratch. In the past, several optimality criteria have been considered to select a best possible swap edge, and here we restrict our attention to arguably the two most significant measures: the minimization of either the maximum or the average distance between the root and the disconnected vertices. For the former criteria, we present an $$O(m \log \alpha (m,n))$$O(mlog?(m,n)) time algorithm--where $$\alpha $$? is the inverse of the Ackermann function--to find a best swap edge for every edge of the SPT, thus improving onto the previous $$O(m \log n)$$O(mlogn) time algorithm. Concerning the latter criteria, we provide an $$O(m+n \log n)$$O(m+nlogn) time algorithm for the special but important case where G is unweighted, which compares favourably with the $$O\left( m+n \, \alpha (n,n)\log ^2n\right) $$Om+n?(n,n)log2n time bound that one would get by using the fastest algorithm known for the weighted case--once this is suitably adapted to the unweighted case.
2015
Istituto di Analisi dei Sistemi ed Informatica ''Antonio Ruberti'' - IASI
Edge fault tolerance
Single-source shortest paths tree
Swap algo
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/306262
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 8
  • ???jsp.display-item.citation.isi??? ND
social impact