An Output-Sensitive Approach for the L 1/L ∞ k-Nearest-Neighbor Voronoi Diagram [chapter]

Chih-Hung Liu, Evanthia Papadopoulou, D. T. Lee
2011 Lecture Notes in Computer Science  
This paper revisits the k-nearest-neighbor (k-NN) Voronoi diagram and presents the first output-sensitive paradigm for its construction. It introduces the k-NN Delaunay graph, which corresponds to the graph theoretic dual of the k-NN Voronoi diagram, and uses it as a base to directly compute the k-NN Voronoi diagram in R 2 . In the L1, L∞ metrics this results in O((n + m) log n) time algorithm, using segment-dragging queries, where m is the structural complexity (size) of the k-NN Voronoi
more » ... m of n point sites in the plane. The paper also gives a tighter bound on the structural complexity of the k-NN Voronoi diagram in the L∞ (equiv. L1) metric, which is shown to be O(min{k(n − k), (n − k) 2 }). Introduction Given a set S of n point sites ∈ R d and an integer k, 1 ≤ k < n, the k-nearestneighbor Voronoi Diagram, abbreviated as k-NN Voronoi diagram and denoted as V k (S), is a subdivision of R d into regions, called k-NN Voronoi regions, each of which is the locus of points closer to a subset H of k sites, H ⊂ S, called a k-subset, than to any other k-subset of S, and is denoted as V k (H, S). The distance between a point p and a point set H is d(p, H) = max{d(p, q), ∀q ∈ H}, where d(p, q) denotes the distance between two points p and q. A k-NN Voronoi region V k (H, S) is a polytope in R d . The common face between two neighboring k-NN Voronoi regions, V k (H 1 , S) and V k (H 2 , S), is portion of the bisector B(H 1 , H 2 ) = {r | d(r, H 1 ) = d(r, H 2 ), r ∈ R d }. In R 2 , the boundary between two neighboring k-NN Voronoi regions is a k-NN Voronoi edge, and the intersection point among more than two neighboring k-NN Voronoi ⋆ regions is a k-NN Voronoi vertex. In the L p -metric the distance d(s, t) between two points s, t is d p (s, t) = (|x 1s − Lee [14] showed that the structural complexity, i.e., the size, of the k-NN Voronoi diagram in the plane is O(k(n−k)), and proposed an iterative algorithm to construct the diagram in O(k 2 n log n) time and O(k 2 (n−k)) space. Agarwal et al. [3] improved the time complexity to be O(nk 2 +n log n). Based on the notions of geometric duality and arrangements, Chazelle and Edelsbrunner [8] developed two versions of an algorithm, which take O(n 2 log n + k(n − k) log 2 n) time and O(k(n−k)) space, and O(n 2 +k(n−k) log 2 n) time and O(n 2 ) space, respectively. Clarkson [9], Mulmuley [16], and Agarwal et al. [2] developed randomized algorithms, where the expected time complexity of O(k(n − k) log n + n log 3 n) in [2] is the best. Boissonnat et al. [6] and Aurenhammer and Schwarzkopf [5] proposed on-line randomized incremental algorithms: the former in expected O(n log n + nk 3 ) time and O(nk 2 ) space, and the latter in expected O(nk 2 log n + nk log 3 n) time and O(k(n − k)) space. For higher dimensions, Edelsbrunner et al. [11] devised an algorithm to compute all V k (S) in R d with the Euclidean metric for 1 ≤ k < n, within optimal O(n d+1 ) time and space, and Clarkson and Shor [10] showed the total size of all V k (S) to be O(k ⌈(d+1)/2⌉ n ⌊(d+1)/2⌋ ).
doi:10.1007/978-3-642-23719-5_7 fatcat:yijwtk7tcngtbek77sjt7k2ot4