Finding Best Swap Edges Minimizing the Routing Cost of a Spanning Tree
Given an n-node, undirected and 2-edge-connected graph G = (V,E) with positive real weights on its m edges, given a set of k source nodes S ⊆ V, and given a spanning tree T of G, the routing cost of T w.r.t. S is the sum of the distances in T from every source s ∈ S to all the other nodes of G. If an edge e of T undergoes a transient failure and connectivity needs to be promptly reestablished, then to reduce set-up and rerouting costs it makes sense to temporarily replace e by means of a swap edge, i.e., an edge in G reconnecting the two subtrees of T induced by the removal of e. Then, a best swap edge for e is a swap edge which minimizes the routing cost of the tree obtained after the swapping. As a natural extension, the all-best swap edges problem is that of finding a best swap edge for every edge of T. Such a problem has been recently solved in O(mn) time and linear space for arbitrary k, and in O(n 2 + mlogn) time and O(n 2) space for the special case k = 2. In this paper, we are interested to the prominent cases k = O(1) and k = n, which model realistic communication paradigms. For these cases, we present a linear space and \(\widetilde O(m)\) time algorithm, and thus we improve both the above running times (but for quite dense graphs in the case k = 2, for which however it is noticeable we make use of only linear space). Moreover, we provide an accurate analysis showing that when k = n, the obtained swap tree is effective in terms of routing cost.
Unable to display preview. Download preview PDF.