Smallest-circle problem

Last updated
Some instances of the smallest bounding circle. Smallest circle problem.svg
Some instances of the smallest bounding circle.

The smallest-circle problem (also known as minimum covering circle problem, bounding circle problem, least bounding circle problem, smallest enclosing circle problem) is a computational geometry 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]

Contents

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 are solvable in worst-case 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:

Proof that the minimum covering disk is unique

Let P be any set of points in the plane, and suppose that there are two smallest enclosing disks of P, with centers at and . Let be their shared radius, and let be the distance between their centers. Since P is a subset of both disks it is a subset of their intersection. However, their intersection is contained within the disk with center and radius , as shown in the following image:

The smallest enclosing disk of points in the plane is unique.svg

Since r is minimal, we must have , meaning , so the disks are identical. [4]

Linear-time solutions

As Nimrod Megiddo showed, [5] 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. His article also gives a brief overview of earlier and algorithms; [6] in doing so, Megiddo demonstrated that Shamos and Hoey's conjecture – that a solution to the smallest-circle problem was computable in at best – was false. [7]

Emo Welzl [8] proposed a simple randomized algorithm for the minimum covering circle problem that runs in expected time , based on a linear programming algorithm of Raimund Seidel.

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 time bound, which was factorial for Seidel's method, could be reduced to subexponential. [6] Welzl's minidisk algorithm has been extended to handle Bregman divergences [9] which include the squared Euclidean distance.

Megiddo's algorithm

Run of Megiddo's algorithm phase, discarding from point set A, B, ..., U needless points E, T. Megiddo's minimum enclosing circle algorithm prune stage2.png
Run of Megiddo's algorithm phase, discarding from point set A, B, ..., U needless points E, T.

Megiddo's algorithm [10] is based on the technique called prune and search, reducing the size of the problem by removing unnecessary points. That leads to the recurrence giving .

The algorithm is rather complicated and it is reflected by its big multiplicative constant. The reduction needs to solve twice the similar problem where the center of the sought-after enclosing circle is constrained to lie on a given line. The solution of the subproblem is either the solution of the unconstrained problem or it is used to determine the half-plane where the unconstrained solution center is located.

The points to be discarded are found as follows: The points Pi are arranged into pairs which defines lines pj as their bisectors. The median average pm of bisectors in order by their directions (oriented to the same half-plane determined by bisector p1) is found and pairs of bisectors are made, such that in each pair one bisector has direction at most pm and the other at least pm (direction p1 could be considered as − or + according our needs.) Let Qk be the intersection of the bisectors in the k-th pair.

The line q in the p1 direction is placed to go through an intersection Qx such that there are intersections in each half-plane defined by the line (median position). The constrained version of the enclosing problem is run on the line q' which determines half-plane where the center is located. The line q′ in the pm direction is placed to go through an intersection Qx' such that there are intersections in each half of the half-plane not containing the solution. The constrained version of the enclosing problem is run on line q′ which together with q determines the quadrant where the center is located. We consider the points Qk in the quadrant not contained in a half-plane containing the solution. One of the bisectors of the pair defining Qk has the direction ensuring which of points Pi defining the bisector is closer to each point in the quadrant containing the center of the enclosing circle. This point could be discarded.

The constrained version of the algorithm is also solved by the prune and search technique, but reducing the problem size by removal of points leading to recurrence

giving .

The points to be discarded are found as follows: Points Pi are arranged into pairs. For each pair, the intersection Qj of its bisector with the constraining line q is found (If this intersection does not exist we could remove one point from the pair immediately). The median M of points Qj on the line q is found and in O(n) time is determined which halfline of q starting in M contains the solution of the constrained problem. We consider points Qj from the other half. We know which of the points Pi defining Qj is closer to the each point of the halfline containing center of the enclosing circle of the constrained problem solution. This point could be discarded.

