Results 1  10
of
34
Vickrey Prices and Shortest Paths: What is an edge worth?
 In Proceedings of the 42nd Symposium on the Foundations of Computer Science, IEEE Computer Society Press, Los Alamitos
, 2001
"... We solve a shortest path problem that is motivated by recent interest in pricing networks or other computational resources. Informally, how much is an edge in a network worth to a user who wants to send data between two nodes along a shortest path? If the network is a decentralized entity, such as t ..."
Abstract

Cited by 107 (6 self)
 Add to MetaCart
(Show Context)
We solve a shortest path problem that is motivated by recent interest in pricing networks or other computational resources. Informally, how much is an edge in a network worth to a user who wants to send data between two nodes along a shortest path? If the network is a decentralized entity, such as the Internet, in which multiple selfinterested agents own different parts of the network, then auctionbased pricing seems appropriate. A celebrated result from auction theory shows that the use of Vickrey pricing motivates the owners of the network resources to bid truthfully. In Vickrey's scheme, each agent is compensated in proportion to the marginal utility he brings to the auction. In the context of shortest path routing, an edge's utility is the value by which it lowers the length of the shortest paththe difference between the shortest path lengths with and without the edge. Our problem is to compute these marginal values for all the edges of the network efficiently. The na ve method requires solving the singlesource shortest path problem up to n times, for an nnode network. We show that the Vickrey prices for all the edges can be computed in the same asymptotic time complexity as one singlesource shortest path problem. This solves an open problem posed by Nisan and Ronen [12]. 1.
Distributed Verification of Minimum Spanning Trees
 Proc. 25th Annual Symposium on Principles of Distributed Computing
, 2006
"... The problem of verifying a Minimum Spanning Tree (MST) was introduced by Tarjan in a sequential setting. Given a graph and a tree that spans it, the algorithm is required to check whether this tree is an MST. This paper investigates the problem in the distributed setting, where the input is given in ..."
Abstract

Cited by 32 (23 self)
 Add to MetaCart
(Show Context)
The problem of verifying a Minimum Spanning Tree (MST) was introduced by Tarjan in a sequential setting. Given a graph and a tree that spans it, the algorithm is required to check whether this tree is an MST. This paper investigates the problem in the distributed setting, where the input is given in a distributed manner, i.e., every node “knows ” which of its own emanating edges belong to the tree. Informally, the distributed MST verification problem is the following. Label the vertices of the graph in such a way that for every node, given (its own label and) the labels of its neighbors only, the node can detect whether these edges are indeed its MST edges. In this paper we present such a verification scheme with a maximum label size of O(log n log W), where n is the number of nodes and W is the largest weight of an edge. We also give a matching lower bound of Ω(log n log W) (except when W ≤ log n). Both our bounds improve previously known bounds for the problem. Our techniques (both for the lower bound and for the upper bound) may indicate a strong relation between the fields of proof labeling schemes and implicit labeling schemes. For the related problem of tree sensitivity also presented by Tarjan, our method yields rather efficient schemes for both the distributed and the sequential settings.
Increasing the Weight of Minimum Spanning Trees
, 1996
"... The problems of computing the maximum increase in the weight of the minimum spanning trees of a graph caused by the removal of a given number of edges, or by finite increases in the weights of the edges, are investigated. For the case of edge removals, the problem is shown to be NPhard and an \Omeg ..."
Abstract

Cited by 28 (1 self)
 Add to MetaCart
The problems of computing the maximum increase in the weight of the minimum spanning trees of a graph caused by the removal of a given number of edges, or by finite increases in the weights of the edges, are investigated. For the case of edge removals, the problem is shown to be NPhard and an \Omega\Gamma/ = log k)approximation algorithm is presented for it, where k is the number of edges to be removed. The second problem is studied assuming that the increase in the weight of an edge has an associated cost proportional to the magnitude of the change. An O(n 3 m 2 log(n 2 =m)) time algorithm is presented to solve it. 1 Introduction Consider a communication network in which information is broadcast over a minimum spanning tree. There are applications for which it is important to determine the maximum degradation in the performance of the broadcasting protocol that can be expected as a result of traffic fluctuations and link failures [25]. Also, there are several combinatorial op...
Swapping a failing edge of a single source shortest paths tree is good and fast
 Algorithmica
, 1999
"... Abstract. Let G = (V, E) be a 2edge connected, undirected and nonnegatively weighted graph, and let S(r) be a single source shortest paths tree (SPT) of G rooted at r ∈ V. Whenever an edge e in S(r) fails, we are interested in reconnecting the nodes now disconnected from the root by means of a sing ..."
Abstract

Cited by 25 (8 self)
 Add to MetaCart
(Show Context)
Abstract. Let G = (V, E) be a 2edge connected, undirected and nonnegatively weighted graph, and let S(r) be a single source shortest paths tree (SPT) of G rooted at r ∈ V. Whenever an edge e in S(r) fails, we are interested in reconnecting the nodes now disconnected from the root by means of a single edge e ′ crossing the cut created by the removal of e. Such an edge e ′ is named a swap edge for e. Let Se/e ′(r) be the swap tree (no longer an SPT, in general) obtained by swapping e with e ′ , and let Se be the set of all possible swap trees with respect to e. Let F be a function defined over Se that expresses some feature of a swap tree, such as the average length of a path from the root r to all the nodes below edge e, or the maximum length, or one of many others. A best swap edge for e with respect to F is a swap edge f such that F(Se/f (r)) is minimum. In this paper we present efficient algorithms for the problem of finding a best swap edge, for each edge e of S(r), with respect to several objectives. Our work is motivated by a scenario in which individual connections in a communication network suffer transient failures. As a consequence of an edge failure, the shortest paths to all the nodes below the failed edge might completely change, and it might be desirable to avoid an expensive switch to a new SPT, because the failure is only temporary. As an aside, what we get is not even far from a new SPT: our analysis shows that the trees obtained from the swapping have features very similar to those of the corresponding SPTs rebuilt from scratch. Key Words. Network survivability, Single source shortest paths tree, Swap algorithms. 1. Introduction. Survivability
A Linear Algorithm for Analysis of Minimum Spanning and Shortest Path Trees of Planar Graphs
 Algorithmica
, 1992
"... We give a linear time and space algorithm for analyzing trees in planar graphs. The algorithm can be used to analyze the sensitivity of a minimum spanning tree to changes in edge costs, to find its replacement edges, and to verify its minimality. It can also be used to analyze the sensitivity of a s ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
(Show Context)
We give a linear time and space algorithm for analyzing trees in planar graphs. The algorithm can be used to analyze the sensitivity of a minimum spanning tree to changes in edge costs, to find its replacement edges, and to verify its minimality. It can also be used to analyze the sensitivity of a singlesource shortest path tree to changes in edge costs, and to analyze the sensitivity of a minimum cost network flow. The algorithm is simple and practical. It uses the properties of a planar embedding, combined with a heapordered queue data structure. Let G = (V; E) be a planar graph, either directed or undirected, with n vertices and m = O(n) edges. Each edge e 2 E has a realvalued cost cost(e). A minimum spanning tree of a connected, undirected planar graph G is a spanning tree of minimum total edge cost. If G is directed and r is a vertex from which all other vertices are reachable, then a shortest path tree from r is a spanning tree that contains a minimumcost path from r to every...
A shortest path algorithm for realweighted undirected graphs
 in 13th ACMSIAM Symp. on Discrete Algs
, 1985
"... Abstract. We present a new scheme for computing shortest paths on realweighted undirected graphs in the fundamental comparisonaddition model. In an efficient preprocessing phase our algorithm creates a linearsize structure that facilitates singlesource shortest path computations in O(m log α) ti ..."
Abstract

