Table of Contents
Fetching ...

Approximate Dynamic Nearest Neighbor Searching in a Polygonal Domain

Joost van der Laan, Frank Staals, Lorenzo Theunissen

Abstract

We present efficient data structures for approximate nearest neighbor searching and approximate 2-point shortest path queries in a two-dimensional polygonal domain $P$ with $n$ vertices. Our goal is to store a dynamic set of $m$ point sites $S$ in $P$ so that we can efficiently find a site $s \in S$ closest to an arbitrary query point $q$. We will allow both insertions and deletions in the set of sites $S$. However, as even just computing the distance between an arbitrary pair of points $q,s \in P$ requires a substantial amount of space, we allow for approximating the distances. Given a parameter $\varepsilon > 0$, we build an $O(\frac{n}{\varepsilon}\log n)$ space data structure that can compute a $1+\varepsilon$-approximation of the distance between $q$ and $s$ in $O(\frac{1}{\varepsilon^2}\log n)$ time. Building on this, we then obtain an $O(\frac{n+m}{\varepsilon}\log n + \frac{m}{\varepsilon}\log m)$ space data structure that allows us to report a site $s \in S$ so that the distance between query point $q$ and $s$ is at most $(1+\varepsilon)$-times the distance between $q$ and its true nearest neighbor in $O(\frac{1}{\varepsilon^2}\log n + \frac{1}{\varepsilon}\log n \log m + \frac{1}{\varepsilon}\log^2 m)$ time. Our data structure supports updates in $O(\frac{1}{\varepsilon^2}\log n + \frac{1}{\varepsilon}\log n \log m + \frac{1}{\varepsilon}\log^2 m)$ amortized time.

Approximate Dynamic Nearest Neighbor Searching in a Polygonal Domain

Abstract

We present efficient data structures for approximate nearest neighbor searching and approximate 2-point shortest path queries in a two-dimensional polygonal domain with vertices. Our goal is to store a dynamic set of point sites in so that we can efficiently find a site closest to an arbitrary query point . We will allow both insertions and deletions in the set of sites . However, as even just computing the distance between an arbitrary pair of points requires a substantial amount of space, we allow for approximating the distances. Given a parameter , we build an space data structure that can compute a -approximation of the distance between and in time. Building on this, we then obtain an space data structure that allows us to report a site so that the distance between query point and is at most -times the distance between and its true nearest neighbor in time. Our data structure supports updates in amortized time.
Paper Structure (28 sections, 25 theorems, 14 equations, 9 figures)

This paper contains 28 sections, 25 theorems, 14 equations, 9 figures.

Key Result

Theorem 1

Let $P$ be a polygonal domain with $n$ vertices, let $S$ be a dynamic set of $m$ point sites in $P$, and let $\varepsilon\xspace > 0$ be a parameter. There is an $O(\frac{n+m}{\varepsilon\xspace}\log n + \frac{m}{\varepsilon\xspace}\log m)$ space data structure that can Constructing the initially empty data structure takes $O(\frac{n}{\varepsilon\xspace^2}\log^2 n)$ time.

Figures (9)

  • Figure 1: An overview of our approach. We use shortest paths to recursively subdivide $P$ into subpolygons. If $s^*$ lies in the same triangle as $q$, we can directly compute an $\varepsilon\xspace$-close site. Otherwise, the shortest path must cross a shortest path $Q$, and we find a site $s$ that is sufficiently close to $q$ whose path goes via an anchor point on $Q$.
  • Figure 2: (a) A cone $C$ with apex $c$, cone direction $r_C$, and angle $\alpha$, and an illustration of the cone distance $d^C(a,b)$ between two points $a,b \in C$. (b) A family of cones with angle $2\alpha = 45$ degrees.
  • Figure 3: (a) A point $s$, which has an outgoing cone edge to a vertex $v$ w.r.t the pictured cone $C$. Hence, there are no visible vertices in $C$ to the left of the red dashed line. (c) An example cone graph $G$ (for a very large $\varepsilon\xspace$).
  • Figure 4: (a) The graph $G[s]$, where only outgoing cone edges from $s$ have been added. (b) The cone graph on $V \cup \{s\}$. Observe that the edge set of neither graph is a subset of the other.
  • Figure 5: The configuration from Observation \ref{['obs:triangle_third_intersection']}.
  • ...and 4 more figures

Theorems & Definitions (26)

  • Theorem 1
  • Theorem 2
  • Lemma 3: Clarkson Clarkson1987
  • Lemma 5
  • Lemma 6
  • Lemma 7: Thorup Thorup2007
  • Lemma 8
  • Lemma 9
  • Lemma 10
  • Lemma 11
  • ...and 16 more