Efficient Nearest-Neighbor Query and Clustering of Planar Curves
We study two fundamental problems dealing with curves in the plane, namely, the nearest-neighbor problem and the center problem. Let C be a set of n polygonal curves, each of size m. In the nearest-neighbor problem, the goal is to construct a compact data structure over C, such that, given a query curve Q, one can efficiently find the curve in C closest to Q. In the center problem, the goal is to find a curve Q, such that the maximum distance between Q and the curves in C is minimized. We use the well-known discrete Frechet distance function, both under L_∞ and under L_2, to measure the distance between two curves. For the nearest-neighbor problem, despite discouraging previous results, we identify two important cases for which it is possible to obtain practical bounds, even when m and n are large. In these cases, either Q is a line segment or C consists of line segments, and the bounds on the size of the data structure and query time are nearly linear in the size of the input and query curve, respectively. The returned answer is either exact under L_∞, or approximated to within a factor of 1+ε under L_2. We also consider the variants in which the location of the input curves is only fixed up to translation, and obtain similar bounds, under L_∞. As for the center problem, we study the case where the center is a line segment, i.e., we seek the line segment that represents the given set as well as possible. We present near-linear time exact algorithms under L_∞, even when the location of the input curves is only fixed up to translation. Under L_2, we present a roughly O(n^2m^3)-time exact algorithm.
READ FULL TEXT