English

Simultaneous Nearest Neighbor Search

Data Structures and Algorithms 2016-04-11 v1 Computational Geometry

Abstract

Motivated by applications in computer vision and databases, we introduce and study the Simultaneous Nearest Neighbor Search (SNN) problem. Given a set of data points, the goal of SNN is to design a data structure that, given a collection of queries, finds a collection of close points that are compatible with each other. Formally, we are given kk query points Q=q1,,qkQ=q_1,\cdots,q_k, and a compatibility graph GG with vertices in QQ, and the goal is to return data points p1,,pkp_1,\cdots,p_k that minimize (i) the weighted sum of the distances from qiq_i to pip_i and (ii) the weighted sum, over all edges (i,j)(i,j) in the compatibility graph GG, of the distances between pip_i and pjp_j. The problem has several applications, where one wants to return a set of consistent answers to multiple related queries. This generalizes well-studied computational problems, including NN, Aggregate NN and the 0-extension problem. In this paper we propose and analyze the following general two-step method for designing efficient data structures for SNN. In the first step, for each query point qiq_i we find its (approximate) nearest neighbor point p^i\hat{p}_i; this can be done efficiently using existing approximate nearest neighbor structures. In the second step, we solve an off-line optimization problem over sets q1,,qkq_1,\cdots,q_k and p^1,,p^k\hat{p}_1,\cdots,\hat{p}_k; this can be done efficiently given that kk is much smaller than nn. Even though p^1,,p^k\hat{p}_1,\cdots,\hat{p}_k might not constitute the optimal answers to queries q1,,qkq_1,\cdots,q_k, we show that, for the unweighted case, the resulting algorithm is O(logk/loglogk)O(\log k/\log \log k)-approximation. Also, we show that the approximation factor can be in fact reduced to a constant for compatibility graphs frequently occurring in practice. Finally, we show that the "empirical approximation factor" provided by the above approach is very close to 1.

Keywords

Cite

@article{arxiv.1604.02188,
  title  = {Simultaneous Nearest Neighbor Search},
  author = {Piotr Indyk and Robert Kleinberg and Sepideh Mahabadi and Yang Yuan},
  journal= {arXiv preprint arXiv:1604.02188},
  year   = {2016}
}
R2 v1 2026-06-22T13:27:49.283Z