Abstract

We revisit the orthogonal range searching problem and the exact \(\ell _\infty \) nearest neighbor searching problem for a static set of n points when the dimension d is moderately large. We give the first data structure with near linear space that achieves truly sublinear query time when the dimension is any constant multiple of \(\log n\). Specifically, the preprocessing time and space are \(O(n^{1+\delta })\) for any constant \(\delta >0\), and the expected query time is \(n^{1-1/O(c\log c)}\) for \(d=c\log n\). The data structure is simple and is based on a new “augmented, randomized, lopsided” variant of k-d trees. It matches (in fact, slightly improves) the performance of previous combinatorial algorithms that work only in the case of offline queries [(Impagliazzo et al. in arXiv:1401.5512, 2014) and (Chan in Proceedings of the 26th ACM-SIAM Symposium on Discrete Algorithms (SODA), 2015)]. It leads to slightly faster combinatorial algorithms for all-pairs shortest paths in general real-weighted graphs and rectangular Boolean matrix multiplication. In the offline case, we show that the problem can be reduced to the Boolean orthogonal vectors problem and thus admits an \(n^{2-1/O(\log c)}\)-time non-combinatorial algorithm [Abboud et al. in Proceedings of the 26th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 2015]. This reduction is also simple and is based on range trees. Finally, we use a similar approach to obtain a small improvement to Indyk’s data structure (J Comput Syst Sci 63(4):627–638, 2001) for approximate\(\ell _\infty \) nearest neighbor search when \(d=c\log n\).

Highlights

  • We revisit some classical problems in computational geometry: In orthogonal range searching, we want to preprocess n data points in Rd so that we can detect if there is a data point inside any query axis-aligned box, or report or count all such points

  • We are interested in the special case when the query box is d-sided, of the form (−∞, q1] × · · · × (−∞, qd]; in other words, we want to detect if there is a data point (p1, . . . , pd) that is dominated by a query point (q1, . . . , qd), in the sense that pj ≤ qj for all j ∈ {1, . . . , d}, or report or count all such points

  • Orthogonal range searching in d dimensions reduces to dominance range searching in 2d dimensions

Read more

Summary

Introduction

We revisit some classical problems in computational geometry: In orthogonal range searching, we want to preprocess n data points in Rd so that we can detect if there is a data point inside any query axis-aligned box, or report or count all such points. Returning to the offline dominance or orthogonal range searching problem, Abboud, Williams, and Yu’s non-combinatorial algorithm [1] has a better n2−1/O(log c) time bound but is only for the Boolean case, leading to researchers to ask whether the same result holds for the more general problem for real input. Setting α ≈ 1/ log c, we can answer n (online) queries with O(1) approximation factor in n2−1/O(log c) total time, which curiously matches our earlier result for exact ∞ nearest neighbor search but by a purely combinatorial algorithm. The idea is to modify Indyk’s method to incorporate, once again, a range-tree-like recursion

Online Dominance Range Searching
Offline Dominance Range Searching
Slightly Improved Version
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call