1 / 26

SoCG 2001 Farthest Neighbors and Center Points in the Presence of Rectangular Obstacles

SoCG 2001 Farthest Neighbors and Center Points in the Presence of Rectangular Obstacles. Boaz BenMoshe Matthew Katz Joseph Mitchell. Model and Problems. § Input : {O,P} O: a set of m disjoint Obstacles (axis-aligned rectangles) in the plane.

bchapman
Download Presentation

SoCG 2001 Farthest Neighbors and Center Points in the Presence of Rectangular Obstacles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SoCG 2001Farthest Neighbors and Center Points in the Presence of Rectangular Obstacles Boaz BenMoshe Matthew Katz Joseph Mitchell

  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.

  3. Problems: • Preprocess for farthest neighbor queries (FVD representation). Farthest (L1) Voronoi Diagram: (n*m) complexity Farthest Neighbor Query:

  4. Problems: Center point (set): a point c that minimizes max{d(p,c) | pP}.

  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.

  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.

  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).

  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.

  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).

  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).

  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.

  12. 3.1 Theorem • 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)

  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.

  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-.

  15. Filtering example In the “average “ case the size of the remaining set of points is O(n).

  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-)).

  17. Updating the sweep-line The sweep line is the upper envelope of the distance functions from the points.

  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.

  19. Center Point • We may encounter local minima while approaching the radius.

  20. Computing the bisector Bisector: bs(X-,X+): all points b s.t. b.left = b.right Resp. bs(Y-,Y+) • Computing. • Complexity.

  21. Computing the center point Possible positions: • On the FVD edges. • bisectors: bs(X-,X+), bs(Y-,Y+) • Obstacle edges.

  22. Examples for Bisectors, Center Points

  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))

  24. Approximations Given e > 0, find: • Approximate Diameter D’: D(1 - e)  D’  D • Approximate Radius R’: R R’  R(1+e)

  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.

  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.) http://www.cs.bgu.ac.il/~benmoshe/PHD/SoCG01 Questions ??

More Related