Smallest-circle problem

The smallest-circle problem or minimum covering circle problem is a mathematical problem of computing the smallest circle that contains all of a given set of points in the Euclidean plane. The corresponding problem in n-dimensional space, the smallest bounding-sphere problem, is to compute the smallest n-sphere that contains all of a given set of points.[1] The smallest-circle problem was initially proposed by the English mathematician James Joseph Sylvester in 1857.[2]

The smallest-circle problem in the plane is an example of a facility location problem (the 1-center problem) in which the location of a new facility must be chosen to provide service to a number of customers, minimizing the farthest distance that any customer must travel to reach the new facility.[3] Both the smallest circle problem in the plane, and the smallest bounding sphere problem in any higher-dimensional space of bounded dimension, may be solved in linear time.

Characterization

Most of the geometric approaches for the problem look for points that lie on the boundary of the minimum circle and are based on the following simple facts:

Linear-time solutions

As Nimrod Megiddo showed,[4] the minimum enclosing circle can be found in linear time, and the same linear time bound also applies to the smallest enclosing sphere in Euclidean spaces of any constant dimension.

Emo Welzl[5] proposed a simple randomized algorithm for the minimum covering circle problem that runs in expected O(N) time, based on a linear programming algorithm of Raimund Seidel. The algorithm is recursive, and takes as arguments two sets of points S and Q; it computes the smallest enclosing circle of the union of S and Q, as long as every point of Q is one of the boundary points of the eventual smallest enclosing circle. Thus, the original smallest enclosing circle problem can be solved by calling the algorithm with S equal to the set of points to be enclosed and Q equal to the empty set; as the algorithm calls itself recursively, it will enlarge the set Q passed into the recursive calls until it includes all the boundary points of the circle.

The algorithm processes the points of S in a random order, maintaining as it does the set P of processed points and the smallest circle that encloses the union of P and Q. At each step, it tests whether the next point r to be processed belongs to this circle; if it does not, the algorithm replaces the enclosing circle by the result of a recursive call of the algorithm on the sets P and Q+r. Whether the circle was replaced or not, r is then included in the set P. Processing each point, therefore, consists of testing in constant time whether the point belongs to a single circle and possibly performing a recursive call to the algorithm. It can be shown that the ith point to be processed has probability O(1/i) of generating a recursive call, and therefore that the overall time is linear.

Subsequently, the smallest-circle problem was included in a general class of LP-type problems that can be solved by algorithms like Welzl's based on linear programming. As a consequence of membership in this class, it was shown that the dependence on the dimension of the constant factor in the O(N) time bound, which was factorial for Seidel's method, could be reduced to subexponential, while still maintaining only linear dependence on N.[6]

Other algorithms

Prior to Megiddo's result showing that the smallest-circle problem may be solved in linear time, several algorithms of higher complexity appeared in the literature. A naive algorithm solves the problem in time O(n4) by testing the circles determined by all pairs and triples of points.

Weighted variants of the problem

The weighted version of the minimum covering circle problem takes as input a set of points in a Euclidean space, each with weights; the goal is to find a single point that minimizes the maximum weighted distance to any point. The original minimum covering circle problem can be recovered by setting all weights to the same number. As with the unweighted problem, the weighted problem may be solved in linear time in any space of bounded dimension, using approaches closely related to bounded dimension linear programming algorithms, although slower algorithms are again frequent in the literature.[12][16][17]

See also

References

  1. 1.0 1.1 Elzinga, J.; Hearn, D. W. (1972), "The minimum covering sphere problem", Management Science 19: 96–104, doi:10.1287/mnsc.19.1.96
  2. Sylvester, J. J. (1857), "A question in the geometry of situation", Quarterly Journal of Mathematics 1: 79.
  3. Francis, R. L.; McGinnis, L. F.; White, J. A. (1992), Facility Layout and Location: An Analytical Approach (2nd ed.), Englewood Cliffs, N.J.: Prentice–Hall, Inc..
  4. Megiddo, Nimrod (1983), "Linear-time algorithms for linear programming in R3 and related problems", SIAM Journal on Computing 12 (4): 759–776, doi:10.1137/0212052, MR 721011.
  5. Welzl, Emo (1991), "Smallest enclosing disks (balls and ellipsoids)", in Maurer, H., New Results and New Trends in Computer Science, Lecture Notes in Computer Science 555, Springer-Verlag, pp. 359–370, doi:10.1007/BFb0038202.
  6. Matoušek, Jiří; Sharir, Micha; Welzl, Emo (1996), "A subexponential bound for linear programming", Algorithmica 16: 498–516, doi:10.1007/BF01940877.
  7. Chakraborty, R. K.; Chaudhuri, P. K. (1981), "Note on geometrical solutions for some minimax location problems", Transportation Science 15: 164–166, doi:10.1287/trsc.15.2.164.
  8. Elzinga, J.; Hearn, D. W. (1972), "Geometrical solutions for some minimax location problems", Transportation Science 6: 379–394, doi:10.1287/trsc.6.4.379.
  9. Drezner, Z.; Shelah, S. (1987), "On the complexity of the Elzinga–Hearn algorithm for the 1-center problem", Mathematics of Operations Research 12 (2): 255–261, doi:10.1287/moor.12.2.255, JSTOR 3689688.
  10. Hearn, D. W.; Vijay, J.; Nickel, S. (1995), "Codes of geometrical algorithms for the (weighted) minimum circle problem", European Journal of Operational Research 80: 236–237, doi:10.1016/0377-2217(95)90075-6.
  11. Jacobsen, S. K. (1981), "An algorithm for the minimax Weber problem", European Journal of Operational Research 6: 144–148, doi:10.1016/0377-2217(81)90200-9.
  12. 12.0 12.1 12.2 Hearn, D. W.; Vijay, J. (1982), "Efficient algorithms for the (weighted) minimum circle problem", Operations Research 30 (4): 777–795, doi:10.1287/opre.30.4.777.
  13. Elzinga, J.; Hearn, D. W.; Randolph, W. D. (1976), "Minimax multifacility location with Euclidean distances", Transportation Science 10: 321–336, doi:10.1287/trsc.10.4.321.
  14. Lawson, C. L. (1965), "The smallest covering cone or sphere", SIAM Review 7 (3): 415–417, doi:10.1137/1007084.
  15. Shamos, M. I.; Hoey, D. (1975), "Closest point problems", Proceedings of 16th Annual IEEE Symposium on Foundations of Computer Science, pp. 151–162, doi:10.1109/SFCS.1975.8.
  16. Megiddo, N. (1983), "The weighted Euclidean 1-center problem", Mathematics of Operations Research 8: 498–504, doi:10.1287/moor.8.4.498.
  17. Megiddo, N.; Zemel, E. (1986), "An O(n log n) randomizing algorithm for the weighted Euclidean 1-center problem", Journal of Algorithms 7: 358–368, doi:10.1016/0196-6774(86)90027-1.

External links