This paper gives approximation algorithms of solving the following motion planning problem: Given a set of polyhedral obstacles and points <italic>s</italic> and <italic>t</italic>, find a shortest path from <italic>s</italic> to <italic>t</italic> that avoids the obstacles. The paths found by the algorithms are piecewise linear, and the length of a path is the sum of the lengths of the line segments making up the path. Approximation algorithms will be given for versions of this problem in the plane and in three-dimensional space. The algorithms return an <italic>ε</italic>-short path, that is, a path with length within (1 + <italic>ε</italic>) of shortest. Let <italic>n</italic> be the total number of faces of the polyhedral obstacles, and <italic>ε</italic> a given value satisfying <italic>&Ogr;</italic> < <italic>ε</italic> ≤ π. The algorithm for the planar case requires <italic>&Ogr;</italic>(<italic>n</italic> log <italic>n</italic>)/<italic>ε</italic> time to build a data structure of size <italic>&Ogr;</italic>(<italic>n</italic>/<italic>ε</italic>). Given points <italic>s</italic> and <italic>t</italic>, and <italic>ε</italic>-short path from <italic>s</italic> to <italic>t</italic> can be found with the use of the data structure in time <italic>&Ogr;</italic>(<italic>n</italic>/<italic>ε</italic> + <italic>n</italic> log <italic>n</italic>). The data structure is associated with a new variety of Voronoi diagram. Given obstacles <italic>S</italic> ⊂ <italic>&Egr;</italic><supscrpt>3</supscrpt> and points <italic>s</italic>, <italic>t</italic> ε <italic>E</italic><supscrpt>3</supscrpt>, an <italic>ε</italic>-short path between <italic>s</italic> and <italic>t</italic> can be found in <italic>&Ogr;</italic>(<italic>n</italic><supscrpt>2</supscrpt>λ(<italic>n</italic>) log(<italic>n</italic>/<italic>ε</italic>)/<italic>ε</italic><supscrpt>4</supscrpt> + <italic>n</italic><supscrpt>2</supscrpt> log<italic>np</italic> log(<italic>n</italic> log<italic>p</italic>)) time, where <italic>p</italic> is the ratio of the length of the longest obstacle edge to the distance between <italic>s</italic> to <italic>t</italic>. The function λ(<italic>n</italic>) = α(<italic>n</italic>)<supscrpt><italic>&Ogr;</italic>(α(<italic>n</italic>)<supscrpt><italic>&Ogr;</italic>(1)</supscrpt>)</supscrpt>, where the α(<italic>n</italic>) is a form of inverse of Ackermann's function. For log(1/<italic>ε</italic>) and log <italic>p</italic> that are <italic>&Ogr;</italic>(log <italic>n</italic>), this bound is <italic>&Ogr;</italic>(log <italic>n</italic><supscrpt>2</supscrpt>(<italic>n</italic>)λ(<italic>n</italic>)/<italic>ε</italic><supscrpt>4</supscrpt>).
[1]
Leonidas J. Guibas,et al.
Visibility-polygon search and euclidean shortest paths
,
1985,
26th Annual Symposium on Foundations of Computer Science (sfcs 1985).
[2]
Paul Chew,et al.
There is a planar graph almost as good as the complete graph
,
1986,
SCG '86.
[3]
Steven Fortune,et al.
A sweepline algorithm for Voronoi diagrams
,
1986,
SCG '86.
[4]
Micha Sharir,et al.
On shortest paths amidst convex polyhedra
,
1987,
SCG '86.
[5]
Micha Sharir,et al.
On Shortest Paths in Polyhedral Spaces
,
1986,
SIAM J. Comput..
[6]
Robert E. Tarjan,et al.
Fibonacci heaps and their uses in improved network optimization algorithms
,
1984,
JACM.
[7]
Chee Yap,et al.
Algorithmic motion planning
,
1987
.
[8]
Richard Cole,et al.
Geometric applications of Davenport-Schinzel sequences
,
1986,
27th Annual Symposium on Foundations of Computer Science (sfcs 1986).
[9]
J. Reif,et al.
Shortest Paths in Euclidean Space with Polyhedral Obstacles.
,
1985
.
[10]
D. Mount.
On Finding Shortest Paths on Convex Polyhedra.
,
1985
.
[11]
Christos H. Papadimitriou,et al.
An Algorithm for Shortest-Path Motion in Three Dimensions
,
1985,
Inf. Process. Lett..
[12]
Andrew Chi-Chih Yao,et al.
On Constructing Minimum Spanning Trees in k-Dimensional Spaces and Related Problems
,
1977,
SIAM J. Comput..