The half-plane where the unconstrained solution lies could be determined by the points Pi on the boundary of the constrained circle solution. (The first and last point on the circle in each half-plane suffice. If the center belongs to their convex hull, it is unconstrained solution, otherwise the direction to the nearest edge determines the half-plane of the unconstrained solution.)

Welzl's algorithm

The algorithm is recursive.

The initial input is a set P of points. The algorithm selects one point p randomly and uniformly from P, and recursively finds the minimal circle containing P – {p}, i.e. all of the other points in P except p. If the returned circle also encloses p, it is the minimal circle for the whole of P and is returned.

Otherwise, point p must lie on the boundary of the result circle. It recurses, but with the set R of points known to be on the boundary as an additional parameter.

The recursion terminates when P is empty, and a solution can be found from the points in R: for 0 or 1 points the solution is trivial, for 2 points the minimal circle has its center at the midpoint between the two points, and for 3 points the circle is the circumcircle of the triangle described by the points. (In three dimensions, 4 points require the calculation of the circumsphere of a tetrahedron.)

Recursion can also terminate when R has size 3 (in 2D, or 4 in 3D) because the remaining points in P must lie within the circle described by R.

algorithm welzl is [8] input: Finite sets P and R of points in the plane |R|  3.     output: Minimal disk enclosing P with R on the boundary.      ifP is empty or |R| = 3 thenreturn trivial(R)     choosep in P (randomly and uniformly)     D := welzl(P − {p}, R)     ifp is in DthenreturnDreturn welzl(P − {p}, R ∪ {p})

Welzl's paper states that it is sufficient to randomly permute the input at the start, rather than performing independently random choices of p on each recursion.

It also states that performance is improved by dynamically re-ordering the points so that those that are found to be outside a circle are subsequently considered earlier, but this requires a change in the structure of the algorithm to store P as a "global".

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 (i.e., distance multiplied by the corresponding weight) to any point. The original (unweighted) minimum covering circle problem corresponds to the case when all weights are equal to 1. 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. [16] [19] [20]

Smallest enclosing balls in non-Euclidean geometry

The smallest enclosing ball of a finite point set has been studied in Riemannian geometry including Cartan-Hadamard manifolds. [21]

See also

Related Research Articles

<span class="mw-page-title-main">Sphere</span> Set of points equidistant from a center

A sphere is a geometrical object that is a three-dimensional analogue to a two-dimensional circle. Formally, a sphere is the set of points that are all at the same distance r from a given point in three-dimensional space. That given point is the center of the sphere, and r is the sphere's radius. The earliest known mentions of spheres appear in the work of the ancient Greek mathematicians.

<span class="mw-page-title-main">Triangle</span> Shape with three sides

A triangle is a polygon with three corners and three sides, one of the basic shapes in geometry. The corners, also called vertices, are zero-dimensional points while the sides connecting them, also called edges, are one-dimensional line segments. A triangle has three internal angles, each one bounded by a pair of adjacent edges; the sum of angles of a triangle always equals a straight angle. The triangle is a plane figure and its interior is a planar region. Sometimes an arbitrary edge is chosen to be the base, in which case the opposite vertex is called the apex; the shortest segment between base and apex is the height. The area of a triangle equals one-half the product of height and base length.

<span class="mw-page-title-main">Travelling salesman problem</span> NP-hard problem in combinatorial optimization

The travelling salesman problem, also known as the travelling salesperson problem (TSP), asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?" It is an NP-hard problem in combinatorial optimization, important in theoretical computer science and operations research.

<span class="mw-page-title-main">Convex hull</span> Smallest convex set containing a given set

In geometry, the convex hull, convex envelope or convex closure of a shape is the smallest convex set that contains it. The convex hull may be defined either as the intersection of all convex sets containing a given subset of a Euclidean space, or equivalently as the set of all convex combinations of points in the subset. For a bounded subset of the plane, the convex hull may be visualized as the shape enclosed by a rubber band stretched around the subset.

<span class="mw-page-title-main">Packing problems</span> Problems which attempt to find the most efficient way to pack objects into containers

