A divide-and-conquer algorithm for min-cost perfect matching in the plane

Given a set V of 2n points in the plane, the min-cost perfect matching problem is to pair up the points (into n pairs) so that the sum of the Euclidean distances between the paired points is minimized. We present an O(n/sup 3/2/log/sup 5/ n)-time algorithm for computing a min-cost perfect matching in the plane, which is an improvement over the previous best algorithm of Vaidya [1989) by nearly a factor of n. Vaidya's algorithm is an implementation of the algorithm of Edmonds (1965), which runs in n phases, and computes a matching with i edges at the end of the i-th phase. Vaidya shows that geometry can be exploited to implement a single phase in roughly O(n/sup 3/2/) time, thus obtaining an O(n/sup 5/2/log/sup 4/ n)-time algorithm. We improve upon this in two major ways. First, we develop a variant of Edmonds algorithm that uses geometric divide-and-conquer, so that in the conquer step we need only O(/spl radic/n) phases. Second, we show that a single phase can be implemented in O(n log/sup 5/ n) time.

[1]  S. Rao Kosaraju,et al.  A decomposition of multi-dimensional point-sets with applications to k-nearest-neighbors and n-body potential fields (preliminary version) , 1992, STOC '92.

[2]  Jack Edmonds,et al.  Matching, Euler tours and the Chinese postman , 1973, Math. Program..

[3]  Sanjeev Arora,et al.  Nearly linear time approximation schemes for Euclidean TSP and other geometric problems , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[4]  Samuel R. Buss,et al.  Linear and O(n log n) time minimum-cost matching algorithms for quasi-convex tours , 1994, SODA '94.

[5]  Micha Sharir,et al.  Vertical decomposition of shallow levels in 3-dimensional arrangements and its applications , 1995, SCG '95.

[6]  David Eppstein,et al.  A deterministic linear time algorithm for geometric separators and its applications , 1993, SCG '93.

[7]  Andranik Mirzaian,et al.  Minimum Weight Euclidean Matching and Weighted Relative Neighborhood Graphs , 1993, WADS.

[8]  Pravin M. Vaidya,et al.  Geometry helps in matching , 1989, STOC '88.

[9]  S. Vavasis,et al.  Geometric Separators for Finite-Element Meshes , 1998, SIAM J. Sci. Comput..

[10]  Subhash Suri,et al.  Fast Matching Algorithms for Points on a Polygon , 1991, SIAM J. Comput..

[11]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[12]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[13]  Silvio Micali,et al.  Priority queues with variable priority and an O(EV log V) algorithm for finding a maximal weighted matching in general graphs , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[14]  Silvio Micali,et al.  Priority queues with variable priority and an O(EV log V) algorithm for finding a maximal weighted matching in general graphs , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[15]  David Avis,et al.  A survey of heuristics for the weighted matching problem , 1983, Networks.

[16]  S. Rao Kosaraju,et al.  A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential fields , 1995, JACM.

[17]  Franz Aurenhammer,et al.  Voronoi diagrams—a survey of a fundamental geometric data structure , 1991, CSUR.

[18]  Andrew Chi-Chih Yao,et al.  On Constructing Minimum Spanning Trees in k-Dimensional Spaces and Related Problems , 1977, SIAM J. Comput..

[19]  Jack Edmonds,et al.  Maximum matching and a polyhedron with 0,1-vertices , 1965 .

[20]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .