Algorithms for minimum volume enclosing simplex in   R3

1 I n t r o d u c t i o n Apprc~mat, ing a geometric body by a combinatorially simpler shape is a problem with rn~ny applications. In computer graphics and robotics, for instance, checking for collision between complex geometric models is frequently a computational bottleneck. Therefore, collision detection packages commonly use simple bounding objects, such as axis-aligned bounding boxes [4, 14, 16], discrete oriented polytopes [9, 13], or spheres [10], to quickly eliminate pairs whose bounding objects are collision-free. Since intersecting simple bounding objects is computation_ally more efficient than checking objects themselves, this heuristic performs well in practice. (Suri, Hubbard and Hughes [21] and Zhou and Suri [23] give theoretical proofs of these heuristics.) While in computer graphics and robotics, rectangular boxes and spheres tend to be the approximating shapes of choice, in many applications, such as hyperspectral imaging and remote sensing, the natural object is a bounding simplex. A key information processing task in hyperspectral imaging is to determine the parameters of a linear model for a set of multidimensional data vectors. These vectors could represent a set of spectral radiances or reflectances sampled finely in wavelength. A common model is to write these data vectors as a convex combination of certain extreme vectors, called endmembers. The fail unmiwing problem, as it is often called, is to determine both the endmembers and the associated proportions. The endmembers are defined as the corners ~ p o r t e d by National Science Foundation grants CCR9901958 and ANI 9628190. tDepartment of Computer Science, Washington University, St. Louis, MO 63130. Emaih yzhouacs.wustl. edu. ~Departmen~ of Computer Science, Washington University, St. Louis, MO 63130. Emaih suriGcs.wustl. edu. of smallest volume simplez enclosing the data vectors, and thus the problem of algorithmically fitting a simplex around a set of points has been considered by various researchers in Earth sciences [3, 5, 6, 20]. The method of Erlich and Full [5] works from "inside our ' i t takes a set of extreme data points as initial guesses for the endmembers, then pushes the faces of the simplex out until all the data points are in the interior. Craig's method [3] works from outside in. Fuhrmann's method [6] uses a gradient descent approach. All of these methods are heuristics and do not always compute the smallest enclosing simplex. These heuristics also lack any provable bound on the relative volume of the simplex found, or the worst-case analysis of the running time. Computing circumscribing or inscribed shapes of a given class, such as simplex, is also a fundamental problem in computational convexity. The paper by Gritzm~nn and Klee [8] gives a broad survey of results on the basic problems of computing, approximating, or measuring the smallest volume convex sets of a class containing a given convex body. In particular, Klee [11] proved the following useful centroid property: if T is a minimum volume simplex enclosing a convex body P , then the centroid of each facet of T touches P. Klee and Laskowski [12] used this centroid property to develop an efficient algorithm for computing the sma//est area tr/angle containing a convex polygon in the plane. Their result was shortly improved to a linear time algorithm by O'Rourke et al. [17]. 1.1 R e l a t e d Work . O'Rourke [18] has published a technical report claiming an O(n 4) time algorithm for minimum volume simplex in T~ s. Shortly after distributing the report in 1984, however, O'Rourke discovered a fatal flaw in a crucial lemma, and has since retracted the claim [Personal communication, June 1999]. The three dimensional smallest simplex problem has remained open since. Unlike the minimum volume simplex, efficient algorithms are known for other enclosing shapes such as bounding boxes, spheres, or ellipsoids in three, and sometimes in any fixed, dimension. The axis-aligned bounding box is trivially computed in O(n) time for any fixed dimension, by computing the span of the enclosed