Abstract
We study the problem of finding shortest paths in the plane among h convex obstacles, where the path is allowed to pass through (violate) up to k obstacles, for $$k \le h$$. Equivalently, the problem is to find shortest paths that become obstacle-free if k obstacles are removed from the input. Given a fixed source point s, we show how to construct a map, called a shortest k-path map, so that all destinations in the same region of the map have the same combinatorial shortest path passing through at most k obstacles. We prove a tight bound of $$\varTheta (kn)$$ on the size of this map, and show that it can be computed in $$O(k^2n \log n)$$ time, where n is the total number of obstacle vertices.
Highlights
Given a set of polygonal obstacles in the plane and an integer parameter k, which k obstacles should we remove to obtain the shortest obstacle-free path between two points s and t? Equivalently, what is the shortest path that is allowed to violate up to k obstacles? We call a path violating at most k obstacles a k-path, generalizing a traditional obstacle-free path, which is a 0-path
Given a fixed source point s in free space, we want to compute shortest k-paths, for k ≤ h, to all other points of free space
As we show shortest k-paths can always be decomposed into appropriate non-crossing subpaths to which the continuous Dijkstra method can be applied, working on multiple copies of free space connected using the metaphor of a k-level garage
Summary
Given a set of polygonal obstacles in the plane and an integer parameter k, which k obstacles should we remove to obtain the shortest obstacle-free path between two points s and t? Equivalently, what is the shortest path that is allowed to violate (pass through) up to k obstacles? We call a path violating at most k obstacles a k-path, generalizing a traditional obstacle-free path, which is a 0-path. The case of polygonal obstacles in the plane, in particular, has been a subject of intense research [3, 4, 11, 17, 22, 23, 25, 26, 28], culminating in an optimal O(n log n) time algorithm using the continuous Dijkstra framework [15]. The prior work most closely related to our research is a recent result by Maheshwari et al [20], which presents an O(n3) time algorithm for computing the 1-violation path inside a simple polygon: that is, a shortest path inside a simple n-gon that is allowed to leave the polygon once. Our work deals with finding k-violation paths, for arbitrary k, in an environment containing possibly O(n) convex obstacles
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.