Jump to content

Closest pair of points problem

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by David Eppstein (talk | contribs) at 06:25, 20 October 2021 (sectionize). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Closest pair of points shown in red

The closest pair of points problem or closest pair problem is a problem of computational geometry: given points in metric space, find a pair of points with the smallest distance between them. The closest pair problem for points in the Euclidean plane[1] was among the first geometric problems that were treated at the origins of the systematic study of the computational complexity of geometric algorithms.

Time bounds

Randomized algorithms that solve the problem in linear time are known,[2][3] significantly more quickly than the time (expressed here in big O notation) that would be obtained by a naive algorithm of finding distances between all pairs of points in a space of dimension and selecting the minimum.

It is also possible to solve the problem without randomization, in random-access machine models of computation with unlimited memory that allow the use of the floor function, in near-linear time.[4] In even more restricted models of computation, such as the algebraic decision tree, the problem can be solved in the somewhat slower time bound, using either plane sweep or geometric divide and conquer methods,[5][6] and this is optimal for this model, by a reduction from the element uniqueness problem.

Dynamic closest-pair problem

The dynamic version for the closest-pair problem is stated as follows:

  • Given a dynamic set of objects, find algorithms and data structures for efficient recalculation of the closest pair of objects each time the objects are inserted or deleted.

If the bounding box for all points is known in advance and the constant-time floor function is available, then the expected -space data structure was suggested that supports expected-time insertions and deletions and constant query time. When modified for the algebraic decision tree model, insertions and deletions would require expected time.[7] The complexity of the dynamic closest pair algorithm cited above is exponential in the dimension , and therefore such an algorithm becomes less suitable for high-dimensional problems.

An algorithm for the dynamic closest-pair problem in dimensional space was developed by Sergey Bespamyatnikh in 1998.[8] Points can be inserted and deleted in time per point (in the worst case).

See also

Notes

  1. ^ Shamos, Michael Ian; Hoey, Dan (1975). "Closest-point problems". 16th Annual Symposium on Foundations of Computer Science, Berkeley, California, USA, October 13-15, 1975. IEEE Computer Society. pp. 151–162. doi:10.1109/SFCS.1975.8.
  2. ^ Khuller, Samir; Matias, Yossi (1995). "A simple randomized sieve algorithm for the closest-pair problem". Information and Computation. 118 (1): 34–37. doi:10.1006/inco.1995.1049. MR 1329236.
  3. ^ Lipton, Richard (24 September 2011). "Rabin Flips a Coin". Gödel's Lost Letter and P=NP.
  4. ^ Fortune, Steve; Hopcroft, John (1979). "A note on Rabin's nearest-neighbor algorithm". Information Processing Letters. 8 (1): 20–23. doi:10.1016/0020-0190(79)90085-1. MR 0515507.
  5. ^ Clarkson, Kenneth L. (1983). "Fast algorithms for the all nearest neighbors problem". 24th Annual Symposium on Foundations of Computer Science, Tucson, Arizona, USA, 7-9 November 1983. IEEE Computer Society. pp. 226–232. doi:10.1109/SFCS.1983.16.
  6. ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001) [1990]. "33.4: Finding the closest pair of points". Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. pp. 957–961. ISBN 0-262-03293-7.
  7. ^ Golin, Mordecai; Raman, Rajeev; Schwarz, Christian; Smid, Michiel (1998). "Randomized data structures for the dynamic closest-pair problem". SIAM Journal on Computing. 27 (4): 1036–1072. doi:10.1137/S0097539794277718. MR 1622005.
  8. ^ Bespamyatnikh, S. N. (1998). "An optimal algorithm for closest-pair maintenance". Discrete & Computational Geometry. 19 (2): 175–195. doi:10.1007/PL00009340. MR 1600047.

Further reading