Cited by 17 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We present a new scheme for computing shortest paths on realweighted undirected graphs in the fundamental comparisonaddition model. In an efficient preprocessing phase our algorithm creates a linearsize structure that facilitates singlesource shortest path computations in O(m log α) time, where α = α(m, n) is the very slowly growing inverseAckermann function, m the number of edges, and n the number of vertices. As special cases our algorithm implies new bounds on both the allpairs and singlesource shortest paths problems. We solve the allpairs problem in O(mnlog α(m, n)) time and, if the ratio between the maximum and minimum edge lengths is bounded by n (log n)O(1) , we can solve the singlesource problem in O(m + nlog log n) time. Both these results are theoretical improvements over Dijkstra’s algorithm, which was the previous best for real weighted undirected graphs. Our algorithm takes the hierarchybased approach invented by Thorup. Key words. singlesource shortest paths, allpairs shortest paths, undirected graphs, Dijkstra’s
Minimizing Randomness in Minimum Spanning Tree, Parallel Connectivity, and Set Maxima Algorithms
 In Proc. 13th Annual ACMSIAM Symposium on Discrete Algorithms (SODA'02
, 2001
"... There are several fundamental problems whose deterministic complexity remains unresolved, but for which there exist randomized algorithms whose complexity is equal to known lower bounds. Among such problems are the minimum spanning tree problem, the set maxima problem, the problem of computing conne ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
There are several fundamental problems whose deterministic complexity remains unresolved, but for which there exist randomized algorithms whose complexity is equal to known lower bounds. Among such problems are the minimum spanning tree problem, the set maxima problem, the problem of computing connected components and (minimum) spanning trees in parallel, and the problem of performing sensitivity analysis on shortest path trees and minimum spanning trees. However, while each of these problems has a randomized algorithm whose performance meets a known lower bound, all of these randomized algorithms use a number of random bits which is linear in the number of operations they perform. We address the issue of reducing the number of random bits used in these randomized algorithms. For each of the problems listed above, we present randomized algorithms that have optimal performance but use only a polylogarithmic number of random bits; for some of the problems our optimal algorithms use only log n random bits. Our results represent an exponential savings in the amount of randomness used to achieve the same optimal performance as in the earlier algorithms. Our techniques are general and could likely be applied to other problems.
Efficient Algorithms for Robustness in Matroid Optimization
 PROCEEDINGS OF THE EIGHTH ANNUAL ACMSIAM SYMPOSIUM ON DISCRETE ALGORITHMS (NEW
, 1996
"... The robustness function of a matroid measures the maximum increase in the weight of its minimum weight bases that can be produced by increases of a given total cost on the weights of its elements. We present an algorithm for computing this function, that runs in strongly polynomial time for matroids ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
The robustness function of a matroid measures the maximum increase in the weight of its minimum weight bases that can be produced by increases of a given total cost on the weights of its elements. We present an algorithm for computing this function, that runs in strongly polynomial time for matroids in which independence can be tested in strongly polynomial time. We identify key properties of transversal, scheduling and partition matroids, and exploit them to design robustness algorithms that are more efficient than our general algorithm.
Sensitivity Analysis for Shortest Path Problems and Maximum Capacity Path Problems in Undirected Graphs
 MATH. PROGRAM., SER. A
, 2005
"... Let G = (N,A) be an undirected graph with n nodes and m arcs, a designated source node s and a sink node t. This paper addresses sensitivity analysis questions concerning the shortest st path (SP) problem in G and the maximum capacity st path (MCP) problem in G. Suppose that P* is a shortest st p ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
Let G = (N,A) be an undirected graph with n nodes and m arcs, a designated source node s and a sink node t. This paper addresses sensitivity analysis questions concerning the shortest st path (SP) problem in G and the maximum capacity st path (MCP) problem in G. Suppose that P* is a shortest st path in G with respect to a nonnegative distance vector c. For each arc e A, the lower SP tolerance of an arc e is the minimum nonnegative value that the length of arc e can take (with all other lengths staying fixed) so that P* remains an optimal path. Similarly, the upper SP tolerance of an arc e is the maximum value that the length of arc e can take so that P* remains an optimal path. We show that the problem of finding all upper and lower tolerances of arcs in A can be solved in O(min(n 2 , m log n)) time. Moreover, the problem of finding all tolerances is computationally equivalent to the "Minimum Cost Interval Problem" which we describe as follows. For each i = 1 to m, let [a i , b i ] denote an interval with endpoints in {1, ..., n}, and an associated cost c i . For each k = 1 to n, identify a minimum cost interval [a i , b i ] containing k. Let Q* be the maximum capacity st path in G with respect to capacity vector u. For each arc e A, the lower MCP (resp., upper) tolerance of the arc e is the minimum (resp., maximum) value that the capacity that arc e can take so that Q* remains a maximum capacity path. We show that the problem of finding all upper and lower tolerances of arcs in A can be solved in O(min(n 2 , m log n)) time. Moreover, the problem of finding all tolerances nearly reduces to the "Minimum Cost Interval Problem."
Shortest path tree computation in dynamic graphs
 IEEE Trans. Computers
, 2009
"... Let G = (V,E,w) be a simple digraph, in which all edge weights are nonnegative real numbers. Let G ′ be obtained from G by an application of a set of edge weight updates to G. Let s ∈ V, and let Ts and T ′s be Shortest Path Trees (SPTs) rooted at s in G and G′, respectively. The Dynamic Shortest Pa ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
Let G = (V,E,w) be a simple digraph, in which all edge weights are nonnegative real numbers. Let G ′ be obtained from G by an application of a set of edge weight updates to G. Let s ∈ V, and let Ts and T ′s be Shortest Path Trees (SPTs) rooted at s in G and G′, respectively. The Dynamic Shortest Path (DSP) problem is to compute T ′s from Ts. Existing work on this problem either focuses on a single edge weight change, or for multiple edge weight changes, some of them are incorrect or are not optimized. We correct and extend a few stateoftheart dynamic SPT algorithms to handle multiple edge weight updates. We prove that these algorithms are correct. Dynamic algorithms may not outperform static algorithms all the time. To evaluate the proposed dynamic algorithms, we compare them with the wellknown static Dijkstra’s algorithm. Extensive experiments are conducted with both reallife and artificial data sets. The experimental results suggest the most appropriate algorithms to be used under different circumstances.