1 / 25

L 1 Shortest Path Queries among Polygonal Obstacles in the Plane

This paper presents an algorithm for solving L1 shortest path queries among polygonal obstacles in the plane, finding the shortest path from one point to another while avoiding the obstacles. The algorithm builds a shortest path map (SPM) and computes the L1 distance using horizontal and vertical distances.

leblancl
Download Presentation

L 1 Shortest Path Queries among Polygonal Obstacles in the Plane

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. L1 Shortest Path Queries among Polygonal Obstacles in the Plane Danny Z. Chen1 and Haitao Wang2 1University of Notre Dame 2Utah State University

  2. Shortest paths among polygonal obstacles • Input: A set of h polygonal obstacles with a total of n vertices, and two points s and t • Output: A shortest path from s to t that avoids the obstacles t free space s obstacle

  3. Shortest path queries • Build a shortest path map (SPM), such that for any query point t, compute the shortest path from s to t t t t s obstacle

  4. Our problem: the L1 version • L1 shortest path: a path with minimum L1 distance • The path can be arbitrarily polygonal • But the distance is measured by L1 metric vertical distance e horizontal distance The L1 distance of e = the horizontal distance + the vertical distance

  5. Previous work (a single shortest path) • Studied by Clarkson, Lee, Kapoor, Widmayer, Wu, Wong, Vaidya, Chen, Klenk, Tu, Inkulu, etc. • O(nlogn) time and O(n) space, Mitchell 92’ • O(T+n+hlogh) time and O(n) space, Chen and Wang 11’ • T = O(n+hlog1+εh) : the time for triangulating the free space, Bar-Yehuda and Chazelle, 94’

  6. Previous work and our new result (shortest path queries) • Mitchell 92’ • Time for building an SPM: O(nlogn) • Space: O(n) • Query time: O(k+logn) • k: the number of edges of the path • Our new result (in this talk) • Time for building an SPM: O(T+n+hlogh) • O(n+hlog h) time, if a triangulation is given • Space: O(n) • Query time: O(k+logn)

  7. More… • Our algorithm runs in Θ(T) time • building an SPM is equivalent to triangulating the free space • Why? • Lower bound: T=Ω(n+hlogh) • Given a triangulation, • build an SPM in O(n+hlogh) time • Given an SPM • obtain a triangulation in O(n) time

  8. Our approach (previous work) • Reduce the problem to the convex case where all obstacles are convex • Solve the convex case • O(n+hlogh) time and O(n) space • an SPM is also built • Open: Building an SPM for the general (non-convex) problem • the key: solving a sub-problem optimally

  9. The key sub-problem a shortest path from s to t s c r t P The green region is the Voronoi region of r, denoted by VR(r) d

  10. The key sub-problem Each site has a weight : the length of the L1 shortest path from s to it c Goal: Compute the L1geodesic Voronoi diagram for the sites that influence P only through cd, or compute the Voronoi region for each site P N: the number of vertices of P M: the number of red sites d

  11. Difficulties How to handle the interactions of the bisectors? c Goal: building the SPM in O(n+hlogh) time Goal for solving the sub-problem: O(M+N) time P d

  12. The standard approaches • O((N+M)log(N+M))  overall O(nlogn) time • Continuous Dijkstra paradigm • Sweeping • Divide-and-conquer • Our approach: incremental • O(N+M)

  13. Bisectors of two weighted sites middle segment A bisector: amiddle segment, and two half-lines, vertical or horizontal

  14. Our algorithm Order the sites r1, r2, … rm by the sub-segments of cd contained in their cells from c to d r1 c r2 r3 P r4 d

  15. Obtaining the rays r1 c r2 Middle segments must appear in the Voronoi diagram r3 P r4 r5 d

  16. Preprocessing c sites for the yellow region r2 p q sites for the brown region r3 P d

  17. Processing the rays incrementally VR(r1) r1 c Vertical rays are stored in a stack r2 r3 VR(r3) P r4 r5 d

  18. Processing the rays incrementally VR(r1) r1 c r2 r3 VR(r3) r4 P r5 d

  19. Processing the rays incrementally VR(r1) r1 c Vertical rays are stored in a stack r2 r3 r4 P r5 d

  20. Processing the rays incrementally VR(r1) r1 c r2 r3 r4 VR(r4) P r5 d

  21. Processing the rays incrementally VR(r1) r1 c r2 r3 r4 VR(r4) P VR(r3) r5 d

  22. Processing the rays incrementally VR(r1) r1 c r2 r3 VR(r2) r4 P r5 VR(r3) d

  23. Implementation • Data structures: linked lists, a stack, vertical and horizontal visibility decompositions of P horizontal visibility decomposition vertical visibility decomposition

  24. Conclusions • Build an L1 shortest path map in Θ(T+n+hlogh) time • Build a special L1 weighted geodesic Voronoi diagram • Linear time

  25. Thank You

More Related