Boaz Ben-Moshe Binay Bhattacharya Qiaosheng Shi Farthest Neighbor Voronoi Diagram in the Presence of Rectangular Obstacles CCCG 2005 Boaz Ben-Moshe Binay Bhattacharya Qiaosheng Shi 7/25/2019
Model O: a set of m disjoint Obstacles § Input: {O,P} O: a set of m disjoint Obstacles (axis-aligned rectangles) in R2. P: a set of n points in F=R2 - O. § Distance: d(a,b): the shortest L1 obstacle- avoiding path between a and b. § Motivation: VLSI systems design. Plotter movement. 7/25/2019
Problem Farthest neighbor query (FVD representation). Farthest Voronoi Diagram: (n*m) complexity Farthest Neighbor Query: 7/25/2019
Applications: Diameter All Farthest pairs Center point 7/25/2019
Previous Related Results |P| = n , |O| = m , N = m+n. Nearest neighbor queries: O(N log N). preprocessing, O(log N ) query [CKV87], [M89]. Farthest neighbor queries: O(m*n log N) preprocessing, O(log N) query [BKM01]. All farthest pairs & diameter: O(m*n log N). Our results: Farthest neighbor queries: O(N3/2 log2 N) preprocessing, O(N1/2 log N) query. All farthest pairs & diameter: O(nN1/2 log N). 7/25/2019
Preliminaries Lemma 1: For any two points p, q, the shortest path (between p and q) is either X-monotone or Y-monotone (or both). 7/25/2019
Preliminaries Lemma 1: If there exists an X-monotone path (between p and q) and a Y-monotone path, then there exists an XY-monotone path. 7/25/2019
Preliminaries Corollary: If there exists an X-monotone path between p and q, then all shortest paths between p and q are X-monotone. (Alternatively, Y-monotone). 7/25/2019
Preliminaries The farthest neighbor from p on the left (p.left): choose the farthest among the points to the left of p with an X-monotone path to p. (right, above, below). 7/25/2019
Preliminaries Lemma 2: The farthest neighbor from p is max (p.left, p.right, p.above , p.below). One can divide the DS for finding the farthest point from p into four independent DSs. We consider the DS for farthest neighbor on the left. 7/25/2019
Theorem 3 Given 3 points p1, p2, q: p2.x < p1.x < q.x The Path(p1,q) is X monotone dx=p1.x–p2.x, dy=|p1.y-p2.y| d(p2,q) d(p1,q)+dx–dy Note: If dx dy d(p2,q) d(p1,q) 7/25/2019
Constructing the Filter For each point in the input scene check whether it is a dominant point Define: X-, X+, Y-, Y+. Focus on X-. 7/25/2019
Filtering example In the ‘average’ case the size of the remaining set of points is O(n1/2). 7/25/2019
Farthest order theorem Let q1,q2 be two points on a vertical line where q1.y>p2.y If q1 (q2) is the farthest point from p1 (p2): p1.y < p2.y 7/25/2019
Farthest range on a vertical line. The upper envelope of the distance functions. 7/25/2019
Two source points distance query [EM94] Given an input P,O One can construct a DS of size O(N3/2), in O(N3/2 log N) time. To answer distance queries d(p,q) in O(N1/2) time. Note: p,q belong to P. 7/25/2019
FVD infinite cell theorem If a point q is farthest prom p. On any vertical line l to the right of q, there is a point q’ that is farthest from p 7/25/2019
Computing the FVD(X-) on a vertical line Given a vertical line l(x) we want to divided to farthest ranges. O(m) ‘portals’ 7/25/2019
Computing the FVD(X-) on a vertical line Use the order claim to perform a divide & concur algorithm on l(x). 7/25/2019
Computing the FVD(X-) Goal: attach each FVD cell to the left most vertical line it starts at! 7/25/2019
Computing the FVD(X-) Use the infinite cell theorem to perform a divide & concur algorithm on the cells starting point. 7/25/2019
Computing an implicit FVD(X-) Use a persistent tree DS [DSST89] to store the cells y-order for each vertical line. The y-‘middle’ cell can be found in O(log n) time, for any vertical qurey line l(x) 7/25/2019
Farthest point query mechanism. Given query point q: Project q on the obstacle (r(q)) to its left q’ (ray-shooting). Find the persistent tree snap-shoot associated with r(q). Binary search to find the farthest from q’ using b & u portal points. 7/25/2019
Conclusion This work: Implicit representation for the FVD. All farthest pairs & diameter: O(N3/2 log2 N). Current research: Center Point O(N3/2 log2 N). 7/25/2019
Conclusion Future research: Improving the two source points query mechanism. Higher dimensions (a naive generalization exists). Median. More complex models: weighted version. Other type of obstacles. 7/25/2019
Fin Questions: ??? 7/25/2019