Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

An Improved Algorithm for Computing All the Best Swap Edges of a Tree Spanner

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

A tree \(\sigma \)-spanner of a positively real-weighted n-vertex and m-edge undirected graph G is a spanning tree T of G which approximately preserves (i.e., up to a multiplicative stretch factor \(\sigma \)) distances in G. Tree spanners with provably good stretch factors find applications in communication networks, distributed systems, and network design. However, finding an optimal or even a good tree spanner is a very hard computational task. Thus, if one has to face a transient edge failure in T, the overall effort that has to be afforded to rebuild a new tree spanner (i.e., computational costs, set-up of new links, updating of the routing tables, etc.) can be rather prohibitive. To circumvent this drawback, an effective alternative is that of associating with each tree edge a best possible (in terms of resulting stretch) swap edge—a well-established approach in the literature for several other tree topologies. Correspondingly, the problem of computing all the best swap edges of a tree spanner is a challenging algorithmic problem, since solving it efficiently means to exploit the structure of shortest paths not only in G, but also in all the scenarios in which an edge of T has failed. For this problem we provide a very efficient solution, running in \(O(n^2 \log ^4 n)\) time, which drastically improves (almost by a quadratic factor in n in dense graphs) on the previous known best result.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. While it is natural to think that T optimizes \(\phi \), we actually allow T to be any spanning tree of G.

  2. A formal definition of critical edge will be given in Sect. 3.

  3. More precisely, the above definition allows us to relate critical edges to the upper envelopes of suitable sets of linear functions, as we will discuss in Sect. 4.

  4. The authors of [8] design a dynamic data structure to maintain the convex hull of a set of points in the plane. Then, they explain how point-line duality can be used to convert such a structure into one maintaining the upper envelope of a set of linear functions.

  5. Notice that each key \((\varPsi , \varLambda )\) can be uniquely represented by a pair of integers. This follows from the fact that the subtree \(\varPsi \) (resp. \(\varLambda \)) of T is one of the O(n) vertices of \(\mathcal {T}\).

