Results 1  10
of
93
Geometric Shortest Paths and Network Optimization
 Handbook of Computational Geometry
, 1998
"... Introduction A natural and wellstudied problem in algorithmic graph theory and network optimization is that of computing a "shortest path" between two nodes, s and t, in a graph whose edges have "weights" associated with them, and we consider the "length" of a path to ..."
Abstract

Cited by 191 (14 self)
 Add to MetaCart
(Show Context)
Introduction A natural and wellstudied problem in algorithmic graph theory and network optimization is that of computing a "shortest path" between two nodes, s and t, in a graph whose edges have "weights" associated with them, and we consider the "length" of a path to be the sum of the weights of the edges that comprise it. Efficient algorithms are well known for this problem, as briefly summarized below. The shortest path problem takes on a new dimension when considered in a geometric domain. In contrast to graphs, where the encoding of edges is explicit, a geometric instance of a shortest path problem is usually specified by giving geometric objects that implicitly encode the graph and its edge weights. Our goal in devising efficient geometric algorithms is generally to avoid explicit construction of the entire underlying graph, since the full induced graph may be very large (even exponential in the input size, or infinite). Computing an optimal
An Incremental Algorithm for a Generalization of the ShortestPath Problem
, 1992
"... The grammar problem, a generalization of the singlesource shortestpath problem introduced by Knuth, is to compute the minimumcost derivation of a terminal string from each nonterminal of a given contextfree grammar, with the cost of a derivation being suitably defined. This problem also subsume ..."
Abstract

Cited by 133 (1 self)
 Add to MetaCart
(Show Context)
The grammar problem, a generalization of the singlesource shortestpath problem introduced by Knuth, is to compute the minimumcost derivation of a terminal string from each nonterminal of a given contextfree grammar, with the cost of a derivation being suitably defined. This problem also subsumes the problem of finding optimal hyperpaths in directed hypergraphs (under varying optimization criteria) that has received attention recently. In this paper we present an incremental algorithm for a version of the grammar problem. As a special case of this algorithm we obtain an efficient incremental algorithm for the singlesource shortestpath problem with positive edge lengths. The aspect of our work that distinguishes it from other work on the dynamic shortestpath problem is its ability to handle "multiple heterogeneous modifications": between updates, the input graph is allowed to be restructured by an arbitrary mixture of edge insertions, edge deletions, and edgelength changes.
Parallel Algorithms for Hierarchical Clustering
 Parallel Computing
, 1995
"... Hierarchical clustering is a common method used to determine clusters of similar data points in multidimensional spaces. O(n 2 ) algorithms are known for this problem [3, 4, 10, 18]. This paper reviews important results for sequential algorithms and describes previous work on parallel algorithms f ..."
Abstract

Cited by 105 (2 self)
 Add to MetaCart
(Show Context)
Hierarchical clustering is a common method used to determine clusters of similar data points in multidimensional spaces. O(n 2 ) algorithms are known for this problem [3, 4, 10, 18]. This paper reviews important results for sequential algorithms and describes previous work on parallel algorithms for hierarchical clustering. Parallel algorithms to perform hierarchical clustering using several distance metrics are then described. Optimal PRAM algorithms using n log n processors are given for the average link, complete link, centroid, median, and minimum variance metrics. Optimal butterfly and tree algorithms using n log n processors are given for the centroid, median, and minimum variance metrics. Optimal asymptotic speedups are achieved for the best practical algorithm to perform clustering using the single link metric on a n log n processor PRAM, butterfly, or tree. Keywords. Hierarchical clustering, pattern analysis, parallel algorithm, butterfly network, PRAM algorithm. 1 In...
Exact and Approximate Distances in Graphs  a survey
 In ESA
, 2001
"... We survey recent and not so recent results related to the computation of exact and approximate distances, and corresponding shortest, or almost shortest, paths in graphs. We consider many different settings and models and try to identify some remaining open problems. ..."
Abstract

Cited by 71 (0 self)
 Add to MetaCart
We survey recent and not so recent results related to the computation of exact and approximate distances, and corresponding shortest, or almost shortest, paths in graphs. We consider many different settings and models and try to identify some remaining open problems.
On the Computational Complexity of Dynamic Graph Problems
 THEORETICAL COMPUTER SCIENCE
