Results 1  10
of
17
Nearest Common Ancestors: A survey and a new distributed algorithm
, 2002
"... Several papers describe linear time algorithms to preprocess a tree, such that one can answer subsequent nearest common ancestor queries in constant time. Here, we survey these algorithms and related results. A common idea used by all the algorithms for the problem is that a solution for complete ba ..."
Abstract

Cited by 76 (12 self)
 Add to MetaCart
Several papers describe linear time algorithms to preprocess a tree, such that one can answer subsequent nearest common ancestor queries in constant time. Here, we survey these algorithms and related results. A common idea used by all the algorithms for the problem is that a solution for complete balanced binary trees is straightforward. Furthermore, for complete balanced binary trees we can easily solve the problem in a distributed way by labeling the nodes of the tree such that from the labels of two nodes alone one can compute the label of their nearest common ancestor. Whether it is possible to distribute the data structure into short labels associated with the nodes is important for several applications such as routing. Therefore, related labeling problems have received a lot of attention recently.
Approximating the Minimum Spanning Tree Weight in Sublinear Time
 In Proceedings of the 28th Annual International Colloquium on Automata, Languages and Programming (ICALP
, 2001
"... We present a probabilistic algorithm that, given a connected graph G (represented by adjacency lists) of average degree d, with edge weights in the set {1,...,w}, and given a parameter 0 < ε < 1/2, estimates in time O(dwε−2 log dw ε) the weight of the minimum spanning tree of G with a relative erro ..."
Abstract

Cited by 38 (6 self)
 Add to MetaCart
We present a probabilistic algorithm that, given a connected graph G (represented by adjacency lists) of average degree d, with edge weights in the set {1,...,w}, and given a parameter 0 < ε < 1/2, estimates in time O(dwε−2 log dw ε) the weight of the minimum spanning tree of G with a relative error of at most ε. Note that the running time does not depend on the number of vertices in G. We also prove a nearly matching lower bound of Ω(dwε−2) on the probe and time complexity of any approximation algorithm for MST weight. The essential component of our algorithm is a procedure for estimating in time O(dε−2 log d ε) the number of connected components of an unweighted graph to within an additive error of εn. (This becomes O(ε−2 log 1 ε) for d = O(1).) The time bound is shown to be tight up to within the log d ε factor. Our connectedcomponents algorithm picks O(1/ε2) vertices in the graph and then grows “local spanning trees” whose sizes are specified by a stochastic process. From the local information collected in this way, the algorithm is able to infer, with high confidence, an estimate of the number of connected components. We then show how estimates on the number of components in various subgraphs of G can be used to estimate the weight of its MST. 1
Concurrent Threads and Optimal Parallel Minimum Spanning Trees Algorithm
 J. ACM
, 2001
"... This paper resolves a longstanding open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected components and minimum spanning trees in O(log n) time. Specically, we present a new algorithm to so ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
This paper resolves a longstanding open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected components and minimum spanning trees in O(log n) time. Specically, we present a new algorithm to solve these problems in O(log n) time using a linear number of processors on the exclusiveread exclusivewrite PRAM. The logarithmic time bound is actually optimal since it is well known that even computing the \OR" of n bits
Approximate Data Structures with Applications (Extended Abstract)
, 1994
"... In this paper we introduce the notion of approximate data structures, in which a small amount of error is tolerated in the output. Approximate data structures trade error of approximation for faster operation, leading to theoretical and practical speedups for a wide variety of algorithms. We give a ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
In this paper we introduce the notion of approximate data structures, in which a small amount of error is tolerated in the output. Approximate data structures trade error of approximation for faster operation, leading to theoretical and practical speedups for a wide variety of algorithms. We give approximate variants of the van Emde Boas data structure, which support the same dynamic operations as the standard van Emde Boas data structure [28, 20], except that answers to queries are approximate. The variants support all operations in constant time provided the error of approximation is 1/polylog(n), and in O(loglog n) time provided the error is 1/polynomial(n), for n elements in the data structure. We consider
Average Case Analysis of Dynamic Graph Algorithms
 PROC. 6TH SYMP. ON DISCRETE ALGORITHMS
, 1995
"... We present a model for edge updates with restricted randomness in dynamic graph algorithms and a general technique for analyzing the expected running time of an update operation. This model is able to capture the average case in many applications, since (1) it allows restrictions on the set of edges ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
We present a model for edge updates with restricted randomness in dynamic graph algorithms and a general technique for analyzing the expected running time of an update operation. This model is able to capture the average case in many applications, since (1) it allows restrictions on the set of edges which can be used for insertions and (2) the type (insertion or deletion) of each update operation is arbitrary, i.e., tot random. We use our technique to analyze existing and new dynamic algorithms for the following problems: maximum cardinality matching, minimum spanning forest, connectivity, 2edge connectivity, kedge connectivity, kvertex connectivity, and bipartiteness. Given a random graph G with m0 edges and n vertices and a sequence of 1 update operations such that the graph contains rtt edges after operation i, the expected tinhe for performing the updates for any 1 is O(/log  I= 1/x/) in the case of minimum spanning forests, connectivity, 2edge connectivity, and bipartiteness. The expected time per update operation is O(n) in the case of maximum matching. We also give improved bounds for kedge and kvertex connectivity. Additionally we give an insertionsonly algorithm for maximum cardinality matching with worstcase O(n) amortized time per insertion.
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 12 (3 self)
 Add to MetaCart
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
A Practical Minimum Spanning Tree Algorithm Using the Cycle Property
 IN 11TH EUROPEAN SYMPOSIUM ON ALGORITHMS (ESA), NUMBER 2832 IN LNCS
, 2003
"... We present a simple new (randomized) algorithm for computing minimum spanning trees that is more than two times faster than the best previously known algorithms (for dense, "difficult" inputs). It is of conceptual interest that the algorithm uses the property that the heaviest edge in a cycle can be ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
We present a simple new (randomized) algorithm for computing minimum spanning trees that is more than two times faster than the best previously known algorithms (for dense, "difficult" inputs). It is of conceptual interest that the algorithm uses the property that the heaviest edge in a cycle can be discarded. Previously this has only been exploited in asymptotically optimal algorithms that are considered impractical. An additional advantage is...
Identifying Nearest Common Ancestors in a Distributed Environment
, 2001
"... We give a simple algorithm that labels the nodes of a rooted tree such that from the labels of two nodes alone one can compute in constant time the label of their nearest common ancestor. The labels assigned by our algorithm are of size O(log n) bits where n is the number of nodes in the tree. The a ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
We give a simple algorithm that labels the nodes of a rooted tree such that from the labels of two nodes alone one can compute in constant time the label of their nearest common ancestor. The labels assigned by our algorithm are of size O(log n) bits where n is the number of nodes in the tree. The algorithm runs in O(n) time.
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 7 (4 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.
On the ComparisonAddition Complexity of AllPairs Shortest Paths
 In Proc. 13th Int'l Symp. on Algorithms and Computation (ISAAC'02
, 2002
"... We present an allpairs shortest path algorithm for arbitrary graphs that performs O(mn log (m; n)) comparison and addition operations, where m and n are the number of edges and vertices, resp., and is Tarjan's inverseAckermann function. Our algorithm eliminates the sorting bottleneck inherent in a ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
We present an allpairs shortest path algorithm for arbitrary graphs that performs O(mn log (m; n)) comparison and addition operations, where m and n are the number of edges and vertices, resp., and is Tarjan's inverseAckermann function. Our algorithm eliminates the sorting bottleneck inherent in approaches based on Dijkstra's algorithm, and for graphs with O(n) edges our algorithm is within a tiny O(log (n; n)) factor of optimal. Our algorithm can be implemented to run in polynomial time (granted, a large polynomial). We leave open the problem of providing an efficient implementation.