Download presentation
Presentation is loading. Please wait.
Published byΔορκάς Παπαφιλίππου Modified over 5 years ago
1
Boaz BenMoshe Matthew Katz Joseph Mitchell
SoCG 2001 Farthest Neighbors and Center Points in the Presence of Rectangular Obstacles Boaz BenMoshe Matthew Katz Joseph Mitchell 5/2/2019
2
Model and Problems § Input: {O,P}
O: a set of m disjoint Obstacles (axis-aligned rectangles) in the plane. P: a set of n points in the free space F=R2 - O. § Distances: The distance between two points d(a,b) is the shortest L1 obstacle-avoiding path between a and b. § Motivation: VLSI systems design. Plotter movement. 5/2/2019
3
Problems: Preprocess for farthest neighbor queries (FVD representation). Farthest (L1) Voronoi Diagram: (n*m) complexity Farthest Neighbor Query: 5/2/2019
4
Problems: Center point (set):
a point c that minimizes max{d(p,c) | pP}. 5/2/2019
5
Problems: Approximations:
given e>0, filter out a large portion of the points. only O(1/e) of the points remain. approximate the diameter and radius, using the remaining points. 5/2/2019
6
Previous Related Results
|P| = n , |O| = m. Nearest neighbor queries: O((m+n) log(m+n)) preprocessing, O(log(m+n)) query [CKV], [M] All farthest neighbors: O(m2 + n2 log m) [AC] Center Point: O(m2 * n) (center set) [CSK] No previous results for the approximation problems. Our results: Farthest neighbor queries: O(m*n log(m+n)) preprocessing, O(log(m+n)) query All farthest neighbors: O(m*n log(m+n)) Center Point: O(m*n log(m+n)) Near linear-time approximations. 5/2/2019
7
Preliminaries 2.1 Claim: For any two points p, q, the shortest path (between p and q) is either X-monotone or Y-monotone (or both). 5/2/2019
8
Preliminaries 2.2 Claim: If there exists an X-monotone path (between p and q) and a Y-monotone path, then there exists an XY-monotone path. 5/2/2019
9
Preliminaries 2.3 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). 5/2/2019
10
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). 5/2/2019
11
Preliminaries 2.4 Claim: The farthest neighbor from p is
max (p.left, p.right, p.above , p.below). 2.5 Claim: 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. 5/2/2019
12
3.1 Theorem d(p2,q) d(p1,q) + dx – dy
Given 3 points p1, p2, q such that: 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) 5/2/2019
13
Proving Theorem 3.1 Proof (Sketch only):
if dy = 0, d(p2,q) d(p1,q) + dx if there are no obstacles in between p2 and p1 – easy. else the obstacles can only affect d(p2,q) by making it longer. if dx = 0, d(p2,q) d(p1,q) - dy if there are no obstacles in between p2 and p1 - easy. else the obstacles can only affect d(p2,q) by making it longer. Let p’=(p1.x,p2.y) : d(p2,q) d(p’,q) + dx d(p1,q) +dx - dy. d(p2,q) d(p1,q) + dx - dy. 5/2/2019
14
Constructing the Filter
For each point in the input scene check whether it is a dominant point Defining: X-, X+, Y-, Y+. Focus on X-. 5/2/2019
15
Filtering example In the “average “ case the size of the remaining set of points is O(n). 5/2/2019
16
Constructing a DS for farthest neighbor queries (on the left)
Events: Obstacles Points of X- A compact representation of all the sweep-lines is kept (DS(X-)). 5/2/2019
17
Updating the sweep-line
The sweep line is the upper envelope of the distance functions from the points. 5/2/2019
18
Computing the Query Given query point q
The farthest neighbor on the left is p3 (using DS(X-)). d(p3,q)=d(p3,q’)+d(q’,q) The farthest neighbor from below is one of the two extreme lower points. The farthest neighbor of q is the maximum over the 4 directional maximums. 5/2/2019
19
Center Point We may encounter local minima while approaching the radius. 5/2/2019
20
Computing the bisector
bs(X-,X+): all points b s.t. b.left = b.right Resp. bs(Y-,Y+) Computing. Complexity. 5/2/2019
21
Computing the center point
Possible positions: On the FVD edges. bisectors: bs(X-,X+), bs(Y-,Y+) Obstacle edges. 5/2/2019
22
Examples for Bisectors, Center Points
5/2/2019
23
Complexity of the Center Point algorithm
Filtering: O(n log(n)) Computing DS(X-) : O(n m log(n+m) Computing the bs(X-, X+) : O(n m log(n+m)) Searching for Center Point : O(n m log(n+m)) Total complexity: O(n m log(n+m)) 5/2/2019
24
Approximations Given e > 0, find: Approximate Diameter D’:
D(1 - e) D’ D Approximate Radius R’: R R’ R(1+ e) 5/2/2019
25
Constructing the approximation filter
Given e > 0 , Divide the Y-range into O(1/e) horizontal slabs of height, e*D/2 h e*D In each slab mark the leftmost and the rightmost points. Do the same with the vertical slabs. Remove all unmarked points. 5/2/2019
26
Conclusion Future research: Other types of obstacles.
Improving the FVD representation / Proving a lower bound. Higher dimensions – a natural generalization exists. More info: (implementations, papers etc.) Questions ?? 5/2/2019
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.