6 research outputs found

    A Linear Time Algorithm for Finding Minimum Spanning Tree Replacement Edges

    Full text link
    Given an undirected, weighted graph, the minimum spanning tree (MST) is a tree that connects all of the vertices of the graph with minimum sum of edge weights. In real world applications, network designers often seek to quickly find a replacement edge for each edge in the MST. For example, when a traffic accident closes a road in a transportation network, or a line goes down in a communication network, the replacement edge may reconnect the MST at lowest cost. In the paper, we consider the case of finding the lowest cost replacement edge for each edge of the MST. A previous algorithm by Tarjan takes O(mα(m,n))O(m \alpha(m, n)) time, where α(m,n)\alpha(m, n) is the inverse Ackermann's function. Given the MST and sorted non-tree edges, our algorithm is the first that runs in O(m+n)O(m+n) time and O(m+n)O(m+n) space to find all replacement edges. Moreover, it is easy to implement and our experimental study demonstrates fast performance on several types of graphs. Additionally, since the most vital edge is the tree edge whose removal causes the highest cost, our algorithm finds it in linear time

    Nearly Linear Time Minimum Spanning TreeMaintenance for Transient Node Failures

    Get PDF
    Given a 2-node connected, real weighted, and undirected graph G=(V,E)G=(V,E), with nn nodes and mm edges, and given a minimum spanning tree (MST) T=(V,ET)T=(V,E_T) of GG, we study the problem of finding, for every node vVv \in V, a set of replacement edges which can be used for constructing an MST of GvG-v (i.e., the graph GG deprived of vv and all its incident edges). We show that this problem can be solved on a pointer machine in O(mα(m,n)){\cal O}(m \cdot \alpha(m,n)) time and O(m){\cal O}(m) space, where α\alpha is the functional inverse of Ackermann's function. Our solution improves over the previously best known O(min{mα(n,n),m+nlogn}){\cal O}(\min\{m \cdot \alpha(n,n), m + n \log n\}) time bound, and allows us to close the gap existing with the fastest solution for the edge-removal version of the problem (i.e., that of finding, for every edge eETe \in E_T, a replacement edge which can be used for constructing an MST of Ge=(V,E\{e})G-e=(V,E \backslash \{e\})). Our algorithm finds immediate application in maintaining MST-based communication networks undergoing temporary node failures. Moreover, in a distributed environment in which nodes are managed by selfish agents, it can be used to design an efficient, truthful mechanism for building an MS

    Reconstructing a Minimum Spanning Tree after Deletion of Any Node

    No full text
    Updating a minimum spanning tree (MST) is a basic problem for communication networks. In this paper we consider single node deletions in MSTs. Let G (V, E) be an undirected graph with n nodes and m edges, and let T be the MST of G. For each node v in V , the node replacement for v is the minimum weight set of edges R(v) that connect the components of T v

    Reconstructing a Minimum Spanning Tree after Deletion of Any Node

    No full text

    Dynamic distributed programming and applications to swap edge problem

    Full text link
    Link failure is a common reason for disruption in communication networks. If communication between processes of a weighted distributed network is maintained by a spanning tree T, and if one edge e of T fails, communication can be restored by finding a new spanning tree, T’. If the network is 2-edge connected, T’ can always be constructed by replacing e by a single edge, e’, of the network. We refer to e’ as a swap edge of e. The best swap edge problem is to find the best choice of e’, that is, that e which causes the new spanning tree T’ to have the least cost, where cost is measured in a way that is determined by the application. Two examples of such measures are total weight of T‘ and diameter of T’. The all best swap edges problem is the problem of determining, in advance of any failure, the best swap edge for every edge in T. The justification for this problem is that we wish to be ready, when a failure occurs, to quickly activate a replacement for the failed edge. In this thesis, we give algorithms for the all best swap edges problem for six different cost measures. We first present an algorithm which can be adapted to all six measures, and which takes O (d2) time, where d is the diameter of T. This algorithm is essentially a form of distributed dynamic programming, since we compute the answers to sub problems at each node of T. We then present a novel paradigm for speeding up distributed computations under certain conditions. We apply this paradigm to find O(d)-time distributed algorithms for the all best swap edge problem for all but one of our cost measures. Formal algorithms and their correctness proofs will be given
    corecore