November 1998 | SUNIL ARYA, DAVID M. MOUNT, NATHAN S. NETANYAHU, RUTH SILVERMAN, AND ANGELA Y. WU
An optimal algorithm for approximate nearest neighbor searching in fixed dimensions is presented. The algorithm preprocesses a set of n data points in d-dimensional space using a balanced box-decomposition (BBD) tree, which allows for efficient approximate nearest neighbor queries. The BBD tree is constructed in O(dn log n) time and uses O(dn) space. Given a query point q and a parameter ε > 0, the algorithm can find a (1 + ε)-approximate nearest neighbor of q in O(c_{d,ε} log n) time, where c_{d,ε} is a factor depending on d and ε. Additionally, the algorithm can find the first k (1 + ε)-approximate nearest neighbors of q in O((c_{d,ε} + kd) log n) time. The BBD tree is a hierarchical decomposition of space into regions of bounded aspect ratio, ensuring efficient query processing. The algorithm is efficient for high-dimensional data and provides significant improvements over brute-force search, especially for large dimensions. The BBD tree is constructed using fair splits and shrinks, ensuring that the tree has O(log n) height and that the number of cells visited during a query is independent of n. The algorithm is robust to variations in ε and the metric used, and can handle point insertions and deletions efficiently. The results show that the algorithm achieves asymptotically optimal performance in terms of space and query time for fixed dimensions.An optimal algorithm for approximate nearest neighbor searching in fixed dimensions is presented. The algorithm preprocesses a set of n data points in d-dimensional space using a balanced box-decomposition (BBD) tree, which allows for efficient approximate nearest neighbor queries. The BBD tree is constructed in O(dn log n) time and uses O(dn) space. Given a query point q and a parameter ε > 0, the algorithm can find a (1 + ε)-approximate nearest neighbor of q in O(c_{d,ε} log n) time, where c_{d,ε} is a factor depending on d and ε. Additionally, the algorithm can find the first k (1 + ε)-approximate nearest neighbors of q in O((c_{d,ε} + kd) log n) time. The BBD tree is a hierarchical decomposition of space into regions of bounded aspect ratio, ensuring efficient query processing. The algorithm is efficient for high-dimensional data and provides significant improvements over brute-force search, especially for large dimensions. The BBD tree is constructed using fair splits and shrinks, ensuring that the tree has O(log n) height and that the number of cells visited during a query is independent of n. The algorithm is robust to variations in ε and the metric used, and can handle point insertions and deletions efficiently. The results show that the algorithm achieves asymptotically optimal performance in terms of space and query time for fixed dimensions.