Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Shortest Paths among Curved Obstacles in the Plane

Similar presentations


Presentation on theme: "Computing Shortest Paths among Curved Obstacles in the Plane"— Presentation transcript:

1 Computing Shortest Paths among Curved Obstacles in the Plane
Danny Z. Chen1 and Haitao Wang2 1University of Notre Dame 2Utah State University SoCG 2013

2 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 Curved obstacles Input: a set of obstacles whose boundaries are curves
Output: a shortest path from s to t in the free space t s

4 Modeling curved obstacles
An obstacle: a simple region with vertices on the boundary The boundary portion between two adjacent vertices is of constant size

5 Modeling curved obstacles (cont.)
h: the number of obstacles n: the total number of vertices s, t: two points in the free space t s

6 Previous work – polygonal obstacles
Building visibility graphs O(k+nlogn) time (Ghosh and Mount 91’) k=O(n2): the size of the visibility graph t s obstacle

7 Previous work – polygonal obstacles
Building visibility graphs O(k+nlogn) time (Ghosh and Mount 91’) k=O(n2): the size of the visibility graph Continuous Disjkstra scheme O(n1.5+Є) time (Mitchell 96’) first sub-quadratic algorithm O(nlogn) time and space (Hershberger and Suri 99’) time-optimal

8 Curved obstacles – previous and new results
Convex case: all obstacles are convex Chew 85’, Chang et al. 05’, Hershberger and Guibas 88’, Storer and Reif 94’ O(n2) time (Chen and Wang 11’) Non-convex case: the previous talk, Hershberger, Suri, and Yildiz Approach: continuous Dijkstra our result: O(n+hlog1+Єh+k) time k=O(h2): sensitive to the input Approach: visibility graph

9 A sub-problem: Computing the relevant visibility graph of convex obstacles
Given a set of h convex obstacles of n vertices, compute their free common tangents k=O(h2): the number of all free common tangents

10 Previous work and our result
For polygonal convex obstacles: O(n + h2logn) time, Rohnert, 96’; Kapoor, Maheshwari, Mitchell, 97’ An open question: O(n + klogn) time O(nlogn+k) time, Pocchiola and Vegter, 95’ h=n Each obstacle is of constant size Our result: O(n+hlogh + k) time and O(n) working space Better than the open question Optimal solution

11 Our algorithm Reduce the problem to the convex case
the corridor structure, generalizing the polygon case (Kapoor, Maheshwari, Mitchell 97’) Solve the convex case t s

12 The algorithm for the convex case
Step 1: Compute the relevant visibility graph G A shortest s-t path in the plane corresponds to a shortest s-t path in G Our sub-problem Step 2: Finding a shortest s-t path in G ---- Dijkstra’s algorithm G has O(h2) nodes and O(h2) edges O(h2log h) time How to remove the “logh”? t s

13 Solving Step 2 (Chen and Wang 11’)
A follow-up of the work by Hershberger and Guibas 88’ Transform G to a smaller graph G’ such that A shortest s-t path in G ↔ a shortest s-t path in G’ G’ has O(h2) edges but only O(h) nodes O(h2) time for Dijkstra’s algorithm on G’

14 Computing the relevant visibility graph
Given a set of h convex obstacles of n vertices, compute all bitangents (free common tangents ) k=O(h2): the number of all bitangents

15 The algorithm An extension of Pocchiola and Vegter’s algorithm (called the PV algorithm) h=n and all obstacles are of constant size O(nlogn+k) time and O(n) space Our result: O(n+hlogh+k) time and O(n) space Similar to the PV algorithm with some modifications Challenge: the time analysis PV algorithm: local analysis Ours: global analysis

16 Pseudo-triangulations
A pseudo-triangulation: a plane subdivision induced by a maximal number (3h-3) of disjoint bitangents Each region is a pseudo-triangle a common tangent line

17 The topological flip algorithm
Start from a pseudo-triangulation T Flip operations: flip a bitangent b insert the bitangent b’ of the two pseudo-triangles incident to b remove b from T obtain another pseudo-triangulation T’ Repeat the flip operations Two issues: Start from which pseudo-triangulation? Which is the next bitangent to flip? b b’

18 Handle the first issue: the initial pseudo-triangulation T0
Let B be the set of all bitangents T0 is induced by the following bitangents b1 b2 b3 …. b1 is the bitangent of the smallest slope in B b2 is the bitangent of the smallest slope in B that does not intersect b1 b3 is the bitangent of the smallest slope in B that does not intersect b1 or b2 ….. b1 b3 b2

19 Handling the second issue: pick the next bitangent to flip
pick an arbitrary minimal bitangent to flip T: a pseudo-triangulation A bitangent b in T is minimal if its slope is the smallest among all bitangents on the two pseudo-triangles incident to b b

20 The topological flip algorithm
Compute T0 and determine a set C of minimal bitangents of T0; while (C ≠ ø) pick any b from C; flip b; update C; find the two bitangents with the smallest slopes in the two pseudo-triangles incident to b an example

21 Implementation Key: implement the flip operations efficiently
Goal: O(n+k) time for all k flip operations Consider a flip on b a naive approach: start from b, walk clockwise on the boundaries of the two pseudo-triangles incident to b synchronously time-consuming an improvement: “jump” to certain locations of the boundaries to start the walk

22 Time analysis Implement all walks in the entire algorithm in O(n+k) time Key: prove that there are a total of O(n+k) arcs and bitangents passed by the walks

23 Proving the total walked arcs and bitangents is O(n+k)
There are k flips in total Each flip needs to walk on a constant number of bitangents and boundary portions on obstacles a bitangent needs O(1) time a boundary portion of an obstacle may need Ω(n) time as the portion may be of size Ω(n) O(1) time for the PV algorithm as each obstacle is of constant size need a global time analysis for our problem

24 Conclusions An O(n+hlog1+Є h+k) time algorithm for finding shortest paths among curved obstacles k=O(h2): sensitive to the input A sub-problem: Computing the relevant visibility graph O(n + hlogh +k) time and O(n) working space Applicable to polygonal obstacles


Download ppt "Computing Shortest Paths among Curved Obstacles in the Plane"

Similar presentations


Ads by Google