Results 1 - 10
of
15
Shortest Path Algorithms: Engineering Aspects
- In Proc. ESAAC ’01, Lecture Notes in Computer Science
, 2001
"... We review shortest path algorithms based on the multi-level bucket data structure [6] and discuss the interplay between theory and engineering choices that leads to e#cient implementations. Our experimental results suggest that the caliber heuristic [17] and adaptive parameter selection give an ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
We review shortest path algorithms based on the multi-level bucket data structure [6] and discuss the interplay between theory and engineering choices that leads to e#cient implementations. Our experimental results suggest that the caliber heuristic [17] and adaptive parameter selection give an e#cient algorithm, both on typical and on hard inputs, for a wide range of arc lengths.
I/O-efficient batched union-find and its applications to terrain analysis
- In Proc. 22nd Annual Symposium on Computational Geometry
, 2006
"... Despite extensive study over the last four decades and numerous applications, no I/O-efficient algorithm is known for the union-find problem. In this paper we present an I/O-efficient algorithm for the batched (off-line) version of the union-find problem. Given any sequence of N union and find opera ..."
Abstract
-
Cited by 14 (8 self)
- Add to MetaCart
Despite extensive study over the last four decades and numerous applications, no I/O-efficient algorithm is known for the union-find problem. In this paper we present an I/O-efficient algorithm for the batched (off-line) version of the union-find problem. Given any sequence of N union and find operations, where each union operation joins two distinct sets, our algorithm uses O(SORT(N)) = O ( N B log M/B N I/Os, where M is the memory size and B is the disk block size. This bound is asymptotically optimal in the worst case. If there are union operations that join a set with itself, our algorithm uses O(SORT(N) + MST(N)) I/Os, where MST(N) is the number of I/Os needed to compute the minimum spanning tree of a graph with N edges. We also describe a simple and practical O(SORT(N) log ( N M))-I/O algorithm for this problem, which we have implemented. We are interested in the union-find problem because of its applications in terrain analysis. A terrain can be abstracted as a height function defined over R2, and many problems that deal with such functions require a union-find data structure. With the emergence of modern mapping technologies, huge amount of elevation data is being generated that is too large to fit in memory, thus I/O-efficient algorithms are needed to process this data efficiently. In this paper, we study two terrain-analysis problems that benefit from a union-find data structure: (i) computing topological persistence and (ii) constructing the contour tree. We give the first O(SORT(N))-I/O algorithms for these two problems, assuming that the input terrain is represented as a triangular mesh with N vertices. Finally, we report some preliminary experimental results, showing that our algorithms give order-ofmagnitude improvement over previous methods on large data sets that do not fit in memory. 1
A New Evolutionary Approach to the Degree Constrained Minimum Spanning Tree Problem
- IEEE Transactions on Evolutionary Computation
, 2000
"... Finding the degree-constrained minimum spanning tree (d-MST) of a graph is a well studied NP-hard problem which is important in network design. We introduce a new method which improves on the best technique previously published for solving the d-MST, either using heuristic or evolutionary app ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Finding the degree-constrained minimum spanning tree (d-MST) of a graph is a well studied NP-hard problem which is important in network design. We introduce a new method which improves on the best technique previously published for solving the d-MST, either using heuristic or evolutionary approaches. The basis of this encoding is a spanning-tree construction algorithm which we call the Randomised Primal Method (RPM), based on the well-known Prim's algorithm [6], and an extension [4] which we call `d-Prim's'. We describe a novel encoding for spanning trees, which involves using the RPM to interpret lists of potential edges to include in the growing tree. We also describe a random graph generator which produces particularly challenging d-MST problems. On these and other problems, we find that an evolutionary algorithm (EA) using the RPM encoding outperforms the previous best published technique from the operations research literature, and also outperforms simulated...
A New Evolutionary Approach to the Degree-Constrained Minimum Spanning Tree Problem
- IEEE Transactions on Evolutionary Computation
, 1999
"... Finding the degree-constrained minimum spanning tree (d-MST) of a graph is a wellstudied NP-hard problem of importance in communications network design and other network-related problems. In this paper we describe some previously proposed algorithms for solving the problem, and then introduce a nove ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Finding the degree-constrained minimum spanning tree (d-MST) of a graph is a wellstudied NP-hard problem of importance in communications network design and other network-related problems. In this paper we describe some previously proposed algorithms for solving the problem, and then introduce a novel tree construction algorithm called the Randomised Primal Method (RPM) which builds degree-constrained trees of low cost from solution vectors taken as input. RPM is applied in three stochastic iterative search methods: simulated annealing, multi-start hillclimbing, and a genetic algorithm. While other researchers have mainly concentrated on finding spanning trees in Euclidean graphs, we consider the more general case of random graph problems. We describe two random graph generators which produce particularly challenging d-MST problems. On these and other problems we find that the genetic algorithm employing RPM outperforms simulated annealing and multi-start hillclimbing. Our experimental ...
Random-Tree Diameter and the DiameterConstrained MST
- MST,” Congressus Numerantium
, 2000
"... A minimum spanning tree (MST) with a small diameter is required in numerous practical situations. It is needed, for example, in distributed mutual exclusion algorithms in order to minimize the number of messages communicated among processors per critical section. Understanding the behavior of tre ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
A minimum spanning tree (MST) with a small diameter is required in numerous practical situations. It is needed, for example, in distributed mutual exclusion algorithms in order to minimize the number of messages communicated among processors per critical section. Understanding the behavior of tree diameter is useful, for example, in determining an upper bound on the expected number of links between two arbitrary documents on the World Wide Web. The DiameterConstrained MST (DCMST) problem can be stated as follows: given an undirected, edge-weighted graph G with n nodes and a positive integer k, find a spanning tree with the smallest weight among all spanning trees of G which contain no path with more than k edges. This problem is known to be NP-complete, for all values of k; 4 k #n - 2). In this paper, we investigate the behavior of the diameter of MST in randomly-weighted complete graphs (in Erds-Rnyi sense) and explore heuristics for the DCMST problem. For the case when the diameter bound k is small---independent of n, we present a one-time-tree-construction (OTTC) algorithm. It constructs a DCMST in a modified greedy fashion, employing a heuristic for selecting an edge to be added to the tree at each stage of the tree construction. This algorithm is fast and easily parallelizable. We also present a second algorithm that outperforms OTTC for larger values of k. It starts by generating an unconstrained MST and iteratively refines it by replacing edges, one by one, in the middle of long paths in the spanning tree until there is no path left with more than k edges. As expected, the performance of this heuristic is determined by the diameter of the unconstrained MST in the given graph. We discuss convergence, relative merits, and implementation of t...
Computing A Diameter-Constrained Minimum Spanning Tree
, 2001
"... In numerous practical applications, it is necessary to find the smallest possible tree with a bounded diameter. A diameter-constrained minimum spanning tree (DCMST) of a given undirected, edge-weighted graph, G, is the smallest-weight spanning tree of all spanning trees of G which contain no path wi ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
In numerous practical applications, it is necessary to find the smallest possible tree with a bounded diameter. A diameter-constrained minimum spanning tree (DCMST) of a given undirected, edge-weighted graph, G, is the smallest-weight spanning tree of all spanning trees of G which contain no path with more than k edges, where k is a given positive integer. The problem of finding a DCMST is NP-complete for all values of k; 4 k (n -- 2), except when all edge-weights are identical. A DCMST is essential for the efficiency of various distributed mutual exclusion algorithms, where it can minimize the number of messages communicated among processors per critical section. It is also useful in linear lightwave networks, where it can minimize interference in the network by limiting the traffic in the network lines. Another practical application requiring a DCMST arises in data compression, where some algorithms compress a file utilizing a tree data-structure, and decompress a path in the tree to access a record. A DCMST helps such algorithms to be fast without sacrificing a lot of storage space. We present a survey of the literature on the DCMST problem, study the expected diameter of a random labeled tree, and present five new polynomial-time algorithms for an approximate DCMST. One of our new algorithms constructs an approximate DCMST in a modified greedy fashion, employing a heuristic for selecting an edge to be added to iii the tree in each stage of the construction. Three other new algorithms start with an unconstrained minimum spanning tree, and iteratively refine it into an approximate DCMST. We also present an algorithm designed for the special case when the diameter is required to be no more than 4. Such a diameter-4 tree is also used for evaluating the quality of o...
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 7 (0 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...
Optimal incremental sorting
- In Proc. 8th Workshop on Algorithm Engineering and Experiments (ALENEX
, 2006
"... Let A be a set of size m. Obtaining the first k ≤ m elements of A in ascending order can be done in optimal O(m+k log k) time. We present an algorithm (online on k) which incrementally gives the next smallest element of the set, so that the first k elements are obtained in optimal time for any k. We ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
Let A be a set of size m. Obtaining the first k ≤ m elements of A in ascending order can be done in optimal O(m+k log k) time. We present an algorithm (online on k) which incrementally gives the next smallest element of the set, so that the first k elements are obtained in optimal time for any k. We also give a practical algorithm with the same complexity on average, which improves in practice the existing online algorithm. As a direct application, we use our technique to implement Kruskal’s Minimum Spanning Tree algorithm, where our solution is competitive with the best current implementations. We finally show that our technique can be applied to several other problems, such as obtaining an interval of the sorted sequence and implementing heaps. 1
How to Find a Minimum Spanning Tree in Practice
- results and New Trends in Computer Science, volume 555 of Lecture Notes in Computer Science
, 1991
"... 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 low-level implementation choices, to purely algor ..."
Abstract
-
Cited by 4 (0 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 low-level implementation choices, to purely algorithmic issues. We discuss how to design a careful experimental comparison between various alternatives. Finally, we present some results from an ongoing study in which we are using: multiple languages, compilers, and machines; all the major variants of the comparison-based algorithms; and eight varieties of graphs with sizes of up to 130,000 vertices (in sparse graphs) or 750,000 edges (in dense graphs). 1 Introduction Finding spanning trees of minimum weight (minimum spanning trees or MSTs) is one of the best known graph problems; algorithms for this problem have a long history, for which see the article of Graham and Hell [6]. The best comparison-based algorithm to date, due to Gabow...

