I have a question,
Given a set of points , how do you place a point with the constraint that the distance to the farthest point is as small as possible?.
This is in reference to this problem. I do not know how to proceed. Some pointers anyone?
Thanks
Check out this page. It describes several methods to do this. http://www.personal.kent.edu/~rmuhamma/Compgeometry/MyCG/CG-Applets/Center/centercli.htm
In case the link above ever dies, here's the relevant part that describes the most straight-forward method:
An O(n2)-time Algorithm
At this stage, we a circle, C, that passes through two or more points of a given set. If the circle contains an interval (point-free interval) of arc greater than half the circle's circumference on which no points lie, the circle can be made smaller. Let D and E be the points at the ends of this point-free interval. While keeping D and E on the circle's boundary, reduce the diameter of the circle until we have either case (a) or case (b).
Another page here, with a sample applet: http://www.sunshine2k.de/stuff/Java/Welzl/Welzl.html
You need to use the Voronoi diagram, possibibly the Farthest-Point Voronoi diagram, where the plane is divided into regions, where points in the same region have the same fartherst point
Update
You need to build a Farthest-Point voronoi diagram first, which is O(nlogn) time, and find the center of the smallest circle among all the vertices(if the circle is defined by three points) and all the edges(if the circle is defined by two points). The total time complexity of this approach is O(nlogn)
I just saw the Smallest circle problem wiki page, seems like there is a O(n) time algorithm. You can check it out if you care about the speed, otherwise never mind.