An O(n 5/2 log n) Algorithm for the Rectilinear Minimum Link-Distance Problem in Three Dimensions (Extended Abstract) (Dartmouth Computer Science Technical Report TR2005-538) Robert Scot Drysdale * Clifford Stein † David P. Wagner *‡ Abstract In this paper we consider the Rectilinear Minimum Link-Distance Problem in Three Dimensions. The prob- lem is well studied in two dimensions, but is relatively unexplored in higher dimensions. We solve the problem in O(βn log n) time, where n is the number of corners among all obstacles, and β is the size of a BSP decompo- sition of the space containing the obstacles. It has been shown that in the worst case β = Θ(n 3/2 ), giving us an overall worst case time of O(n 5/2 log n). Previously known algorithms have had worst-case running times of Ω(n 3 ). 1 Introduction The Minimum Link-Distance Problem (sometimes re- ferred to as the Minimum Bends Path Problem) at- tempts to find a path between two points which has a minimum number of turns. Equivalently, one can mini- mize the number of straight line segments, or “links”, in the path. An entire chapter in [8] is devoted to the sub- ject of link-distance problems. Rectinlinear versions of this problem received considerable attention during the early and mid 1990’s, notably including [9, 5, 11, 7, 2]. Most of these treatments have been confined to just two dimensions, since much of the interest in this problem has been motivated by applications in VLSI[11]. A notable exception comes from deBerg, et al. who have considered rectilinear variants of this problem in higher dimensions [2]. They describe an O(n d log n) method to solve a combined metric problem in d di- mensions, where the objective is to minimize the total distance travelled, plus some constant C times the total number of bends in the path. Setting C to zero or to a sufficiently high number solves the Euclidean Shortest Path Problem, and the Minimum Link-Distance Prob- lem, respectively. * Department of Computer Science, Dartmouth College, {scot,dwagn}@cs.dartmouth.edu † Department of Industrial Engineering and Operations Re- search, Columbia University, cliff@ieor.columbia.edu ‡ Portions of this were written at Korea Advanced Institute for Science and Technology (KAIST) Here we focus on the Minimum Link-Distance prob- lem with rectilinear (axis-parallel) paths among recti- linear obstacles (with axis-perpendicular faces) in three dimensions. A motivation for our consideration of this problem has been its application to Homogeneous Mod- ular Robots, as described by Fitch, et al. in [3]. Our algorithm improves on the previously best known bound of O(n 3 ) (see [3] and Section 2.1), running in in O(βn log n) time. It has been shown that in the worst case β = Θ(n 3/2 ) [4, 10], however in many practical circumstances, β ≈ Θ(n). For a more detailed version of this paper visit: http://www.cs.dartmouth.edu/~dwagn/minlinkpath 2 Preliminaries Other authors have discussed how to efficiently divide rectinlinear polygons with n corners into O(n) rectan- gles [6, 1], and so we assume that our input obstacle faces have already been thus partitioned. We refer to one such rectangle as a “Subface”. 2.1 An O(n 3 ) algorithm There exists a straightforward algorithm solving this problem in O(n 3 ) time. Given a set of rectangular ob- stacle subfaces, define its grid to be the arrangement of all planes which contain a subface. This grid divides space into O(n 3 ) cells, each of which lies either entirely within an obstacle or entirely outside of all obstacles [2]. The algorithm then is similar to a breadth-first search through those cells which lie outside of the obstacles. Two important differences are that repeating a step to another cell in the same direction does not increment the distance to that cell, and we do not immediately elimi- nate a cell from consideration via an entry direction, if it has only been reached by other entry directions. 2.2 Overview of our Algorithm Our algorithm follows a similar approach to the O(n 3 ) algorithm, but saves time by using a Binary Space Parti- tion decomposition of space[4, 10]. The leaves of the tree representing this decomposition all designate subspaces 1