Advertisement

Algorithmica

pp 1–21 | Cite as

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

  • Davide Bilò
  • Feliciano Colella
  • Luciano Gualà
  • Stefano Leucci
  • Guido ProiettiEmail author
Article
  • 9 Downloads
Part of the following topical collections:
  1. Special Issue on Algorithms and Computation
  2. Special Issue on Algorithms and Computation
  3. Special Issue on Algorithms and Computation
  4. Special Issue on Algorithms and Computation
  5. Special Issue on Algorithms and Computation

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.

Keywords

Transient edge failure Swap algorithm Tree spanner 

Notes

References

  1. 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)Google Scholar
  2. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  3. 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. 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. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  6. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  7. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  8. 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)Google Scholar
  9. 9.
    Cai, L., Corneil, D.G.: Tree spanners. SIAM J. Discret. Math. 8(3), 359–387 (1995).  https://doi.org/10.1137/S0895480192237403 MathSciNetCrossRefzbMATHGoogle Scholar
  10. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  12. 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. 13.
    Italiano, G.F., Ramaswami, R.: Maintaining spanning trees of small diameter. Algorithmica 22(3), 275–304 (1998).  https://doi.org/10.1007/PL00009225 MathSciNetCrossRefzbMATHGoogle Scholar
  14. 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)Google Scholar
  15. 15.
    Jordan, C.: Sur les assemblages de lignes. J. Reine Angew. Math 70(185), 81 (1869)MathSciNetzbMATHGoogle Scholar
  16. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  17. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  18. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  19. 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. 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. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  22. 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 MathSciNetCrossRefGoogle Scholar
  23. 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 MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Università di SassariSassariItaly
  2. 2.Gran Sasso Science InstituteL’AquilaItaly
  3. 3.Università di Roma “Tor Vergata”RomeItaly
  4. 4.ETH ZürichZürichSwitzerland
  5. 5.Università degli Studi dell’AquilaL’AquilaItaly
  6. 6.Istituto di Analisi dei Sistemi ed InformaticaCNRRomeItaly

Personalised recommendations