Efficiently Enumerating Scaled Copies of Point Set Patterns
Problems on repeated geometric patterns in finite point sets in Euclidean space are extensively studied in the literature of combinatorial and computational geometry. Such problems trace their inspiration to Erdős' original work on that topic. In this paper, we investigate the particular case of finding scaled copies of any pattern within a set of n points, that is, the algorithmic task of efficiently enumerating all such copies. We initially focus on one particularly simple pattern of axis-parallel squares, and present an algorithm with an O(n√(n)) running time and O(n) space for this task, involving various bucket-based and sweep-line techniques. Our algorithm is worst-case optimal, as it matches the known lower bound of Ω(n√(n)) on the maximum number of axis-parallel squares determined by n points in the plane, thereby solving an open question for more than three decades of realizing that bound for this pattern. We extend our result to an algorithm that enumerates all copies, up to scaling, of any full-dimensional fixed set of points in d-dimensional Euclidean space, that works in time O(n^1+1/d) and space O(n), also matching the corresponding lower bound due to Elekes and Erdős.
READ FULL TEXT