L1 Shortest Path Queries among Polygonal Obstacles in the Plane Danny Z. Chen1 and Haitao Wang2 1University of Notre Dame 2Utah State University
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
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
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
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’
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
More… Our algorithm runs in Θ(T) time Why? 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
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
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
The key sub-problem Each site has a weight : the length of the L1 shortest path from s to it c Goal: Compute the L1 geodesic 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
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
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)
Bisectors of two weighted sites middle segment A bisector: a middle segment, and two half-lines, vertical or horizontal
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
Obtaining the rays r1 c r2 Middle segments must appear in the Voronoi diagram r3 P r4 r5 d
Preprocessing c sites for the yellow region r2 p q sites for the brown region r3 P d
Processing the rays incrementally VR(r1) r1 c Vertical rays are stored in a stack r2 r3 VR(r3) P r4 r5 d
Processing the rays incrementally VR(r1) r1 c r2 r3 VR(r3) r4 P r5 d
Processing the rays incrementally VR(r1) r1 c Vertical rays are stored in a stack r2 r3 r4 P r5 d
Processing the rays incrementally VR(r1) r1 c r2 r3 r4 VR(r4) P r5 d
Processing the rays incrementally VR(r1) r1 c r2 r3 r4 VR(r4) P VR(r3) r5 d
Processing the rays incrementally VR(r1) r1 c r2 r3 VR(r2) r4 P r5 VR(r3) d
Implementation Data structures: linked lists, a stack, vertical and horizontal visibility decompositions of P horizontal visibility decomposition vertical visibility decomposition
Conclusions Build an L1 shortest path map in Θ(T+n+hlogh) time Build a special L1 weighted geodesic Voronoi diagram Linear time
Thank You