Packing problems are a class of optimization problems in mathematics that involve attempting to pack objects together into containers. The goal is to either pack a single container as densely as possible or pack all objects using as few containers as possible. Many of these problems can be related to real-life packaging, storage and transportation issues. Each packing problem has a dual covering problem, which asks how many of the same objects are required to completely cover every region of the container, where objects are allowed to overlap.

In geometry, inversive geometry is the study of inversion, a transformation of the Euclidean plane that maps circles or lines to other circles or lines and that preserves the angles between crossing curves. Many difficult problems in geometry become much more tractable when an inversion is applied. Inversion seems to have been discovered by a number of people contemporaneously, including Steiner (1824), Quetelet (1825), Bellavitis (1836), Stubbs and Ingram (1842–3) and Kelvin (1845).

<span class="mw-page-title-main">Poincaré half-plane model</span> Upper-half plane model of hyperbolic non-Euclidean geometry

In non-Euclidean geometry, the Poincaré half-plane model is the upper half-plane, denoted below as H, together with a metric, the Poincaré metric, that makes it a model of two-dimensional hyperbolic geometry.

<span class="mw-page-title-main">Concyclic points</span> Points on a common circle

In geometry, a set of points are said to be concyclic if they lie on a common circle. A polygon whose vertices are concyclic is called a cyclic polygon, and the circle is called its circumscribing circle or circumcircle. All concyclic points are equidistant from the center of the circle.

In mathematical measure theory, for every positive integer n the ham sandwich theorem states that given n measurable "objects" in n-dimensional Euclidean space, it is possible to divide each one of them in half (with respect to their measure, e.g. volume) with a single (n − 1)-dimensional hyperplane. This is even possible if the objects overlap.

<span class="mw-page-title-main">Bounding sphere</span> Sphere that contains a set of objects

In mathematics, given a non-empty set of objects of finite extension in -dimensional space, for example a set of points, a bounding sphere, enclosing sphere or enclosing ball for that set is a -dimensional solid sphere containing all of these objects.

<span class="mw-page-title-main">Euclidean minimum spanning tree</span> Shortest network connecting points

A Euclidean minimum spanning tree of a finite set of points in the Euclidean plane or higher-dimensional Euclidean space connects the points by a system of line segments with the points as endpoints, minimizing the total length of the segments. In it, any two points can reach each other along a path through the line segments. It can be found as the minimum spanning tree of a complete graph with the points as vertices and the Euclidean distances between points as edge weights.

<span class="mw-page-title-main">Linear programming relaxation</span>

In mathematics, the relaxation of a (mixed) integer linear program is the problem that arises by removing the integrality constraint of each variable.

In geometry, Jung's theorem is an inequality between the diameter of a set of points in any Euclidean space and the radius of the minimum enclosing ball of that set. It is named after Heinrich Jung, who first studied this inequality in 1901. Algorithms also exist to solve the smallest-circle problem explicitly.

<span class="mw-page-title-main">K-set (geometry)</span> Points separated from others by a line

In discrete geometry, a -set of a finite point set in the Euclidean plane is a subset of elements of that can be strictly separated from the remaining points by a line. More generally, in Euclidean space of higher dimensions, a -set of a finite point set is a subset of elements that can be separated from the remaining points by a hyperplane. In particular, when , the line or hyperplane that separates a -set from the rest of is a halving line or halving plane.

<span class="mw-page-title-main">Closest pair of points problem</span>

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 was among the first geometric problems that were treated at the origins of the systematic study of the computational complexity of geometric algorithms.

Proximity problems is a class of problems in computational geometry which involve estimation of distances between geometric objects.

The 1-center problem, also known as minimax problem or minmax location problem, is a classical combinatorial optimization problem in operations research of facilities location type. In its most general case the problem is stated as follows: given a set of n demand points, a space of feasible locations of a facility and a function to calculate the transportation cost between a facility and any demand point, find a location of the facility which minimizes the maximum facility-demand point transportation cost.