References

  1. Abraham, I., Bartal, Y., Neiman, O.: Embedding metrics into ultrametrics and graphs into spanning trees with constant average distortion. In: Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 502–511 (2007)

  2. Alstrup, S., Holm, J., de Lichtenberg, K., Thorup, M.: Maintaining information in fully dynamic trees with top trees. ACM Trans. Algorithms 1(2), 243–264 (2005). https://doi.org/10.1145/1103963.1103966

    Article  MathSciNet  MATH  Google Scholar 

  3. Bilò, D., Colella, F., Gualà, L., Leucci, S., Proietti, G.: A faster computation of all the best swap edges of a tree spanner. In: Proceedings of the International Colloquium on Structural Information and Communication Complexity, pp. 239–253 (2015). https://doi.org/10.1007/978-3-319-25258-2_17

  4. Bilò, D., Colella, F., Gualà, L., Leucci, S., Proietti, G.: Effective edge-fault-tolerant single-source spanners via best (or good) swap edges. In: Proceedings of the 24th International Colloquium on Structural Information and Communication Complexity, pp. 303–317 (2017). https://doi.org/10.1007/978-3-319-72050-0_18

  5. Bilò, D., Gualà, L., Proietti, G.: Finding best swap edges minimizing the routing cost of a spanning tree. Algorithmica 68(2), 337–357 (2014). https://doi.org/10.1007/s00453-012-9674-y

    Article  MathSciNet  MATH  Google Scholar 

  6. Bilò, D., Gualà, L., Proietti, G.: A faster computation of all the best swap edges of a shortest paths tree. Algorithmica 73(3), 547–570 (2015). https://doi.org/10.1007/s00453-014-9912-6

    Article  MathSciNet  MATH  Google Scholar 

  7. Brandstädt, A., Chepoi, V., Dragan, F.F.: Distance approximating trees for chordal and dually chordal graphs. J. Algorithms 30(1), 166–184 (1999). https://doi.org/10.1006/jagm.1998.0962

    Article  MathSciNet  MATH  Google Scholar 

  8. Brodal, G.S., Jacob, R.: Dynamic planar convex hull. In: Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science, pp. 617–626. IEEE (2002)

  9. Cai, L., Corneil, D.G.: Tree spanners. SIAM J. Discret. Math. 8(3), 359–387 (1995). https://doi.org/10.1137/S0895480192237403

    Article  MathSciNet  MATH  Google Scholar 

  10. Das, S., Gfeller, B., Widmayer, P.: Computing all best swaps for minimum-stretch tree spanners. J. Gr. Algorithms Appl. 14(2), 287–306 (2010)

    Article  MathSciNet  Google Scholar 

  11. Emek, Y., Peleg, D.: Approximating minimum max-stretch spanning trees on unweighted graphs. SIAM J. Comput. 38(5), 1761–1781 (2008). https://doi.org/10.1137/060666202

    Article  MathSciNet  MATH  Google Scholar 

  12. Gabow, H.N.: A scaling algorithm for weighted matching on general graphs. In: Proceedings of the 26th Annual Symposium on Foundations of Computer Science, pp. 90–100 (1985). https://doi.org/10.1109/SFCS.1985.3

  13. Italiano, G.F., Ramaswami, R.: Maintaining spanning trees of small diameter. Algorithmica 22(3), 275–304 (1998). https://doi.org/10.1007/PL00009225

    Article  MathSciNet  MATH  Google Scholar 

  14. Ito, H., Iwama, K., Okabe, Y., Yoshihiro, T.: Polynomial-time computable backup tables for shortest-path routing. In: Proceedings of the 10th International Colloquium Structural Information and Communication Complexity, pp. 163–177 (2003)

  15. Jordan, C.: Sur les assemblages de lignes. J. Reine Angew. Math 70(185), 81 (1869)

    MathSciNet  MATH  Google Scholar 

  16. Liebchen, C., Wünsch, G.: The zoo of tree spanner problems. Discret. Appl. Math. 156(5), 569–587 (2008). https://doi.org/10.1016/j.dam.2007.07.001

    Article  MathSciNet  MATH  Google Scholar 

  17. Nardelli, E., Proietti, G., Widmayer, P.: A faster computation of the most vital edge of a shortest path. Inf. Process. Lett. 79(2), 81–85 (2001). https://doi.org/10.1016/S0020-0190(00)00175-7

    Article  MathSciNet  MATH  Google Scholar 

  18. Nardelli, E., Proietti, G., Widmayer, P.: Nearly linear time minimum spanning tree maintenance for transient node failures. Algorithmica 40(2), 119–132 (2004). https://doi.org/10.1007/s00453-004-1099-9

    Article  MathSciNet  MATH  Google Scholar 

  19. Pettie, S.: Sensitivity analysis of minimum spanning trees in sub-inverse-Ackermann time. In: Proceedings of the 16th International Symposium on Algorithms and Computation, pp. 964–973 (2005). https://doi.org/10.1007/11602613_96

  20. Proietti, G.: Dynamic maintenance versus swapping: an experimental study on shortest paths trees. In: Proceedings of the 4th International Workshop on Algorithm Engineering, pp. 207–217 (2000). https://doi.org/10.1007/3-540-44691-5_18

  21. Salvo, A.D., Proietti, G.: Swapping a failing edge of a shortest paths tree by minimizing the average stretch factor. Theor. Comput. Sci. 383(1), 23–33 (2007). https://doi.org/10.1016/j.tcs.2007.03.046

    Article  MathSciNet  MATH  Google Scholar 

  22. Tarjan, R.E.: Sensitivity analysis of minimum spanning trees and shortest path trees. Inf. Process. Lett. 14(1), 30–33 (1982). https://doi.org/10.1016/0020-0190(82)90137-5

    Article  MathSciNet  Google Scholar 

  23. Wu, B.Y., Hsiao, C., Chao, K.: The swap edges of a multiple-sources routing tree. Algorithmica 50(3), 299–311 (2008). https://doi.org/10.1007/s00453-007-9080-z

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guido Proietti.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Davide Bilò: This work has been partially supported by the 2016 Research Grant funded by “Fondazione di Sardegna”

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bilò, D., Colella, F., Gualà, L. et al. An Improved Algorithm for Computing All the Best Swap Edges of a Tree Spanner. Algorithmica 82, 279–299 (2020). https://doi.org/10.1007/s00453-019-00549-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-019-00549-w

Keywords