Abstract
Let P be a set of points in ℝd. We propose GeoFilterKruskal, an algorithm that computes the minimum spanning tree of P using well separated pair decomposition in combination with a simple modification of Kruskal’s algorithm. When P is sampled from uniform random distribution, we show that our algorithm takes one parallel sort plus a linear number of additional steps, with high probability, to compute the minimum spanning tree. Experiments show that our algorithm works better in practice for most data distributions compared to the current state of the art [31]. Our algorithm is easy to parallelize and to our knowledge, is currently the best practical algorithm on multi-core machines for d > 2.
This research was partially supported by National Science Foundation through CAREER Grant CCF-0643593 and the AFOSR Young Investigator Program. Advanced Micro Devices (AMD) provided the 32-core workstation for experiments. Dr. Giri Narsimhan provided the source code for his Geometric Minimum Spanning tree algorithm [31], which was used as one of the benchmarks for the algorithm implemented in this paper. The source code associated with this paper is part of the STANN library and can be downloaded from www.compgeom.com/~stann
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agarwal, P.K., Edelsbrunner, H., Schwarzkopf, O., Welzl, E.: Euclidean minimum spanning trees and bichromatic closest pairs. Discrete Comput. Geom. 6(5), 407–422 (1991)
Arora, S.: Polynomial time approximation schemes for euclidean traveling salesman and other geometric problems. J. ACM 45(5), 753–782 (1998)
Arya, S., Mount, D.M., Netanyahu, N.S., Silverman, R., Wu, A.Y.: An optimal algorithm for approximate nearest neighbor searching fixed dimensions. J. ACM 45(6), 891–923 (1998)
Barrow, J.D., Bhavsar, S.P., Sonoda, D.H.: Minimal spanning trees, filaments and galaxy clustering. MNRAS 216, 17–35 (1985)
Bentley, J.L., Weide, B.W., Yao, A.C.: Optimal expected-time algorithms for closest point problems. ACM Trans. Math. Softw. 6(4), 563–580 (1980)
Bhavsar, S.P., Splinter, R.J.: The superiority of the minimal spanning tree in percolation analyses of cosmological data sets. MNRAS 282, 1461–1466 (1996)
Brennan, J.J.: Minimal spanning trees and partial sorting. Operations Research Letters 1(3), 138–141 (1982)
Paul, B.: Callahan. Dealing with higher dimensions: the well-separated pair decomposition and its applications. PhD thesis, Johns Hopkins University, Baltimore, MD, USA (1995)
Chan, T.M.: Manuscript: A minimalist’s implementation of an approximate nearest n eighbor algorithm in fixed dimensions (2006)
Chan, T.M.: Well-separated pair decomposition in linear time? Inf. Process. Lett. 107(5), 138–141 (2008)
Clarkson, K.L.: An algorithm for geometric minimum spanning trees requiring nearly linear expected time. Algorithmica 4, 461–469 (1989); Included in PhD Thesis
Connor, M., Kumar, P.: Stann library, http://www.compgeom.com/~stann/
Connor, M., Kumar, P.: Parallel construction of k-nearest neighbor graphs for point clouds. In: Proceedings of Volume and Point-Based Graphics, August 2008, pp. 25–32. IEEE VGTC (2008); Accepted to IEEE Transactions on Visualization and Computer Graphics (2009)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press/McGraw-Hill (2001)
Dagum, L., Menon, R.: Openmp: an industry standard api for shared-memory programming. IEEE Computational Science and Engineering 5(1), 46–55 (1998)
Dwyer, R.A.: Higher-dimensional voronoi diagrams in linear expected time. In: SCG 1989: Proceedings of the fifth annual symposium on Computational geometry, pp. 326–333. ACM, New York (1989)
Erickson, J.: On the relative complexities of some geometric problems. In: Proc. 7th Canad. Conf. Comput. Geom., pp. 85–90 (1995)
Erickson, J.G.: Lower bounds for fundamental geometric problems. PhD thesis, University of California, Berkeley, Chair-Seidel, Raimund (1996)
Franceschini, G., Muthukrishnan, S.M., Pǎtraşcu, M.: Radix sorting with no extra space. In: Arge, L., Hoffmann, M., Welzl, E. (eds.) ESA 2007. LNCS, vol. 4698, pp. 194–205. Springer, Heidelberg (2007)
Gabow, H.N., Bentley, J.L., Tarjan, R.E.: Scaling and related techniques for geometry problems. In: STOC 1984: Proceedings of the sixteenth annual ACM symposium on Theory of computing, pp. 135–143. ACM, New York (1984)
Morton, G.M.: A computer oriented geodetic data base; and a new technique in file sequencing. Technical report, IBM Ltd., Ottawa, Canada (1966)
Karger, D.R., Klein, P.N., Tarjan, R.E.: A randomized linear-time algorithm to find minimum spanning trees. Journal of the ACM 42, 321–328 (1995)
Klein, P.N., Tarjan, R.E.: A randomized linear-time algorithm for finding minimum spanning trees. In: STOC 1994: Proceedings of the twenty-sixth annual ACM symposium on Theory of computing, pp. 9–15. ACM, New York (1994)
Kruskal, J.B.: On the shortest spanning subtree of a graph and the traveling salesman problem. In: Proc. American Math. Society, pp. 7–48 (1956)
Krznaric, D., Levcopoulos, C., Nilsson, B.J.: Minimum spanning trees in d dimensions. Nordic J. of Computing 6(4), 446–461 (1999)
Langetepe, E., Zachmann, G.: Geometric Data Structures for Computer Graphics. A. K. Peters, Ltd., Natick (2006)
March, W., Gray, A.: Large-scale euclidean mst and hierarchical clustering. In: Workshop on Efficient Machine Learning (2007)
Mencl, R.: A graph based approach to surface reconstruction. Computer Graphics Forum 14, 445–456 (2008)
Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, New York (2005)
Motwani, R., Raghavan, P.: Randomized algorithms. ACM Comput. Surv. 28(1), 33–37 (1996)
Narasimhan, G., Zachariasen, M.: Geometric minimum spanning trees via well-separated pair decompositions. J. Exp. Algorithmics 6, 6 (2001)
Osipov, V., Sanders, P., Singler, J.: The filter-kruskal minimum spanning tree algorithm. In: Finocchi, I., Hershberger, J. (eds.) ALENEX, pp. 52–61. SIAM, Philadelphia (2009)
Preparata, F.P., Shamos, M.I.: Computational geometry: an introduction. Springer, New York (1985)
Putze, F., Sanders, P., Singler, J.: Mcstl: the multi-core standard template library. In: PPoPP 2007: Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 144–145. ACM, New York (2007)
Rajasekaran, S.: On the euclidean minimum spanning tree problem. Computing Letters 1(1) (2004)
Shewchuk, J.R.: Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator. In: Lin, M.C., Manocha, D. (eds.) FCRC-WS 1996 and WACG 1996. LNCS, vol. 1148, pp. 203–222. Springer, Heidelberg (1996); From the First ACM Workshop on Applied Computational Geometry
Suraweera, F., Bhattacharya, P.: An o(log m) parallel algorithm for the minimum spanning tree problem. Inf. Process. Lett. 45(3), 159–163 (1993)
Zahn, C.T.: Graph-theoretical methods for detecting and describing gestalt clusters. Transactions on Computers C-20(1), 68–86 (1971)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chatterjee, S., Connor, M., Kumar, P. (2010). Geometric Minimum Spanning Trees with GeoFilterKruskal . In: Festa, P. (eds) Experimental Algorithms. SEA 2010. Lecture Notes in Computer Science, vol 6049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13193-6_41
Download citation
DOI: https://doi.org/10.1007/978-3-642-13193-6_41
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13192-9
Online ISBN: 978-3-642-13193-6
eBook Packages: Computer ScienceComputer Science (R0)