Finding Simple Paths on Given Points in a Polygonal Region

Given a set X of points inside a polygonal region P, two distinguished points s, t ∈ X, we study the problem of finding the simple polygonal paths that turn only at the points of X and avoid the boundary of P, from s to t. We present an O((n 2 + m) logm) time, O(n 2 + m) space algorithm for computing a simple path or reporting no such path exists, where n is the number of points of X and m is the number of vertices of P. This gives a significant improvement upon the previously known O(m 2 n 2) time and space algorithm, and O(n 3 logm + m n) time, O(n 3 + m) space algorithm.