In the study of algorithms, an LP-type problem is an optimization problem that shares certain properties with low-dimensional linear programs and that may be solved by similar algorithms. LP-type problems include many important optimization problems that are not themselves linear programs, such as the problem of finding the smallest circle containing a given set of planar points. They may be solved by a combination of randomized algorithms in an amount of time that is linear in the number of elements defining the problem, and subexponential in the dimension of the problem.

In the design and analysis of algorithms for combinatorial optimization, parametric search is a technique invented by Nimrod Megiddo for transforming a decision algorithm into an optimization algorithm. It is frequently used for solving optimization problems in computational geometry.

<span class="mw-page-title-main">Cutwidth</span> Property in graph theory

In graph theory, the cutwidth of an undirected graph is the smallest integer with the following property: there is an ordering of the vertices of the graph, such that every cut obtained by partitioning the vertices into earlier and later subsets of the ordering is crossed by at most edges. That is, if the vertices are numbered , then for every , the number of edges with and is at most .

References

  1. 1 2 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. Welzl 1991, p. 2.
  5. 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   0721011, S2CID   14467740 .
  6. 1 2 Matoušek, Jiří; Sharir, Micha; Welzl, Emo (1996), "A subexponential bound for linear programming" (PDF), Algorithmica , 16 (4–5): 498–516, CiteSeerX   10.1.1.46.5644 , doi:10.1007/BF01940877, S2CID   877032 .
  7. 1 2 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, S2CID   40615455
  8. 1 2 Welzl, Emo (1991), "Smallest enclosing disks (balls and ellipsoids)", in Maurer, H. (ed.), New Results and New Trends in Computer Science, Lecture Notes in Computer Science, vol. 555, Springer-Verlag, pp. 359–370, CiteSeerX   10.1.1.46.1450 , doi:10.1007/BFb0038202, ISBN   978-3-540-54869-0 .
  9. Nielsen, Frank; Nock, Richard (2008), "On the smallest enclosing information disk", Information Processing Letters, 105 (3): 93–97, doi:10.1016/j.ipl.2007.08.007
  10. 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   0721011, S2CID   14467740 .
  11. Chakraborty, R. K.; Chaudhuri, P. K. (1981), "Note on geometrical solutions for some minimax location problems", Transportation Science , 15 (2): 164–166, doi: 10.1287/trsc.15.2.164 .
  12. Elzinga, J.; Hearn, D. W. (1972), "Geometrical solutions for some minimax location problems", Transportation Science , 6 (4): 379–394, doi:10.1287/trsc.6.4.379 .
  13. Drezner, Zvi; Shelah, Saharon (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 .
  14. 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 .
  15. Jacobsen, S. K. (1981), "An algorithm for the minimax Weber problem", European Journal of Operational Research, 6 (2): 144–148, doi:10.1016/0377-2217(81)90200-9 .
  16. 1 2 3 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 .
  17. Elzinga, J.; Hearn, D. W.; Randolph, W. D. (1976), "Minimax multifacility location with Euclidean distances", Transportation Science , 10 (4): 321–336, doi:10.1287/trsc.10.4.321 .
  18. Lawson, C. L. (1965), "The smallest covering cone or sphere", SIAM Review , 7 (3): 415–417, doi:10.1137/1007084 .
  19. Megiddo, N. (1983), "The weighted Euclidean 1-center problem", Mathematics of Operations Research , 8 (4): 498–504, doi:10.1287/moor.8.4.498 .
  20. Megiddo, N.; Zemel, E. (1986), "An O(n log n) randomizing algorithm for the weighted Euclidean 1-center problem", Journal of Algorithms, 7 (3): 358–368, doi:10.1016/0196-6774(86)90027-1 .
  21. Arnaudon, Marc; Nielsen, Frank (2013), "On approximating the Riemannian 1-center", Computational Geometry, 46 (1): 93–104, doi:10.1016/j.comgeo.2012.04.007