, 1996
"... ..."
An Empirical Assessment of Algorithms for Constructing a Minimum Spanning Tree
, 1994
"... We address the question of theoretical vs. practical behavior of algorithms for the minimum spanning tree problem. We review the factors that influence the actual running time of an algorithm, from choice of language, machine, and compiler, through lowlevel implementation choices, to purely algorit ..."
Abstract

Cited by 44 (3 self)
 Add to MetaCart
We address the question of theoretical vs. practical behavior of algorithms for the minimum spanning tree problem. We review the factors that influence the actual running time of an algorithm, from choice of language, machine, and compiler, through lowlevel implementation choices, to purely algorithmic issues. We discuss how to design a careful experimental comparison between various alternatives. Finally, we present the results from a study in which we used: multiple languages, compilers, and machines; all the major variants of the comparisonbased algorithms; and eight varieties of graphs in five families, with sizes of up to 0.5 million vertices (in sparse graphs) or 1.3 million edges (in dense graphs).
Dominators in Linear Time
, 1997
"... A linear time algorithm is presented for finding dominators in control flow graphs. ..."
Abstract

Cited by 36 (0 self)
 Add to MetaCart
(Show Context)
A linear time algorithm is presented for finding dominators in control flow graphs.
A Parallelization of Dijkstra's Shortest Path Algorithm
 IN PROC. 23RD MFCS'98, LECTURE NOTES IN COMPUTER SCIENCE
, 1998
"... The single source shortest path (SSSP) problem lacks parallel solutions which are fast and simultaneously workefficient. We propose simple criteria which divide Dijkstra's sequential SSSP algorithm into a number of phases, such that the operations within a phase can be done in parallel. We giv ..."
Abstract

Cited by 35 (6 self)
 Add to MetaCart
(Show Context)
The single source shortest path (SSSP) problem lacks parallel solutions which are fast and simultaneously workefficient. We propose simple criteria which divide Dijkstra's sequential SSSP algorithm into a number of phases, such that the operations within a phase can be done in parallel. We give a PRAM algorithm based on these criteria and analyze its performance on random digraphs with random edge weights uniformly distributed in [0, 1]. We use
Towards A Discipline Of Experimental Algorithmics
"... The last 20 years have seen enormous progress in the design of algorithms, but very little of it has been put into practice, even within academia; indeed, the gap between theory and practice has continuously widened over these years. Moreover, many of the recently developed algorithms are very hard ..."
Abstract

Cited by 34 (7 self)
 Add to MetaCart
(Show Context)
The last 20 years have seen enormous progress in the design of algorithms, but very little of it has been put into practice, even within academia; indeed, the gap between theory and practice has continuously widened over these years. Moreover, many of the recently developed algorithms are very hard to characterize theoretically and, as initially described, suffer from large runningtime coefficients. Thus the algorithms and data structures community needs to return to implementation as the standard of value; we call such an approach Experimental Algorithmics. Experimental Algorithmics studies algorithms and data structures by joining experimental studies with the more traditional theoretical analyses. Experimentation with algorithms and data structures is proving indispensable in the assessment of heuristics for hard problems, in the design of test cases, in the characterization of asymptotic behavior of complex algorithms, in the comparison of competing designs for tractabl...
Integer Priority Queues with Decrease Key in . . .
 STOC'03
, 2003
"... We consider Fibonacci heap style integer priority queues supporting insert and decrease key operations in constant time. We present a deterministic linear space solution that with n integer keys support delete in O(log log n) time. If the integers are in the range [0,N), we can also support delete i ..."
Abstract

Cited by 32 (2 self)
 Add to MetaCart
(Show Context)
We consider Fibonacci heap style integer priority queues supporting insert and decrease key operations in constant time. We present a deterministic linear space solution that with n integer keys support delete in O(log log n) time. If the integers are in the range [0,N), we can also support delete in O(log log N) time. Even for the special case of monotone priority queues, where the minimum has to be nondecreasing, the best previous bounds on delete were O((log n) 1/(3−ε) ) and O((log N) 1/(4−ε)). These previous bounds used both randomization and amortization. Our new bounds a deterministic, worstcase, with no restriction to monotonicity, and exponentially faster. As a classical application, for a directed graph with n nodes and m edges with nonnegative integer weights, we get single source shortest paths in O(m + n log log n) time, or O(m + n log log C) ifC is the maximal edge weight. The later solves an open problem of Ahuja, Mehlhorn, Orlin, and