Presentation is loading. Please wait.

Presentation is loading. Please wait.

Boaz BenMoshe Matthew Katz Joseph Mitchell

Similar presentations


Presentation on theme: "Boaz BenMoshe Matthew Katz Joseph Mitchell"— Presentation transcript:

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) | pP}. 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


Download ppt "Boaz BenMoshe Matthew Katz Joseph Mitchell"

Similar presentations


Ads by Google