Eecient Algorithms for Geometric Optimization
چکیده
Linear Programming 15 after kd successful rounds, 2k (H) nek=3. This implies that the above algorithm terminates in at most 3d lnn successful rounds. Since each round takes O(dd) time to compute xR and O(dn) time to compute V , the expected running time of the algorithm is O((d2n+dd+1) log n). By combining this algorithm with a randomized recursive algorithm, Clarkson improved the expected running time to O(d2n) + (d)d=2+O(1) logn. 6 Abstract Linear Programming In this section we present an abstract framework that captures linear programming, as well as many other geometric optimization problems, including computing smallest enclosing balls (or ellipsoids) of nite point sets in Rd , computing largest balls (ellipsoids) circumscribed in convex polytopes in Rd , computing the distance between polytopes in d-space, general convex programming, and many other problems. Sharir and Welzl [256] and Matou sek et al. [207] (see also Kalai [174]) presented a randomized algorithm for optimization problems in this framework, whose expected running time is linear in terms of the number of constraints whenever the combinatorial dimension d (whose precise de nition, in this abstract framework, will be given below) is xed. More importantly, the running time is subexponential in d for many of the LP-type problems, including linear programming. This is the rst subexponential \combinatorial" bound for linear programming (a bound that counts the number of arithmetic operations and is independent of the bit complexity of the input), and is a rst step toward the major open problem of obtaining a strongly polynomial algorithm for linear programming. The papers by Gartner and Welzl [130] and Goldwasser [132] also survey the known results on LP-type problems. 6.1 An abstract framework Let us consider optimization problems speci ed by a pair (H;w), where H is a nite set, and w : 2H ! W is a function into a linearly ordered set (W; ); we assume that W has a minimum value 1. The elements of H are called constraints, and for G H, w(G) is called the value of G. Intuitively, w(G) denotes the smallest value attainable by a certain objective function while satisfying all the constraints of G. The goal is to compute a minimal subset BH of H with w(BH) = w(H) (from which, in general, the value of H is easy to determine), assuming the availability of three basic operations, which we specify below. Such a minimization problem is called LP-type if the following two axioms are satis ed: Axiom 1. (Monotonicity) For any F;G with F G H, we have w(F ) w(G). Geometric Optimization April 1, 1998 Abstract Linear Programming 16 Axiom 2. (Locality) For any F G H with 1 0. Amenta [35] considers the following extension of the abstract framework: Suppose we are given a family of LP-type problems (H;w ), monotonically parameterized by a real parameter ; the underlying ordered value setW has a maximum element +1 representing infeasibility. The goal is to nd the smallest for which (H;w ) is feasible, i.e. w (H) 0. Amenta [35] considers the following extension of the abstract framework: Suppose we are given a family of LP-type problems (H;w ), monotonically parameterized by a real parameter ; the underlying ordered value setW has a maximum element +1 representing infeasibility. The goal is to nd the smallest for which (H;w ) is feasible, i.e. w (H) 0, a set S of p supply points with c(D;S) (1+")r can be computed in time O(n log p) + (p="d)O(p1 1=d). Dyer and Freeze [103] modi ed the greedy algorithm to obtain an approximation algorithm for the weighted k-center problem, in which a weight w(p) is associated with each demand point p 2 D and the objective function is c(D;S) = maxp2Dminq2S w(p) (p; q). Their algorithm computes a solution with approximation factor minf3; 1+ g, where is the ratio of the maximum and the minimum weight. Plesnik [234] improved the approximation Geometric Optimization April 1, 1998 Facility-Location Problems 22 factor to 2, as in the unweighted case. Bar Ilan et al. [41] proposed a polynomial-time approximation algorithm for the capacitated k-center problem that computes a solution within a constant factor. The approximation factor was later improved in [182]. See [134, 186] for other approximation algorithms. Another way of seeking an approximation is to nd a small number of balls of a xed radius, say r, that cover all demand points. Computing k , the minimum number of balls of radius r that cover D, is also NP-Complete [123]. A greedy algorithm can construct k logn balls of radius r that cover D. Hochbaum and Maass gave a polynomial-time algorithm to compute a cover of size (1 + ")k , for any " > 0 [152]; see also [51, 118, 134]. No constant-factor approximation algorithm is known for the capacitated covering problem, with unit-radius disks, that is, the problem of partitioning a given point set S in the plane into the minimum number of clusters, each of which consists of at most c points and can be covered by a disk of unit radius. Nevertheless, the greedy algorithm can be modi ed to obtain an O(log n)-factor approximation for this problem [41]. The general results reviewed so far do not make use of parametric searching: since there are only O(nd+1) candidate values for the optimum radius r , one can simply enumerate all these values and run a standard binary search among them. The improvement that one can gain from parametric searching is signi cant only when p is relatively small, which is what we are going to discuss next. Euclidean 1-center. The 1-center problem is to compute the smallest ball enclosing D. The decision procedure for the 1-center problem is thus to determine whether D can be covered by a ball of radius r. For d = 2, the decision problem can be solved in O(log n) parallel steps using O(n) processors, e.g., be testing whether the intersection of the disks of radius r centered at the points of D is nonempty. This yields an O(n log3 n)-time algorithm for the planar Euclidean 1-center problem. Using the prune-and-search paradigm, one can, however, solve the 1-center problem in linear time [100], and this approach extends to higher dimensions, where, for any xed d, the running time is dO(d)n [18, 63, 104]. Megiddo [215, 219] extends this approach to obtain a linear-time algorithm for the weighted 1-center problem. Dynamic data structures for maintaining the smallest enclosing ball of a set of points, as points are being inserted and deleted, are given in [11, 42]. See [91, 95, 97, 121, 212] for other variants of the 1-center problem. A natural extension of the 1-center problem is to nd a disk of the smallest radius that contains k of the n input points. The best known deterministic algorithm runs in time O(n log n+nk log k) usingO(n+k2 log k) space [116, 84] (see also [111]), and the best known randomized algorithm runs in O(n logn+nk) expected time using O(nk) space, or in O(n logn + nk log k) expected time using O(n) space [203]. Matou sek [204] also showed that the smallest disk covering all but k points can be computed in time2 O(n logn+ k3n"). Chan [54] presented a randomized algorithm for computing the 2In this paper, the meaning of complexity bounds that depend on an arbitrary parameter " > 0, like the one stated here, is that given any " > 0, we can ne-tune the algorithm so that its complexity satis es the Geometric Optimization April 1, 1998 Facility-Location Problems 23 discrete 1-center in R3 whose expected running time is O(n logn). The smallest-enclosing-ball problem is an LP-type problem, with combinatorial dimension d+1 [256, 270]. Indeed, the constraints are the given points, and the function w maps each subset G to the radius of the smallest ball containing G. Monotonicity of w is trivial, and locality follows easily from the uniqueness of the smallest enclosing ball of a given set of points. The combinatorial dimension is d + 1 because at most d + 1 points are needed to determine the smallest enclosing ball. This problem is, however, not basis-regular (the smallest enclosing ball may be determined by any number, between 2 and d+1, of points), and a naive implementation of the basis-changing operation may be quite costly (in d). Nevertheless, Gartner [129] showed that this operation can be performed in this case using expected eO(pd) arithmetic operations. Hence, the expected running time of the algorithm is O(d2n) + eO(pd log d). There are several extensions of the smallest-enclosing-ball problem. They include: (i) computing the smallest enclosing ellipsoid of a point set [63, 101, 235, 270], (ii) computing the largest ellipsoid (or ball) inscribed inside a convex polytope in Rd [129], (iii) computing a smallest ball that intersects (or contains) a given set of convex objects in Rd (see [215], and (iv) computing a smallest area annulus containing a given planar point set. All these problems are known to be LP-type, and thus can be solved using the algorithm described in Section 6. However, not all of them run in subexponential expected time because they are not basis regular. Linear-time algorithms, based on prune-and-search technique, have also been developed for many of these problems in two dimensions [45, 46, 47, 169]. Euclidean 2-center. In this problem we want to cover a set D of n points in Rd by two balls of smallest possible common radius. There is a trivial O(nd+1)-time algorithm for the 2-center problem in Rd , because the clusters D1 and D2 in an optimal solution can be separated by a hyperplane [93]. Faster algorithms have been developed for the planar case using parametric searching. Agarwal and Sharir [14] gave an O(n2 logn)-time algorithm for determining whether D can be covered by two disks of radius r. Their algorithm proceeds as follows: There are O(n2) distinct subsets of D that can be covered by a disk of radius r, and these subsets can be computed in O(n2 log n) time, by processing the arrangement of the n disks of radius r, centered at the points of D. For each such subset D1, the algorithm checks whether DnD1 can be covered by another disk of radius r. Using a dynamic data structure, the total time spent is shown to be O(n2 logn). Plugging this algorithm into the parametric searching machinery, one obtains an O(n2 log3 n)-time algorithm for the Euclidean 2-center problem. Matou sek [199] gave a simpler randomized O(n2 log2 n) expected-time algorithm by replacing parametric searching with randomization. The running time of the decision algorithm was improved by Hershberger [148] to O(n2), which has been utilized in the best near-quadratic solution, by Jaromczyk and Kowaluk [171], which runs in O(n2 logn) time; stated bound. In these bounds the constant of proportionality usually depends on ", and tends to in nity when " tends to zero. Geometric Optimization April 1, 1998 Facility-Location Problems 24 see also [172]. A major progress on this problem was recently made by Sharir [253], who gave an O(n log9 n)-time algorithm, by combining the parametric searching technique with several additional techniques, including a variant of the matrix searching algorithm of Frederickson and Johnson [127]. Eppstein [114] has simpli ed Sharir's algorithm, using randomization and better data structures, and obtained an improved solution, whose expected running time is O(n log2 n). Recently Agarwal et al. [20] have developed an O(n4=3 log5 n)-time algorithm for the discrete 2-center problem. The decision problem in this case asks whether, given a radius r > 0, there exist two points p; q 2 D so that the disks of radius r centered at p and q cover all the points in D. If we let B(p) denote the disk of radius r centered at a point p, then the problem is equivalent to determining whether all disks in the set B = fB(p) j p 2 Dg can be hit by two points of D. For a point p 2 D, let Kp = TfB(p) 2 B j p 62 Bg. If p is one of the two points in a solution to the hitting set problem, then the other point has to lie in Kp. Hence, two points of D hit all the disks of B if and only if Sp2DKp contains at least one point of D. Exploiting several geometric and topological properties of Sp2DKp, Agarwal et al. presented an O(n4=3 log4 n)-time algorithm for deciding whether Sp2DKp \D = ;. It is an open question whether a near-linear algorithm exists for this problem. Rectilinear p-center. In this problem the metric is the L1-distance, so the decision problem is now to cover the given set D by a set of p axis-parallel cubes, each of length 2r. The problem is NP-Hard if p is part of the input and d 2, or if d is part of the input and p 3 [123, 216]. Ko et al. [186] showed that computing an S with c(D;S) 2, the running time of their algorithm is nO((log n=")d 1). 7.4 Segment-center Given a segment e, we wish to nd a translated and rotated copy of e so that the maximum distance from each point of the given set D of demand points to this copy is minimized. This problem was originally considered by Imai et al. [167], who had given an O(n4 log n)-time algorithm. An improved solution, based on parametric searching, with O(n2 (n) log3 n) running time, was later obtained in [8] (here (n) denotes the extremely slowly growing inverse of Ackermann's function). The decision problem in this case is to determine whether there exists a translated and rotated copy of the hippodrome H = e Br, the Minkowski sum of the segment e with a disk of radius r, which fully contains D. Since H is convex, this is equivalent to H containing P = conv(D). Hence the decision procedure is actually: Given a convex polygon P and the hippodrome H, does H contain a translated and rotated copy of P ? see Figure 4. Note that placements of P can be speci ed in terms of three parameters, two for the translation and one for the rotation. Let FP R3 denote the set of placements of P at which P lies inside H. Using Davenport{Schinzel sequences [254], Agarwal and Sharir showed that the complexity of FP is O(n22 (n)), and that it can be computed in time O(n22 (n) log n). By exploiting various geometric and combinatorial properties of FP and using some elegant results from combinatorial geometry, Efrat and Sharir [110] showed that the complexity of FP is only O(n log n), and that one can determine in time O(n1+") whether FP 6= ;. Plugging this into the parametric searching technique, one obtains an O(n1+")-time solution to the segment-center problem. e r H P Figure 4: The segment-center problem 7.5 Other facility-location problems Besides the problems discussed above, several other variants of the facility-location problem have been studied. For example, Hershberger [147] described an O(n2= log log n)-time Geometric Optimization April 1, 1998 Proximity Problems 27 algorithm for partitioning a given set S of n points into two subsets so that the sum of their diameters is minimized. If we want to minimize the maximum of the two diameters, the running time can be improved to O(n logn) [149]. Glozman et al. [131] have studied problems of covering S by several di erent kinds of shapes. Maass [195] showed that the problem of covering S with the minimum number of unit-width annuli is NP-Hard even for d = 1 (a unit-width annulus in 1-dimension is a union of two unit-length intervals), and Hochbaum and Maass [153] gave an approximation algorithm for covering points with annuli. There has been some work on hierarchical clustering [115, 274] and on dynamic algorithms for clustering [52, 57]. 8 Proximity Problems 8.1 Diameter in 3-space Given a set S of n points in R3 , we wish to compute the diameter of S, that is, the maximum distance between any two points of S. The decision procedure here is to determine, for a given radius r, whether the intersection of the balls of radius r centered at the points of S contains S. The intersection of congruent balls in R3 has linear complexity [139, 146], therefore it is natural to ask whether the intersection of n congruent balls can be computed in O(n logn) time. (Checking whether all points of S lie in the intersection can then be performed in additional O(n logn) time, using straightforward point-location techniques.) Clarkson and Shor [73] gave a very simple O(n log n) expected-time randomized algorithm (which is worst-case optimal) for computing the intersection, and then used a randomized prune-and-search algorithm, summarized in Figure 5, to compute the diameter of S. function procedure DIAMETER (S); choose a random point p 2 S; q = a farthest neighbor of p; compute I = Tp02S B(p0; (p; q)) S1 = S n I if S1 = ; then return d(p; q) else return DIAMETER (S1) Figure 5: A randomized algorithm for computing the diameter in 3D. The correctness of the above algorithm is easy to check. The only nontrivial step in the above algorithm is computing I and S1. If is the Euclidean metric, I can be computed in O(jSj log jSj) expected time, using the ball-intersection algorithm. S1 can then be computed in additionalO(jSj log jSj) time, using any optimal planar point-location algorithm (see, e.g., [244]). Hence, each recursive step of the algorithm takes O(jSj log jSj) expected time. Since Geometric Optimization April 1, 1998 Proximity Problems 28 p is chosen randomly, jS1j 2jSj=3 with high probability, which implies that the expected running time of the overall algorithm is O(n log n). It was a challenging open problem whether an O(n log n)-time deterministic algorithm can be developed for computing the intersection of n congruent balls in 3-space. This has been answered in the a rmative by Amato et al. [34], following a series of near-linear time but weaker deterministic algorithms [60, 206, 237]. Amato et al. derandomized the Clarkson-Shor algorithm, using several sophisticated techniques.3 Their algorithm yields an O(n log3 n)-time algorithm for computing the diameter. Recently Ramos [236] obtained an O(n log2 n)-time algorithm for computing the diameter. Obtaining an optimal O(n log n)time deterministic algorithm for computing the diameter in 3-space still remains elusive. 8.2 Closest line pair Given a set L of n lines in R3 , we wish to compute a closest pair of lines in L. Let d(L;L0) denote the Euclidean distance between the closest pair of lines in L L0, for two disjoint sets L;L0 of lines. Two algorithms for this problem, both based on parametric searching, were given independently by Chazelle et al. [60] and by Pellegrini [232]; both algorithms run in O(n8=5+") time. Using Pl ucker coordinates [62, 258] and range-searching data structures, the algorithms construct, in O(n8=5+") time, a family of pairs f(L1; L01); : : : ; (Lk; L0k)g, so that every line in Li lies below (in the z-direction) all the lines of L0i and d(L;L0) = min1 i k d(Li; L0i). Hence, it su ces to compute a closest pair in Li L0i, for each i k, which can be done using parametric searching. The decision procedure is: For a given real number r, determine whether d(Li; L0i) r, for each i k. Since lines in 3-space have four degrees of freedom, each of these subproblems can be transformed to the following point-location problem in R4 : Given a set S of n points in R4 (representing the lines in Li) and a set of m surfaces, each being the graph of an algebraic trivariate function of constant degree (each surface is the locus of lines in R3 that pass above a line of L0i at distance r from it), determine whether every point in S lies below all the surfaces of . It is shown in [60] that this point-location problem can be solved in time O(n4=5+"m4=5+"), which implies an O(n8=5+")-time algorithm for computing d(L;L0). Agarwal and Sharir [15] have shown that d(Li; L0i) can be computed in O(n3=4+"m3=4+") expected time, by replacing parametric searching with randomization and by exploiting certain geometric properties that the surfaces in possess. Roughly speaking, this is accomplished by generalizing the Clarkson-Shor algorithm for computing the diameter, described in Figure 5. However, this algorithm does not improve the running time for computing d(L;L0), because we still need O(n8=5+") time for constructing the pairs (Li; L0i). If we are interested in computing a pair of lines with the minimum vertical distance, the running time can be improved to O(n4=3+") [232]. 3An earlier attempt by Br onnimann et al. [50] to derandomize Clarkson-Shor algorithm had an error. Geometric Optimization April 1, 1998 Proximity Problems 29 8.3 Distance between polytopes We wish to compute the Euclidean distance d(P1;P2) between two given convex polytopes P1 and P2 in Rd . If the polytopes intersect, then this distance is 0. If they do not intersect, then this distance equals the maximum distance between two parallel hyperplanes separating the polytopes; such a pair of hyperplanes is unique, and they are orthogonal to the segment connecting two points a 2 P1 and b 2 P2 with d(a; b) = d(P1;P2). It is shown by Gartner [129] that this problem is LP-type, with combinatorial dimension at most d + 2 (or d + 1, if the polytopes do not intersect). It is also shown there that the primitive operations can be performed with expected eO(pd) arithmetic operations. Hence, the problem can be solved by the general LP-type algorithm, whose expected number of arithmetic operations is O(d2n) + eO(pd log d), where n is the total number of facets in P1 and P2. For d = 2, the maximum and the minimum distance between two convex polygons can be computed in O(logn) time, assuming that the vertices of each Pi are stored in an array, sorted in a clockwise order [107]. 8.4 Selecting distances Let S be a set of n points in the plane, and let 1 k n2 be an integer. We wish to compute the k-th smallest distance between a pair of points of S. This can be done using parametric searching. The decision problem is to compute, for a given real r, the sum Pp2S jDr(p) \ (S fpg)j, where Dr(p) is the closed disk of radius r centered at p. (This sum is twice the number of pairs of points of S at distance r.) Agarwal et al. [5] gave an O(n4=3 log4=3 n) expected-time randomized algorithm for the decision problem, using the random-sampling technique of [73], which yields an O(n4=3 log8=3 n) expected-time algorithm for the distanceselection problem. Goodrich [135] derandomized this algorithm, at a cost of an additional polylogarithmic factor in the running time. Katz and Sharir [179] obtained an expanderbased O(n4=3 log3+" n)-time (deterministic) algorithm for this problem. See also [243]. 8.5 Shape matching Let P and Q be two polygons with m and n edges, respectively. The problem is to measure the resemblance between P and Q, that is, to determine how well can a copy of P t Q, if we allow P to translate or to both translate and rotate. The Hausdor distance is one of the common ways of measuring resemblance between two ( xed) sets P and Q [162]; it is de ned as H(P;Q) = max fmax a2P min b2Q d(a; b); max a2Q min b2P d(a; b)g ; where d( ; ) is the Euclidean distance. If we allow P to translate only, then we want to compute minv H(P+v;Q). The problem Geometric Optimization April 1, 1998 Proximity Problems 30 has been solved by Agarwal et al. [19], using parametric searching, in O((mn)2 log3(mn)) time, which is signi cantly faster than the previously best known algorithm by Alt et al. [33]. If P and Q are nite sets of points, a more e cient solution, not based on parametric searching, is proposed by Huttenlocher et al. [163]. Their solution, however, does not apply to the case of polygons. If we measure distance by the L1-metric, faster algorithms, based on parametric searching, are developed in [54, 64, 66]. If we allow P to translate and rotate, then computing the minimum Hausdor distance becomes signi cantly harder. Chew et al. [65] have given an O(m2n2 log3mn)-time algorithm when both P and Q are nite point sets, and an O(m3n2 log3mn)-time algorithm when P and Q are polygons. Another way of measuring the resemblance between two polygons P and Q is by computing the area of their intersection (or, rather, of their symmetric di erence). Suppose we wish to minimize the area of the symmetric di erence between P and Q, under translation of P . For this case, de Berg et al. [86] gave an O(n logn)-time algorithm, using the prune-and-search paradigm. Their algorithm can be extended to higher dimensions at a polylogarithmic cost, using parametric searching. 8.6 Surface simpli cation A generic surface-simpli cation problem is de ned as follows: Given a polyhedral object P in R3 and an error parameter " > 0, compute a polyhedral approximation of P with the minimum number of vertices, so that the maximum distance between P and is at most ". There are several ways of de ning the maximum distance between P and , depending on the application. We will refer to an object that lies within " distance from P as an "-approximation of P . Surface simpli cation is a central problem in graphics, geographic information systems, scienti c computing, and visualization. One way of solving the problem is to run a binary search on the number of vertices of the approximating surface. We then need to solve the decision problem of determining whether there exists an "-approximation with at most k vertices, for some given k. Unfortunately, this problem is NP-Hard [21], so one seeks e cient techniques for computing an "-approximation of size (number of vertices) close to kOPT, where kOPT is the minimum size of an "-approximation. Although several ad-hoc algorithms have been developed for computing an "-approximation [87, 88, 158, 159, 196], none of them guarantees any reasonable bound on the size of the output, and many of them do not even ensure that the maximum distance between the input and the output surface is indeed at most ". There has been some recent progress on developing polynomial-time approximation algorithms for computing "-approximations in some special cases. The simplest, but nevertheless an interesting, special case is when P is a convex polytope (containing the origin). In this case we wish to compute another convex polytope Q with the Geometric Optimization April 1, 1998 Proximity Problems 31 minimum number of vertices so that (1 ")P Q (1+")P (or so that P Q (1+")P ). We can thus pose a more general problem: Given two convex polytopes P1 P2 in R3 , compute a convex polytope Q with the minimum number of vertices such that P1 Q P2. Das and Joseph [83] have attempted to prove that this problem is NP-Hard, but their proof contains an error, and it still remains an open problem. Mitchell and Suri [224] have shown that there exists a nested polytope Q with at most 3kOPT vertices, whose vertices are a subset of the vertices of P2. The problem can now be formulated as a hitting-set problem, and, using a greedy approach, they presented an O(n3)-time algorithm for computing a nested polytope with O(kOPT log n) vertices. Clarkson [70] showed that the randomized technique described in Section 5 can compute a nested polytope with O(kOPT log kOPT) vertices in O(n logc n) expected-time, for some constant c > 0. Bronnimann and Goodrich [51] extended Clarkson's algorithm to obtain a polynomial-time, deterministic algorithm that constructs a nested polytope with O(kOPT) vertices. A widely studied special case of surface simpli cation, motivated by applications in geographic information systems and scienti c computing, is when P is a polyhedral terrain (i.e., the graph of a continuous piecewise-linear bivariate function). In most of the applications, P is represented as a nite set of n points, sampled from the input surface, and the goal is to compute a polyhedral terrain Q with the minimum number of vertices, such that the vertical distance between any point of P and Q is at most ". Agarwal and Suri [21] showed that this problem is NP-Hard. They also gave a polynomial-time algorithm for computing an "-approximation of size O(kOPT log kOPT), by reducing the problem to a geometric set-cover problem, but the running time of their algorithm is O(n8), which is rather high. Agarwal and Desiken [6] have shown that Clarkson's randomized algorithm can be extended to compute a polyhedral terrain of size O(k2 OPT log2 kOPT) in expected time O(n2+ + k3 OPT log3 kOPT). The survey paper by Heckbert and Garland [144] summarizes most of the known results on terrain simpli cation. Instead of xing " and minimizing the size of the approximating surface, we can x the size and ask for the best approximation. That is, given a polyhedral surface P and an integer k, compute an approximating surface Q that has at most k vertices, whose distance from P is the smallest possible. Very little is known about this problem, except in the plane. Goodrich [136] showed that, given a set S of n points in the plane, an x-monotone polygonal chain Q with at most k vertices that minimizes the maximum vertical distance between Q and the points of S can be computed in time O(n logn). His algorithm is based on the parametric-searching technique and uses Cole's improvement of parametric searching. (See [136] for other related work on this problem.) If the vertices of Q are required to be a subset of S, the best known algorithm is by Varadarajan [267]; it is based on parametric searching, and its running time is O(n4=3+"). Geometric Optimization April 1, 1998 Statistical Estimators and Related Problems 32 9 Statistical Estimators and Related Problems 9.1 Plane tting Given a set S of n points in R3 , we wish to t a plane h through S so that the maximum distance between h and the points of S is minimized. This is the same problem as computing the width of S (the smallest distance between a pair of parallel supporting planes of S), which is considerably harder than the two-dimensional variant mentioned in Section 7.2. Houle and Toussaint [161] gave an O(n2)-time algorithm for computing the width in R3 . This can be improved using parametric searching. The decision procedure is to determine, for a given distance w, whether the convex hull of S has two antipodal edges, such that the two parallel planes containing these edges are supporting planes of S and lie at distance w. (One also needs to consider pairs of parallel planes, one containing a facet of conv(S) and the other passing through a vertex. However, it is easy to test all these pairs in O(n log n) time.) The major technical issue here is to avoid having to test quadratically many pairs of antipodal edges, which may exist in the worst case. Chazelle et al. [60] gave an algorithm that is based on parametric searching and runs in time O(n8=5+") (see [2] for an improved bound). They reduced the width problem to the problem of computing a closest pair between two sets L;L0 of lines in R3 (each line containing an edge of the convex hull of S), such that each line in L lies below all the lines of L0. The fact that this latter problem now has an improved O(n3=2+") expected-time solution [15] implies that the width can be computed in expected time O(n3=2+"). See [187, 205, 259, 260, 268] for other results on hyperplane tting. 9.2 Circle tting Given a set S of n points in the plane, we wish to t a circle C through S so that the maximum distance between the points of S and C is minimized. This is equivalent to nding an annulus of minimum width that contains S. Ebara et al. [105] observed that the center of a minimum-width annulus is either a vertex of the closest-point Voronoi diagram of S, or a vertex of the farthest-point Voronoi diagram, or an intersection point of a pair of edges of the two diagrams. Based on this observation, they obtained a quadratic-time algorithm. Using parametric searching, Agarwal et al. [19] have shown that the center of the minimum-width annulus can be found without checking all of the O(n2) candidate intersection points explicitly; their algorithm runs in O(n8=5+") time; see also [2] for an improved solution. Using randomization and an improved analysis, the expected running time has been improved to O(n3=2+") by Agarwal and Sharir [15]. Finding an annulus of minimum area that contains S is a simpler problem, since it can be formulated as an instance of linear programming in R4 , and can thus be solved in O(n) time [213]. Recently, researchers have studied the problem of tting a circle of a given radius through S so that the maximum distance between S and the circle is minimized. This problem is considerably Geometric Optimization April 1, 1998 Statistical Estimators and Related Problems 33 simpler and can be solved in O(n log n) time [85, 98]. In certain metrology applications [156, 242, 269], one wants to t a circle C through S so that the sum of distances between C and the points of S is minimized. No algorithm is known for computing an exact solution, though several numerical techniques have been proposed; see [43, 188, 262]. See [128, 189, 220, 261] for other variants of the circletting problem and for some special cases. 9.3 Cylinder tting Given a set S of n points in R3 , we wish to nd a cylinder of smallest radius that contains S. Using parametric searching, the decision problem in this case can be rephrased as: Given a set B of n balls of a xed radius r in R3 , determine whether there exists a line that intersects all the balls of B (the balls are centered at the points of S and the line is the symmetry axis of a cylinder of radius r that contains S). Agarwal and Matou sek [10] showed that nding such a line can be reduced to computing the convex hull of a set of n points in R9 , which, combined with parametric searching, leads to an O(n4 logO(1) n)-time algorithm for nding a smallest cylinder enclosing S; see e.g. [245]. The bound has recently been improved by Agarwal et al. [3] to O(n3+"), by showing that the combinatorial complexity of the space of all lines that intersect all the balls of B is O(n3+"), and by designing a di erent algorithm, also based on parametric searching, whose decision procedure calculates this space of lines and determines whether it is nonempty. Faster algorithms have been developed for some special cases [122, 245]. Agarwal et al. [3] also gave an O(n= 2)-time algorithm to compute a cylinder of radius (1 + )r containing all the points of S, where r is the radius of the smallest cylinder enclosing S. Note that this problem is di erent from those considered in the two previous subsections. The problem analogous to those studied above would be to nd a cylindrical shell (a region enclosed between two concentric cylinders) of smallest width (di erence between the radii of the cylinders), which contains a given point set S. This problem is considerably harder, and no solution for it that improves upon the naive brute-force technique is known. 9.4 Center points Given a set S of n points in the plane, we wish to compute a center point 2 R2 , such that any halfplane containing also contains at least bn=3c points of S. It is a known consequence of Helly's Theorem that always exists [108]. In a dual setting, let L be the set of lines dual to the points in S, and let K1;K2 be the convex hulls of the bn=3c and b2n=3c levels of the arrangement A(L), respectively.4 The dual of a center point of S is a 4The level of a point p with respect to A(L) is the number of lines lying strictly below p. The k-level of A(L) is the closure of the set of edges of A(L) whose level is k (the level is xed over an edge of A(L)); each k-level is an x-monotone connected polygonal chain. Geometric Optimization April 1, 1998 Statistical Estimators and Related Problems 34 line separating K1 and K2. This implies that the set of center points is a convex polygon with at most 2n edges. Cole et al. [78] gave an O(n log3 n)-time algorithm for computing a center point, using multi-dimensional parametric searching. Using the prune-and-search paradigm, Matou sek [198] obtained an O(n log3 n)-time algorithm for computingK1 andK2, which in turn yields the set of all center points. Recently, Jadhav and Mukhopadhyay [168] gave a linear-time algorithm for computing a center point, using a direct and elegant technique. Near-quadratic algorithms for computing a center point in three dimensions were developed in [78, 228]. Clarkson et al. [72] gave an e cient algorithm for computing an approximate center point in Rd . 9.5 Ham-sandwich cuts Let S1; : : : ; Sd be d ( nite) point sets in Rd . A ham-sandwich cut is a hyperplane h such that each of the two open halfspaces bounded by h contains at most bjSij=2c points of Si, for each 1 i d. The ham-sandwich theorem (see, e.g., [108]) guarantees the existence of such a cut. For d = 2, there is always a ham-sandwich cut whose dual is an intersection point of the median levels of A(L1) and A(L2), where Li is the set of lines dual to the points in Si, for i = 1; 2. It can be shown that the number of intersection points between the median levels of A(L1) and of A(L2) is always odd. Several prune-and-search algorithms have been proposed for computing a ham-sandwich cut in the plane. Megiddo [214] gave a linear-time algorithm for the special case in which S1 and S2 are linearly separable. Modifying this algorithm, Edelsbrunner and Waupotitsch [109] gave an O(n log n)-time algorithm when S1 and S2 are not necessarily linearly separable. A linear-time, recursive algorithm for this general case is given by Lo and Steiger [193]. It works as follows. At each level of recursion, the algorithm maintains two sets of lines, R and B, and two integers p; q, such that any intersection point between Kp R, the p-level of A(R), and Kq B , the q-level of A(B), is dual to a ham-sandwich cut of the original sets; moreover, the number of such intersections is guaranteed to be odd. The goal is to compute an intersection point of Kp R and Kq B . Initially R and B are the sets of lines dual to S1 and S2, and p = bjS1j=2c, q = bjS2j=2c. Let r be a su ciently large constant. One then computes a (1=r)-cutting of R [ B. At least one of the triangles of contains an odd number of intersection points of the levels. By computing the intersection points of the edges of with R [ B, such a triangle can be found in linear time. Let R R and B B be the subsets of lines in R and B, respectively, that intersect , and let p0 (resp. q0) be the number of lines in R (resp. B) that lie below . We then solve the problem recursively for R and B with the respective levels p = p p0 and q = q q0. It easily follows that the p -level of A(R ) and the q -level of A(B ) intersect at an odd number of points. Since jR j+ jB j = O(n=r), the total running time of the algorithm is O(n). Lo et Geometric Optimization April 1, 1998 Placement and Intersection 35 al. [192] extend this approach to R3 , and obtain an O(n3=2)-time algorithm for computing ham-sandwich cuts in three dimensions. 10 Placement and Intersection 10.1 Intersection of polyhedra Given a set P = fP1; : : : ; Pmg of m convex polyhedra in Rd , with a total of n facets, is their common intersection I = Tmi=1 Pi nonempty? Of course, this is an instance of linear programming in Rd with n constraints, but the goal is to obtain faster algorithms that depend on m more signi cantly than they depend on n. Reichling [238] presented an O(m log2 n)-time prune-and-search algorithm for d = 2. His algorithm maintains a vertical strip W bounded by two vertical lines bl; br, such that I W . Let k be the total number of vertices of all the Pi's lying inside W . If k m log n, the algorithm explicitly computes I \W in O(m log2 n) time. Otherwise, it nds a vertical line ` insideW such that bothW+ and W contain at least k=4 vertices, where W+ (resp. W ) is the portion of W lying to the right (resp. to the left) of `. By running a binary search on each Pi, one can determine whether ` intersects Pi and, if so, obtain the top and bottom edges of Pi intersecting `. This allows us to compute the intersection I \ ` as the intersection of m intervals, in O(m) time. If this intersection is nonempty, we stop, since we have found a point in I. Otherwise, if one of the polygons of P lies fully to the right (resp. to the left) of `, then I cannot lie in W (resp. in W+); if one polygon lies fully in W and another lies fully in W+, then clearly I = ;. Finally, if ` intersects all the Pi's, but their intersection along ` is empty, then, following the same technique as in Megiddo's two-dimensional linear-programming algorithm [211], one can determine, in additional O(m) time, which of W+;W can be asserted not to contain I. Hence, if the algorithm has not stopped, it needs to recurse in only one of the slabs W+, W . Since the algorithm prunes a fraction of the vertices in each stage, it terminates after O(log n) stages, from which the asserted running time follows easily. Reichling [239] and Eppstein [113] extended this approach to d = 3, but their approaches do not extend to higher dimensions. However, if we have a comparison-based data structure that can determine in O(log n) time whether a query point lies in a speci ed Pi, then, using multi-dimensional parametric searching, we can determine in O(m logO(1) n) time whether I 6= ;. 10.2 Polygon placement Let P be a convex m-gon, and let Q be a closed planar polygonal environment with n edges. We wish to compute the largest similar copy of P (under translation, rotation, and scaling) that can be placed inside Q. Using generalized Delaunay triangulation induced by P within Q, Chew and Kedem [67] obtained an O(m4n22 (n) log n)-time algorithm. Faster Geometric Optimization April 1, 1998 Placement and Intersection 36 algorithms have been developed using parametric searching [4, 255]. The decision problem in this case can be de ned as follows: Given a convex polygon B with m edges (a scaled copy of P ) and a planar polygonal environment Q with n edges, can B be placed inside Q (allowing translation and rotation)? Each placement of B can be represented as a point in R3 , using two coordinates for translation and one for rotation. Let FP denote the resulting three-dimensional space of all free placements of B inside Q. Leven and Sharir [191] have shown that the complexity of FP is O(mn 6(mn)), where s(n) is the maximum length of a Davenport{Schinzel sequence of order s composed of n symbols [254] (it is almost linear in n for any xed s). Sharir and Toledo [255] gave an O(m2n 6(mn) logmn)-time algorithm to determine whether FP 6= ; | they rst compute a superset of the vertices of FP , in O(mn 6(mn) logmn) time, and then spend O(m log n) time for each of these vertices to determine whether the corresponding placement of B is free, using a standard triangle range-searching data structure. Recently, Agarwal et al. [4] gave an O(mn 6(mn) logmn) expected-time randomized algorithm to compute FP . Plugging these algorithms into the parametric searching machinery, one can obtain an O(m2n 6(mn) log3mn log logmn)-time deterministic algorithm, or an O(mn 6(mn) log4mn) expected-time randomized algorithm, for computing a largest similar placement of P inside Q. Faster algorithms are known for computing a largest placement of P inside Q in some special cases. If both P and Q are convex, then a largest similar copy of P inside Q can be computed in time O(mn2 log n) [1]; if P is not allowed to rotate, then the running time is O(m+ n log2 n) [263]. The biggest-stick problem is another interesting special case of the largest-placement problem; here Q is a simple polygon and P is a line segment. In this case, we are interested in nding the longest segment that can be placed inside Q. This problem can be solved using a divide-and-conquer algorithm, developed in [19], and later re ned in [2, 15]. It proceeds as follows: Partition Q into two simple polygons Q1; Q2 by a diagonal ` so that each of Q1 and Q2 has at most 2n=3 vertices. Recursively compute the longest segment that can be placed in each Qi, and then determine the longest segment that can be placed in Q and that intersects the diagonal `. The decision algorithm for the merge step is to determine whether there exists a placement of a line segment of length w that lies inside Q and crosses `. Agarwal et al. [19] have shown that this problem can be reduced to the following: We are given a set S of points and a set of algebraic surfaces in R4 , where each surface is the graph of a trivariate function, and we wish to determine whether every point of S lies below all the surfaces of . Agarwal and Sharir [15] gave a randomized algorithm with O(n3=2+") expected running time for this point-location problem. Using randomization, instead of parametric searching, they obtained an O(n3=2+") expected-time procedure for the overall merge step ( nding the biggest stick that crosses `). The total running time of the algorithm is therefore also O(n3=2+"). Finding a longest segment inside Q whose endpoints are vertices of Q is a simpler problem, and can be solved by a linear-time algorithm due to Hershberger and Suri [151]. Geometric Optimization April 1, 1998 Query-Type Problems 37 10.3 Collision detection Let P and Q be two (possibly nonconvex) polyhedra in R3 . P is assumed to be xed and Q to move along a given trajectory . The goal is to determine the rst position on , if any, at which Q intersects P . This problem can be solved using parametric searching. Suppose, for example, that Q is only allowed to translate along a line. Then the decision problem is to determine whether Q intersects P as it translates along a segment e in R3 . Let Qe = Q e be the Minkowski sum of Q and e. Then Q intersects P as it translates along e if and only if Qe intersects P . This intersection problem can be solved in O(n8=5+") time, using simplex range-searching data structures [231, 246]. Plugging this into the parametric searching machinery, we can compute, in O(n8=5+") time, the rst intersection of Q with P as Q moves along a line. If Q rotates around a xed axis `, then the decision problem is to determine whether Q intersects P as it rotates by a given angle from its initial position. In this case, each edge of Q sweeps a section of a hyperboloid. Schomer and Thiel [246] have shown that, using a standard linearization technique (as described in [10, 273]), the intersection-detection problem can be formulated as an instance of simplex range searching in R5 , and can be solved in time O(n8=5+"). Plugging this algorithm into the parametric searching technique, we can also compute the rst intersection in time O(n8=5+"). Gupta et al. [140] have studied various collision-detection problems for a set of moving points in the plane. For example, they give an O(n5=3 log6=5 n)-time algorithm for determining whether a collision occurs in a set of points, each moving in the plane along a line with constant velocity. 11 Query-Type Problems Parametric searching has also been successfully applied in designing e cient data structures for a number of query-type problems. In this section we discuss a few of these problems, including ray shooting and linear optimization queries. 11.1 Ray shooting The general ray-shooting problem can be de ned as follows. Preprocess a given set S of objects in Rd (usually d = 2 or 3), so that the rst object hit by a query ray can be computed e ciently. The ray-shooting problem arises in computer graphics, visualization, and in many other geometric problems [9, 10, 11, 233]. The connection between ray shooting and parametric searching was observed by Agarwal and Matou sek [9]. Here the decision problem is to determine, for a speci ed point on the query ray , whether the initial segment s of intersects any object in S (where s is the origin of ). Hence, we need to Geometric Optimization April 1, 1998 Query-Type Problems 38 execute generically, in the parametric-searching style, an appropriate intersection-detection query procedure on the segment s , where is the (unknown) rst intersection point of and the objects in S. Based on this technique, several e cient ray-shooting data structures have been developed [2, 9, 16, 17]. We illustrate this technique by giving a simple example. Let S be a set of n lines in the plane, and let S be the set of points dual to the lines of S. A segment e intersects a line of S if and only if the double-wedge e dual to e contains a point of S . Hence, a segment intersection-detection query for S can be answered by preprocessing S into a triangle (or a wedge) range-searching structure; see, e.g., [200, 201]. Roughly speaking, we construct a partition tree T on S as follows. We x a su ciently large constant r. If jS j 2r, T consists of a single node storing S . Otherwise, using a result of Matou sek [200], we construct, in O(n) time, a family of pairs = f(S 1 ; 1); : : : ; (S u; u)g such that (i) S 1 ; : : : ; S u form a partition of S , (ii) n=r jS i j 2n=r for each i, (iii) each i is a triangle containing S i , and (iv) every line intersects at most cpr triangles i of , for some absolute constant c (independent of r). We recursively construct a partition tree Ti on each S i , and attach it as the i-th subtree of T . The root of Ti stores the simplex i. The total size of T is linear, and the time spent in constructing T is O(n log n). Let e be a query segment, and let e be its dual double wedge. To determine whether e intersects any line of S (that is, whether e contains any point of S ), we traverse T in a top-down fashion, starting from the root. Let v be a node visited by the algorithm. If v is a leaf, we explicitly check whether any point of S v lies in the double wedge e . Suppose then that v is an internal node. If v e , then clearly e \S 6= ;, and we stop. If v \ e = ;, then we stop processing v and do not visit any of its children. If @e intersects v, we recursively visit all the children of v. Let Q(nv) denote the number of nodes in the subtree rooted at v visited by the query procedure (nv is the size of S v). By construction, a line intersects at most cpr triangles of v (the partition constructed at v), so @e intersects at most 2cpr triangles of v. Hence, we obtain the following recurrence: Q(nv) 2cprQ(2nv=r) +O(r): The solution of the above recurrence is O(n1=2+"), for any " > 0, provided r is chosen su ciently large (as a function of "). Since the height of T is O(logn), we can answer a query in O(log n) parallel time, using O(n1=2+") processors, by visiting the nodes of the same level in parallel. Returning to the task of answering a ray-shooting query, let be a query ray with origin s, and let be the (unknown) rst intersection point of with a line of S. We compute by running the parallel version of the segment intersection-detection procedure generically, in the parametric searching style, on the segment = s . At each node v that the query procedure visits, it tests whether v or v\@ 6= ;. Since is the only indeterminant in these tests, the tests reduce to determining, for each vertex p of v, whether p lies above, below, or on the line dual to ; see Figure 6. Let p be the intersection point of the dual line p and the line containing ; and set p = s p. By determining whether the segment p Geometric Optimization April 1, 1998 Query-Type Problems 39 s p p p s p Figure 6: A ray-shooting query intersects a line of S, we can determine whether p lies above or below . Hence, using this parametric searching approach, a ray-shooting query can be answered in O(n1=2+") time. Several other ray-shooting data structures based on this technique have been developed in [2, 9, 10, 11, 225, 233]. 11.2 Linear-optimization queries We wish to preprocess a setH of halfspaces in Rd into a linear-size data structure so that, for a linear objective function c, we can e ciently compute the vertex of TH that minimizes c. Using multi-dimensional parametric searching and data structures for answering halfspaceemptiness queries, Matou sek [201] presented an e cient algorithm for answering linearoptimization queries. A slightly faster randomized algorithm has recently been proposed by Chan [55]. Linear-optimization queries can be used to answer many other queries. For example, using Matou sek's technique and a dynamic data structure for halfspace range searching, the 1-center of a set S of points in Rd can be maintained dynamically, as points are inserted into or deleted from S. See [7, 11, 201] for additional applications of multidimensional parametric searching for query-type problems. 11.3 Extremal placement queries Let S be a set of n points in Rd . We wish to preprocess S into a data structure so that queries of the following form can be answered e ciently: Let (t), for t 2 R, be a family of simplices so that (t1) (t2), for any t1 t2, and such that for any t, (t) can be computed in O(1) time. The goal is to compute the largest value t = tmax for which the interior of (tmax) does not contain any point of S. For example, let be a xed simplex and let (t) = t be the simplex obtained by scaling by a factor of t. We thus want to nd the largest dilated copy of that does not contain any point of S. As another Geometric Optimization April 1, 1998 Discussion 40 `1 `2 t (t) Figure 7: An extremal-placement query example, let `1; `2 be two lines, and let m be a constant. De ne (t) to be the triangle formed by `1; `2, and the line with slope m and at distance t from the intersection point `1 \ `2; see Figure 7. These problems arise in many applications, including hidden surface removal [233] and Euclidean shortest paths [221]. By preprocessing S into a simplex range-searching data structure, we can determine whether (t0) \ S = ;, for any given t0, and then plug this query procedure into the parametric searching machinery, thereby obtaining the desired tmax. The best-known data structure for simplex range searching can answer a query in time O(m=n1=d logd+1 n), using O(m) space, so an extremal placement query can be answered in time O(m=n1=d log2(d+1) n). 12 Discussion In this survey we have reviewed several techniques for geometric optimization, and discussed many geometric problems that bene t from these techniques. There are, of course, quite a few non-geometric parametric optimization problems that can also be solved e ciently using these techniques. For example, parametric searching has been applied to develop e cient algorithm for the following problems: (i) let G be a directed graph, in which the weight of each edge e is a d-variate linear function we(x), and let s and t be two vertices in G, nd the point x 2 Rd , so that the maximum ow from s to t is maximized over all points x 2 Rd [74]; (ii) compute the minimum edit distance between two given sequences, where the cost of performing an insertion, deletion, and substitution is a univariate linear function [141]. This survey mosly reviewed theoretical results in geometric optimization. Many of the algorithms discussed here are relatively simple and are widely used in practice, but some of the algorithms, especially those which involve computing the roots of polynomials of degree Geometric Optimization April 1, 1998 References 41 greater than four, are quite sophisticated and have little practical value. Much work has been done on developing heuristics for clustering [27, 170, 180] shape analysis [117, 137, 164], surface simpli cation [75, 157, 194], and ray tracing [120, 223, 272]. There are several other geometric optimization problems that are not discussed here. We conclude by mentioning two classes of such problems. The rst one is the optimal motion- planning problem, where we are given a moving robot B, an environment with obstacles, and two placements of the robot, and we want to compute an \optimal" collision-free path for B between the given placements. The cost of a path depends on B and on the application. In the simplest case, B is point robot, O is a set of polygonal obstacles in the plane or polyhedral obstacles in 3-space, and the cost of a path is its Euclidean length. We then face the Euclidean shortest-path problem, which has been studied intensively in the past decade; see [53, 150, 240]. The problem becomes much harder if B is not a point, because even the notion of optimality is not well de ned. See [222] for an excellent survey on this topic. The second class of problems that we want to mention can be called geometric graph problems. Given a set S of points in Rd , we can de ne a weighted complete graph in- duced by S, where the weight of an edge (p; q) is the distance between p and q under some suitable metric (two of the most commonly used metrics are the Euclidean and the recti- linear metrics). We can now pose many optimization problems on this graph, including the Euclidean traveling salesperson, Euclidean matching, Euclidean (rectilinear) Steiner trees, and minimum weight triangulation. Although all these problems can be solved using tech- niques known for general graphs, the hope is that better and/or simpler algorithms can be developed by exploiting the geometry of the problem. There have been several signi cant developments on geometric graph problems over the last few years, of which the most ex- citing is an n logO(1=") n-time (1 + ")-approximation algorithm for the Euclidean traveling salesperson problem [38]; see also [38, 39]. We refer the reader to [44] for a survey on approximation algorithms for such geometric optimization problems. References [1] P. K. Agarwal, N. Amenta, and M. Sharir, Placement of one convex polygon inside another, Discrete Comput. Geom., 19 (1998), 95{104. [2] P. K. Agarwal, B. Aronov, and M. Sharir, Computing envelopes in four dimensions with applications, SIAM J. Comput., 26 (1997), 1714{1732. [3] P. K. Agarwal, B. Aronov, and M. Sharir, Line traversals of balls and smallest enclosing cylin- ders in three dimensions, Proc. 8th ACM-SIAM Sympos. Discrete Algorithms, 1997, pp. 483{ 492. [4] P. K. Agarwal, B. Aronov, and M. Sharir, Motion planning for a convex polygon in a polygonal Geometric Optimization April 1, 1998 References 42 environment, Tech. Report CS-1997-17, Department of Computer Science, Duke University, 1997. [5] P. K. Agarwal, B. Aronov, M. Sharir, and S. Suri, Selecting distances in the plane, Algorith- mica, 9 (1993), 495{514. [6] P. K. Agarwal and P. K. Desikan, An approximation algorithm for terrain simpli cation, Proc. 8th ACM-SIAM Sympos. Discrete Algorithms, 1997, pp. 139{147. [7] P. K. Agarwal, A. Efrat, and M. Sharir, Vertical decomposition of shallow levels in 3- dimensional arrangements and its applications, Proc. 11th Annu. ACM Sympos. Comput. Geom., 1995, pp. 39{50. [8] P. K. Agarwal, A. Efrat, M. Sharir, and S. Toledo, Computing a segment center for a planar point set, J. Algorithms, 15 (1993), 314{323. [9] P. K. Agarwal and J. Matou sek, Ray shooting and parametric search, SIAM J. Comput., 22 (1993), 794{806. [10] P. K. Agarwal and J. Matou sek, On range searching with semialgebraic sets, Discrete Comput. Geom., 11 (1994), 393{418. [11] P. K. Agarwal and J. Matou sek, Dynamic half-space range reporting and its applications, Algorithmica, 13 (1995), 325{345. [12] P. K. Agarwal and C. M. Procopiuc, Exact and approximation algortihms for clustering, Proc. 9th ACM-SIAM Sympos. Discrete Algorithms, 1998, pp. 658{667. [13] P. K. Agarwal and M. Sharir, O -line dynamic maintenance of the width of a planar point set, Comput. Geom. Theory Appl., 1 (1991), 65{78. [14] P. K. Agarwal and M. Sharir, Planar geometric location problems, Algorithmica, 11 (1994), 185{195. [15] P. K. Agarwal and M. Sharir, E cient randomized algorithms for some geometric optimization problems, Discrete Comput. Geom., 16 (1996), 317{337. [16] P. K. Agarwal and M. Sharir, Ray shooting amidst convex polygons in 2D, J. Algorithms, 21 (1996), 508{519. [17] P. K. Agarwal and M. Sharir, Ray shooting amidst convex polyhedra and polyhedral terrains in three dimensions, SIAM J. Comput., 25 (1996), 100{116. [18] P. K. Agarwal, M. Sharir, and S. Toledo, An e cient multi-dimensional searching technique and its applications, Tech. Report CS-1993-20, Dept. Comp. Sci., Duke University, 1993. [19] P. K. Agarwal, M. Sharir, and S. Toledo, Applications of parametric searching in geometric optimization, J. Algorithms, 17 (1994), 292{318. [20] P. K. Agarwal, M. Sharir, and E. Welzl, The discrete 2-center problem, Proc. 13th Annu. ACM Sympos. Comput. Geom., 1997, pp. 147{155. Geometric Optimization April 1, 1998 References 43 [21] P. K. Agarwal and S. Suri, Surface approximation and geometric partitions, Proc. 5th ACM- SIAM Sympos. Discrete Algorithms, 1994, pp. 24{33. [22] R. Agarwala and D. Fern andez-Baca, Weighted multidimensional search and its applications to convex optimization, SIAM J. Comput., 25 (1996), 83{99. [23] A. Aggarwal and M. M. Klawe, Applications of generalized matrix searching to geometric algorithms, Discrete Appl. Math., 27 (1987), 3{23. [24] A. Aggarwal, M. M. Klawe, S. Moran, P. Shor, and R. Wilber, Geometric applications of a matrix-searching algorithm, Algorithmica, 2 (1987), 195{208. [25] A. Aggarwal, D. Kravets, J. K. Park, and S. Sen, Parallel searching in generalized Monge ar- rays with applications, Proc. 2nd ACM Sympos. Parallel Algorithms Architect., 1990, pp. 259{ 268. [26] A. Aggarwal and J. Park, Notes on searching in multidimensional monotone arrays, Proc. 29th Annu. IEEE Sympos. Found. Comput. Sci., 1988, pp. 497{512. [27] R. Agrawal, J. Gehrke, D. Gunopulos, and P. Raghavan, Automatic subspace clustering of high dimensional data for data mining applications, Proc. ACM SIGMOD Conf. on Management of Data, 1998. To appear. [28] R. Agrawal, A. Ghosh, T. Imielinski, B. Iyer, and A. Swami, An interval classi er for database mining applications, Proceedings of the 18th Conference on Very Large Databases, Morgan Kau man, August 1992. [29] M. Ajtai, J. Koml os, and E. Szemer edi, Sorting in c logn parallel steps, Combinatorica, 3 (1983), 1{19. [30] M. Ajtai and N. Megiddo, A deterministic poly(log logn)-time n-processor algorithm for linear programming in xed dimension, SIAM J. Comput., 25 (1996), 1171{1195. [31] N. Alon and N. Megiddo, Parallel linear programming in xed dimension almost surely in constant time, Proc. 31st Annu. IEEE Sympos. Found. Comput. Sci., 1990, pp. 574{582. [32] N. Alon and J. Spencer, The Probabilistic Method, J. Wiley and Sons, New York, NY, 1993. [33] H. Alt, B. Behrends, and J. Bl omer, Approximate matching of polygonal shapes, Ann. Math. Artif. Intell., 13 (1995), 251{266. [34] N. M. Amato, M. T. Goodrich, and E. A. Ramos, Parallel algorithms for higher-dimensional convex hulls, Proc. 35th Annu. IEEE Sympos. Found. Comput. Sci., 1994, pp. 683{694. [35] N. Amenta, Bounded boxes, Hausdor distance, and a new proof of an interesting Helly theorem, Proc. 10th Annu. ACM Sympos. Comput. Geom., 1994, pp. 340{347. [36] N. Amenta, Helly-type theorems and generalized linear programming, Discrete Comput. Geom., 12 (1994), 241{261. [37] D. S. Arnon, G. E. Collins, and S. McCallum, Cylindrical algebraic decomposition I: The basic algorithm, SIAM J. Comput., 13 (1984), 865{877. Geometric Optimization April 1, 1998 References 44 [38] S. Arora, Polynomial time approximation schemes for Euclidean TSP and other geometric problems, Proc. 37th Annu. IEEE Sympos. Found. Comput. Sci., 1996, pp. 2{11. [39] S. Arora, Nearly linear time approximation schemes for Euclidean TSP and other geometric problems, Proc. 38th Annu. IEEE Sympos. Found. Comput. Sci., 1997, pp. 554{563. [40] S. Arora, P. Raghavan, and S. Rao, Approximation schemes for Euclidean k-median and related problems, Proc. 30th Annu. ACM Sympos. Theory Comput., 1998, p. to appear. [41] J. Bar-Ilan, G. Kortsarz, and D. Peleg, How to allocate network centers, J. Algorithms, 15 (1993), 385{415. [42] R. Bar-Yehuda, A. Efrat, and A. Itai, A simple algorithm for maintaining the center of a planar point-set, Proc. 5th Canad. Conf. Comput. Geom., 1993, pp. 252{257. [43] M. Berman, Large sample bias in least squares estimators of a circular arc center and its radius, Comput. Vision Graph. Image Process., 45 (1989), 126{128. [44] M. Bern and D. Eppstein, Approximation algorithms for geometric problems, in: Approxima- tion Algorithms for NP-Hard Problems (D. S. Hochbaum, ed.), PWS Publishing Company, Boston, MA, 1997, pp. 296{345. [45] B. Bhattacharya, J. Czyzowicz, P. Egyed, G. Toussaint, I. Stojmenovi c, and J. Urrutia, Com- puting shortest transversals of sets, Proc. 7th Annu. ACM Sympos. Comput. Geom., 1991, pp. 71{80. [46] B. Bhattacharya and G. Toussaint, Computing shortest transversals, Computing, 46 (1991), 93{119. [47] B. K. Bhattacharya, S. Jadhav, A. Mukhopadhyay, and J.-M. Robert, Optimal algorithms for some smallest intersection radius problems, Proc. 7th Annu. ACM Sympos. Comput. Geom., 1991, pp. 81{88. [48] T. Brinkho and H.-P. Kriegel, The impact of global clusterings on spatial database systems, Proceedings of the International Conference on Very Large Databases, Morgan Kau man, September 1994. [49] H. Br onnimann and B. Chazelle, Optimal slope selection via cuttings, Proc. 6th Canad. Conf. Comput. Geom., 1994, pp. 99{103. [50] H. Br onnimann, B. Chazelle, and J. Matou sek, Product range spaces, sensitive sampling, and derandomization, Proc. 34th Annu. IEEE Sympos. Found. Comput. Sci., 1993, pp. 400{409. [51] H. Br onnimann and M. T. Goodrich, Almost optimal set covers in nite VC-dimension, Dis- crete Comput. Geom., 14 (1995), 263{279. [52] F. Can, Incremental clustering for dynamic information retrieval, ACM Trans. Inform. Proc. Systems, 11 (1993), 143{164. [53] J. Canny and J. H. Reif, New lower bound techniques for robot motion planning problems, Proc. 28th Annu. IEEE Sympos. Found. Comput. Sci., 1987, pp. 49{60. Geometric Optimization April 1, 1998 References 45 [54] T. Chan, Geometric applications of a randomized optimization technique, To appear in Proc. 14th ACM Symp. Comput. Geom., 1998. [55] T. M. Chan, Fixed-dimensional linear programming queries made easy, Proc. 12th Annu. ACM Sympos. Comput. Geom., 1996, pp. 284{290. [56] R. Chandrasekaran and A. Tamir, Algebraic optimization: the Fermat-Weber location prob- lem, Math. Program., 46 (1990), 219{224. [57] M. Charikar, C. Chekuri, T. Feder, and R. Motwani, Incremental clustering and dynamic information retrieval, Proc. 29th Annu. ACM Sympos. Theory Comput., 1997, pp. 626{635. [58] B. Chazelle, Cutting hyperplanes for divide-and-conquer, Discrete Comput. Geom., 9 (1993), 145{158. [59] B. Chazelle, H. Edelsbrunner, L. J. Guibas, and M. Sharir, A singly-exponential strati cation scheme for real semi-algebraic varieties and its applications, Theoret. Comput. Sci., 84 (1991), 77{105. [60] B. Chazelle, H. Edelsbrunner, L. J. Guibas, and M. Sharir, Diameter, width, closest line pair and parametric searching, Discrete Comput. Geom., 10 (1993), 183{196. [61] B. Chazelle, H. Edelsbrunner, L. J. Guibas, and M. Sharir, Algorithms for bichromatic line segment problems and polyhedral terrains, Algorithmica, 11 (1994), 116{132. [62] B. Chazelle, H. Edelsbrunner, L. J. Guibas, M. Sharir, and J. Stol , Lines in space: Combi- natorics and algorithms, Algorithmica, 15 (1996), 428{447. [63] B. Chazelle and J. Matou sek, On linear-time deterministic algorithms for optimization prob- lems in xed dimension, J. Algorithms, 21 (1996), 579{597. [64] L. P. Chew, D. Dor, A. Efrat, and K. Kedem, Geometric pattern matching in d-dimensional space, Proc. 2nd Annu. European Sympos. Algorithms, Lecture Notes Comput. Sci., Vol. 979, Springer-Verlag, 1995, pp. 264{279. [65] L. P. Chew, M. T. Goodrich, D. P. Huttenlocher, K. Kedem, J. M. Kleinberg, and D. Kravets, Geometric pattern matching under Euclidean motion, Comput. Geom. Theory Appl., 7 (1997), 113{124. [66] L. P. Chew and K. Kedem, Improvements on geometric pattern matching problems, Proc. 3rd Scand. Workshop Algorithm Theory, Lecture Notes Comput. Sci., Vol. 621, Springer-Verlag, 1992, pp. 318{325. [67] L. P. Chew and K. Kedem, A convex polygon among polygonal obstacles: Placement and high-clearance motion, Comput. Geom. Theory Appl., 3 (1993), 59{89. [68] K. L. Clarkson, Linear programming in O(n3d2) time, Inform. Process. Lett., 22 (1986), 21{24. [69] K. L. Clarkson, Randomized geometric algorithms, in: Computing in Euclidean Geometry (D.-Z. Du and F. K. Hwang, eds.), World Scienti c, Singapore, 1992, pp. 117{162. Geometric Optimization April 1, 1998 References 46 [70] K. L. Clarkson, Algorithms for polytope covering and approximation, Proc. 3rd Workshop Algorithms Data Struct., Lecture Notes Comput. Sci., Vol. 709, Springer-Verlag, 1993, pp. 246{ 252. [71] K. L. Clarkson, Las Vegas algorithms for linear and integer programming, J. ACM, 42 (1995), 488{499. [72] K. L. Clarkson, D. Eppstein, G. L. Miller, C. Sturtivant, and S.-H. Teng, Approximating center points with iterative Radon points, Internat. J. Comput. Geom. Appl., 6 (1996), 357{ 377. [73] K. L. Clarkson and P. W. Shor, Applications of random sampling in computational geometry, II, Discrete Comput. Geom., 4 (1989), 387{421. [74] E. Cohen and N. Megiddo, Maximizing concave functions in xed dimension, in: Complexity in Numeric Computation (P. Pardalos, ed.), World Scienti c, Singapore, 1993. [75] J. Cohen, A. Varshney, D. Manocha, G. Turk, H. Weber, P. Agarwal, F. P. Brooks, Jr., and W. V. Wright, Simpli cation envelopes, Proceedings of SIGGRAPH '96 (New Orleans, LA, August 4{9, 1996), Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, ACM Press, August 1996, pp. 119{128. [76] R. Cole, Slowing down sorting networks to obtain faster sorting algorithms, J. ACM, 34 (1987), 200{208. [77] R. Cole, J. Salowe, W. Steiger, and E. Szemer edi, An optimal-time algorithm for slope selec- tion, SIAM J. Comput., 18 (1989), 792{810. [78] R. Cole, M. Sharir, and C. K. Yap, On k-hulls and related problems, SIAM J. Comput., 16 (1987), 61{77. [79] G. E. Collins, Quanti er elimination for real closed elds by cylindrical algebraic decomposi- tion, in: Proc. 2nd GI Conference on Automata Theory and Formal Languages, Lecture Notes Comput. Sci., Vol. 33, Springer-Verlag, Berlin, West Germany, 1975, pp. 134{183. [80] D. R. Cutting, D. R. Karger, and J. O. Pedersen, Constant interaction-time scatter/gather browsing of very large document collections, Proc. 16th Annu. Internat. ACM SIGIR Conf. Research and Develop. in Inform. Retrieval, 1993, pp. 126{134. [81] D. R. Cutting, D. R. Karger, J. O. Pedersen, and J. W. Tukey, Scatter/gather: A cluster- based approach to browsing large document collections, Proc. 16th Annu. Internat. ACM SIGIR Conf. Research and Develop. in Inform. Retrieval, 1992, pp. 318{329. [82] L. Danzer, B. Gr unbaum, and V. Klee, Helly's theorem and its relatives, in: Convexity, Proc. Symp. Pure Math., Vol. 7, American Mathematical Society, Providence, 1963, pp. 101{180. [83] G. Das and D. Joseph, The complexity of minimum convex nested polyhedra, Proc. 2nd Canad. Conf. Comput. Geom., 1990, pp. 296{301. [84] A. Datta, H.-P. Lenhof, C. Schwarz, and M. Smid, Static and dynamic algorithms for k-point clustering problems, J. Algorithms, 19 (1995), 474{503. Geometric Optimization April 1, 1998 References 47 [85] M. de Berg, J. Bose, D. Bremner, S. Ramaswami, and G. Wilfong, Computing constrained minimum-width annuli of point sets, Proc. 5th Workshop Algorithms Data Struct., Lecture Notes Comput. Sci., Vol. 1272, Springer-Verlag, 1997, pp. 3{16. [86] M. de Berg, O. Devillers, M. van Kreveld, O. Schwarzkopf, and M. Teillaud, Computing the maximum overlap of two convex polygons under translation, Proc. 7th Annu. Internat. Sympos. Algorithms Comput., 1996. [87] L. De Floriani, A graph based approach to object feature recognition, Proc. 3rd Annu. ACM Sympos. Comput. Geom., 1987, pp. 100{109. [88] M. J. DeHaemer, Jr. and M. J. Zyda, Simpli cation of objects rendered by polygonal approx- imations, Computers & Graphics, 15 (1991), 175{184. [89] X. Deng, An optimal parallel algorithm for linear programming in the plane, Inform. Process. Lett., 35 (1990), 213{217. [90] M. B. Dillencourt, D. M. Mount, and N. S. Netanyahu, A randomized algorithm for slope selection, Internat. J. Comput. Geom. Appl., 2 (1992), 1{27. [91] Z. Drezner, On a modi ed 1-center problem, Manage. Sci., 27 (1981), 838{851. [92] Z. Drezner, The p-centre problems | Heuristic and optimal algorithms, J. Oper. Res. Soc., 35 (1984), 741{748. [93] Z. Drezner, The planar two-center and two-median problem, Transp. Sci., 18 (1984), 351{361. [94] Z. Drezner, On the rectangular p-center problem, Naval Res. Logist. Q., 34 (1987), 229{234. [95] Z. Drezner, Conditional p-centre problems, Transp. Sci., 23 (1989), 51{53. [96] Z. Drezner, ed., Facility Location, Springer-Verlag, New York, 1995. [97] Z. Drezner, A. Mehrez, and G. O. Wesolowsky, The facility location problems with limited distances, Transp. Sci., 25 (1992), 183{187. [98] C. A. Duncan, M. T. Goodrich, and E. A. Ramos, E cient approximation and optimization algorithms for computational metrology, Proc. 8th ACM-SIAM Sympos. Discrete Algorithms, 1997, pp. 121{130. [99] M. E. Dyer, Linear time algorithms for twoand three-variable linear programs, SIAM J. Comput., 13 (1984), 31{45. [100] M. E. Dyer, On a multidimensional search technique and its application to the Euclidean one-centre problem, SIAM J. Comput., 15 (1986), 725{738. [101] M. E. Dyer, A class of convex programs with applications to computational geometry, Proc. 8th Annu. ACM Sympos. Comput. Geom., 1992, pp. 9{15. [102] M. E. Dyer, A parallel algorithm for linear programming in xed dimension, Proc. 11th Annu. ACM Sympos. Comput. Geom., 1995, pp. 345{349. Geometric Optimization April 1, 1998 References 48 [103] M. E. Dyer and A. M. Frieze, A simple heuristic for the p-centre problem, Oper. Res. Lett., 3 (1985), 285{288. [104] M. E. Dyer and A. M. Frieze, A randomized algorithm for xed-dimension linear programming, Math. Program., 44 (1989), 203{212. [105] H. Ebara, N. Fukuyama, H. Nakano, and Y. Nakanishi, Roundness algorithms using the Voronoi diagrams, Abstracts 1st Canad. Conf. Comput. Geom., 1989, p. 41. [106] J. Eckho , Helly, Radon and Carath eodory type theorems, in: Handbook of Convex Geometry, North-Holland, 1993, pp. 389{448. [107] H. Edelsbrunner, Computing the extreme distances between two convex polygons, J. Algo- rithms, 6 (1985), 213{224. [108] H. Edelsbrunner, Algorithms in Combinatorial Geometry, Springer-Verlag, Heidelberg, 1987. [109] H. Edelsbrunner and R. Waupotitsch, Computing a ham-sandwich cut in two dimensions, J. Symbolic Comput., 2 (1986), 171{178. [110] A. Efrat and M. Sharir, A near-linear algorithm for the planar segment center problem, Discrete Comput. Geom., 16 (1996), 239{257. [111] A. Efrat, M. Sharir, and A. Ziv, Computing the smallest k-enclosing circle and related prob- lems, Comput. Geom. Theory Appl., 4 (1994), 119{136. [112] M. Eisner and D. Severance, Mathematical techniques for e cient record segmentation in large shared databases, J. ACM, 23 (1976), 619{635. [113] D. Eppstein, Dynamic three-dimensional linear programming, ORSA J. Comput., 4 (1992), 360{368. [114] D. Eppstein, Faster construction of planar two-centers, Proc. 8th ACM-SIAM Sympos. Dis- crete Algorithms, 1997. [115] D. Eppstein, Fast hierarchical clustering and other applications of dynamic closest pairs, Proc. 9th Annu. ACM-SIAM Sympos. Discrete Algorithms, 1998, pp. 619{628. [116] D. Eppstein and J. Erickson, Iterated nearest neighbors and nding minimal polytopes, Dis- crete Comput. Geom., 11 (1994), 321{350. [117] W. Eric and L. Grimson, Object Recognition by Computer: The Role of Geometric Constraints, MIT Press, Cambridge, MA, 1990. [118] T. Feder and D. H. Greene, Optimal algorithms for approximate clustering, Proc. 20th Annu. ACM Sympos. Theory Comput., 1988, pp. 434{444. [119] P. Finn, L. Kavraki, J.-C. Latombe, R. Motwani, C. Shelton, S. Venkatasubramanian, and A. Yao, Rapid: randomized pharmacophore identi cation for drug design, Proc. 13th Annu. ACM Sympos. Comput. Geom., 1997, pp. 324{333. [120] J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes, Computer Graphics: Principles and Practice, Addison-Wesley, Reading, MA, 1990. Geometric Optimization April 1, 1998 References 49 [121] F. Follert, E. Sch omer, and J. Sellen, Subquadratic algorithms for the weighted maximin facility location problem, Proc. 7th Canad. Conf. Comput. Geom., 1995, pp. 1{6. [122] F. Follert, E. Sch omer, J. Sellen, M. Smid, and C. Thiel, Computing a largest empty anchored cylinder, and related problems, Proc. 15th Conf. Found. Softw. Tech. Theoret. Comput. Sci., Lecture Notes Comput. Sci., Vol. 1026, Springer-Verlag, 1995, pp. 428{442. [123] R. J. Fowler, M. S. Paterson, and S. L. Tanimoto, Optimal packing and covering in the plane are NP-complete, Inform. Process. Lett., 12 (1981), 133{137. [124] G. N. Frederickson, Optimal algorithms for tree partitioning, Proc. 2nd ACM-SIAM Symp. Discr. Algo., 1991, pp. 168{177. [125] G. N. Frederickson and D. B. Johnson, The complexity of selection and ranking in X+Y and matrices with sorted rows and columns, J. Comput. Syst. Sci., 24 (1982), 197{208. [126] G. N. Frederickson and D. B. Johnson, Finding kth paths and p-centers by generating and searching good data structures, J. Algorithms, 4 (1983), 61{80. [127] G. N. Frederickson and D. B. Johnson, Generalized selection and ranking: sorted matrices, SIAM J. Comput., 13 (1984), 14{30. [128] J. Garc ia-Lopez and P. Ramos, Fitting a set of points by a circle, Proc. 13th Annu. ACM Sympos. Comput. Geom., 1997, pp. 139{146. [129] B. Gartner, A subexponential algorithm for abstract optimization problems, SIAM J. Com- put., 24 (1995), 1018{1035. [130] B. Gartner and E. Welzl, Linear programming { randomization and abstract frameworks, Proc. 13th Sympos. Theoret. Aspects Comput. Sci., Lecture Notes Comput. Sci., Vol. 1046, Springer-Verlag, 1996, pp. 669{687. [131] A. Glozman, K. Kedem, and G. Shpitalnik, On some geometric selection and optimization problems via sorted matrices, Proc. 4th Workshop Algorithms Data Struct., Lecture Notes Comput. Sci., Vol. 955, Springer-Verlag, 1995, pp. 26{37. [132] M. Goldwasser, A survey of linear programming in randomized subexponential time, SIGACT News, 26 (1995), 96{104. [133] T. Gonzalez, Clustering to minimize the maximum intercluster distance, Theoret. Comput. Sci., 38 (1985), 293{306. [134] T. Gonzalez, Covering a set of points in multidimensional space, Inform. Process. Lett., 40 (1991), 181{188. [135] M. T. Goodrich, Geometric partitioning made easier, even in parallel, Proc. 9th Annu. ACM Sympos. Comput. Geom., 1993, pp. 73{82. [136] M. T. Goodrich, E cient piecewise-linear function approximation using the uniform metric, Discrete Comput. Geom., 14 (1995), 445{462. Geometric Optimization April 1, 1998 References 50 [137] M. T. Goodrich, J. S. B. Mitchell, and M. W. Orletsky, Practical methods for approximate geometric pattern matching under rigid motion, Proc. 10th Annu. ACM Sympos. Comput. Geom., 1994, pp. 103{112. [138] M. T. Goodrich and E. A. Ramos, Bounded-independence derandomization of geometric parti- tioning with applications to parallel xed-dimensional linear programming, Discrete Comput. Geom., 18 (1997). 397{420. [139] B. Gr unbaum, A proof of V azsonyi's conjecture, Bull. Research Council Israel, Section A, 6 (1956), 77{78. [140] P. Gupta, R. Janardan, and M. Smid, Fast algorithms for collision and proximity prob- lems involving moving geometric objects, Report MPI-I-94-113, Max-Planck-Institut Inform., Saarbr ucken, Germany, 1994. [141] D. Gus eld, K. Balasubramanian, and D. Naor, Parametric optimization of sequence align- ment, Algorithmica, 12 (1994), 312{326. [142] K.-A. Han and S.-H. Myaeng, Image organization and retrieval with automatically constructed feature vectors, Proc. 16th Annu. Internat. ACM SIGIR Conf. Research and Develop. in Inform. Retrieval (H.-P. Frei, D. Harman, P. Sch auble, and R. Wilkinson, eds.), ACM Press, August 1996, pp. 157{165. [143] R. Hassin and N. Megiddo, Approximation algorithms for hitting objects by straight lines, Discrete Appl. Math., 30 (1991), 29{42. [144] P. S. Heckbert and M. Garland, Fast polygonal approximation of terrains and height elds, Report CMU-CS-95-181, Carnegie Mellon University, 1995. [145] E. Helly, Uber Systeme von abgeschlossenen Mengen mit gemeinschaftlichen Punkten, Monaths. Math. und Physik, 37 (1930), 281{302. [146] A. Heppes, Beweis einer Vermutung von A. V azsonyi, Acta Math. Acad. Sci. Hungar., 7 (1956), 463{466. [147] J. Hershberger, Minimizing the sum of diameters e ciently, Comput. Geom. Theory Appl., 2 (1992), 111{118. [148] J. Hershberger, A faster algorithm for the two-center decision problem, Inform. Process. Lett., 47 (1993), 23{29. [149] J. Hershberger and S. Suri, Finding tailored partitions, J. Algorithms, 12 (1991), 431{463. [150] J. Hershberger and S. Suri, E cient computation of Euclidean shortest paths in the plane, Proc. 34th Annu. IEEE Sympos. Found. Comput. Sci., 1993, pp. 508{517. [151] J. Hershberger and S. Suri, Matrix searching with the shortest path metric, Proc. 25th Annu. ACM Sympos. Theory Comput., 1993, pp. 485{494. [152] D. S. Hochbaum and W. Maas, Approximation schemes for covering and packing problems in image processing and VLSI, J. ACM, 32 (1985), 130{136. Geometric Optimization April 1, 1998 References 51 [153] D. S. Hochbaum and W. Maass, Fast approximation algorithms for a nonconvex covering problem, J. Algorithms, 8 (1987), 305{323. [154] D. S. Hochbaum and D. Shmoys, A best possible heuristic for the k-center problem, Math. Oper. Res., 10 (1985), 180{184. [155] D. S. Hochbaum and D. Shmoys, A uni ed approach to approximation algorithms for bottle- neck problems, J. ACM, 33 (1986), 533{550. [156] R. J. Hocken, J. Raja, and U. Babu, Sampling issues in coordinate metrology, Manufacturing Review, 6 (1993), 282{294. [157] H. Hoppe, View-dependent re nement of progressive meshes, Proc. SIGGRAPH '97, Com- puter Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, ACM Press, Au- gust 1997, pp. 189{198. [158] H. Hoppe, T. DeRose, T. Duchamp, M. Halstead, H. Jin, J. McDonald, J. Schweitzer, and W. Stuetzle, Piecewise smooth surface reconstruction, Proc. SIGGRAPH 94, 1994, pp. 295{ 302. [159] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle, Mesh optimization, Proc. SIGGRAPH '93, 1993, pp. 19{26. [160] M. E. Houle, H. Imai, K. Imai, and J.-M. Robert, Weighted orthogonal linear L1- approximation and applications, Proc. 1st Workshop Algorithms Data Struct., Lecture Notes Comput. Sci., Vol. 382, Springer-Verlag, 1989, pp. 183{191. [161] M. E. Houle and G. T. Toussaint, Computing the width of a set, IEEE Trans. Pattern Anal. Mach. Intell., PAMI-10 (1988), 761{765. [162] D. P. Huttenlocher and K. Kedem, Computing the minimum Hausdor distance for point sets under translation, Proc. 6th Annu. ACM Sympos. Comput. Geom., 1990, pp. 340{349. [163] D. P. Huttenlocher, K. Kedem, and M. Sharir, The upper envelope of Voronoi surfaces and its applications, Discrete Comput. Geom., 9 (1993), 267{291. [164] D. P. Huttenlocher, G. A. Klanderman, and W. J. Rucklidge, Comparing images using the Hausdor distance, IEEE Trans. Pattern Analysis and Machine Intell., 15 (1993), 850{863. [165] R. Z. Hwang, R. C. Chang, and R. C. T. Lee, The generalized searching over separators strategy to solve some NP-Hard problems in subexponential time, Algorithmica, 9 (1993), 398{423. [166] R. Z. Hwang, R. C. T. Lee, and R. C. Chang, The slab dividing approach to solve the Euclidean p-center problem, Algorithmica, 9 (1993), 1{22. [167] H. Imai, D. Lee, and C. Yang, 1-segment center covering problems, ORSA J. Comput., 4 (1992), 426{434. [168] S. Jadhav and A. Mukhopadhyay, Computing a centerpoint of a nite planar set of points in linear time, Discrete Comput. Geom., 12 (1994), 291{312. Geometric Optimization April 1, 1998 References 52 [169] S. Jadhav, A. Mukhopadhyay, and B. Bhattacharya, An optimal algorithm for the intersection radius of a set of convex polygons, J. Algorithms, 20 (1996), 244{267. [170] A. K. Jain and R. C. Dubes, Algorithms for Clustering Data, Prentice-Hall, Englewood Cli s, NJ, 1988. [171] J. W. Jaromczyk and M. Kowaluk, An e cient algorithm for the Euclidean two-center prob- lem, Proc. 10th Annu. ACM Sympos. Comput. Geom., 1994, pp. 303{311. [172] J. W. Jaromczyk and M. Kowaluk, A geometric proof of the combinatorial bounds for the number of optimal solutions to the 2-center Euclidean problem, Proc. 7th Canad. Conf. Com- put. Geom., 1995, pp. 19{24. [173] J. W. Jaromczyk and M. Kowaluk, The two-line center problem from a polar view: A new algorithm and data structure, Proc. 4th Workshop Algorithms Data Struct., Lecture Notes Comput. Sci., Vol. 955, Springer-Verlag, 1995, pp. 13{25. [174] G. Kalai, A subexponential randomized simplex algorithm, Proc. 24th Annu. ACM Sympos. Theory Comput., 1992, pp. 475{482. [175] N. Karmarkar, A new polynomial-time algorithm for linear programming, Combinatorica, 4 (1984), 373{395. [176] M. J. Katz, Improved algorithms in geometric optimization via expanders, Proc. 3rd Israel Symposium on Theory of Computing and Systems, 1995, pp. 78{87. [177] M. J. Katz and F. Nielsen, On piercing sets of objects, Proc. 12th Annu. ACM Sympos. Comput. Geom., 1996, pp. 113{121. [178] M. J. Katz and M. Sharir, Optimal slope selection via expanders, Inform. Process. Lett., 47 (1993), 115{122. [179] M. J. Katz and M. Sharir, An expander-based approach to geometric optimization, SIAM J. Comput., 26 (1997), 1384{1408. [180] L. Kaufman and P. J. Rousseeuw, Finding Groups in Data: An Introduction to Cluster Anal- ysis, John Wiley & Sons, 1990. [181] L. G. Khachiyan, Polynomial algorithm in linear programming, U.S.S.R. Comput. Math. and Math. Phys., 20 (1980), 53{72. [182] S. Khuller and Y. J. Sussmann, The capacitated k-center problem, Proc. 4th Annu. European Sympos. Algorithms, Lecture Notes Comput. Sci., Vol. 1136, Springer-Verlag, 1996, pp. 152{ 166. [183] D. E. Knuth, Sorting and Searching, Addison-Wesley, Reading, MA, 1973. [184] M. T. Ko and Y. T. Ching, Linear time algorithms for the weighted tailored 2-partition problem and the weighted rectilinear 2-center problem under L1-distance, Discrete Appl. Math., 40 (1992), 397{410. [185] M. T. Ko and R. C. T. Lee, On weighted rectilinear 2-center and 3-center problems, Inform. Sci., 54 (1991), 169{190. Geometric Optimization April 1, 1998 References 53 [186] M. T. Ko, R. C. T. Lee, and J. S. Chang, An optimal approximation algorithm for the rectilinear m-center problem, Algorithmica, 5 (1990), 341{352. [187] N. M. Korneenko and H. Martini, Hyperplane approximation and related topics, in: New Trends in Discrete and Computational Geometry (J. Pach, ed.), Algorithms and Combina- torics, Vol. 10, Springer-Verlag, Heidelberg, 1993, pp. 135{161. [188] U. M. Landau, Estimation of circular arc and its radius, Comput. Vision Graph. Image Pro- cess., 38 (1987), 317{326. [189] V. B. Le and D. T. Lee, Out-of-roundness problem revisited, IEEE Trans. Pattern Anal. Mach. Intell., PAMI-13 (1991), 217{223. [190] D. T. Lee and Y. F. Wu, Geometric complexity of some location problems, Algorithmica, 1 (1986), 193{211. [191] D. Leven and M. Sharir, On the number of critical free contacts of a convex polygonal object moving in two-dimensional polygonal space, Discrete Comput. Geom., 2 (1987), 255{270. [192] C.-Y. Lo, J. Matou sek, and W. L. Steiger, Algorithms for ham-sandwich cuts, Discrete Com- put. Geom., 11 (1994), 433{452. [193] C.-Y. Lo and W. Steiger, An optimal-time algorithm for ham-sandwich cuts in the plane, Proc. 2nd Canad. Conf. Comput. Geom., 1990, pp. 5{9. [194] D. Luebke and C. Erikson, View-dependent simpli cation of arbitrary polygonal environments, Proc. SIGGRAPH '97, Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, ACM Press, August 1997, pp. 199{208. [195] W. Maass, On the complexity of nonconvex covering, SIAM J. Comput., 15 (1986), 453{467. [196] P. Magillo and L. De Floriani, Maintaining multiple levels of detail in the overlay of hierarchical subdivisions, Proc. 8th Canad. Conf. Comput. Geom., 1996, pp. 190{195. [197] J. Makhoul, S. Roucos, and H. Gish, Vector quantization in speech coding, Proceedings of the IEEE, 73 (1985), 1551{1588. [198] J. Matou sek, Computing the center of planar point sets, in: Computational Geometry: papers from the DIMACS special year (J. E. Goodman, R. Pollack, and W. Steiger, eds.), American Mathematical Society, Providence, 1991, pp. 221{230. [199] J. Matou sek, Randomized optimal algorithm for slope selection, Inform. Process. Lett., 39 (1991), 183{187. [200] J. Matou sek, E cient partition trees, Discrete Comput. Geom., 8 (1992), 315{334. [201] J. Matou sek, Linear optimization queries, J. Algorithms, 14 (1993), 432{448. [202] J. Matou sek, Lower bound for a subexponential optimization algorithm, Random Structures & Algorithms, 5 (1994), 591{607. [203] J. Matou sek, On enclosing k points by a circle, Inform. Process. Lett., 53 (1995), 217{221. Geometric Optimization April 1, 1998 References 54 [204] J. Matou sek, On geometric optimization with few violated constraints, Discrete Comput. Geom., 14 (1995), 365{384. [205] J. Matou sek, D. M. Mount, and N. S. Netanyahu, E cient randomized algorithms for the repeated median line estimator, Proc. 4th ACM-SIAM Sympos. Discrete Algorithms, 1993, pp. 74{82. [206] J. Matou sek and O. Schwarzkopf, A deterministic algorithm for the three-dimensional diam- eter problem, Comput. Geom. Theory Appl., 6 (1996), 253{262. [207] J. Matou sek, M. Sharir, and E. Welzl, A subexponential bound for linear programming, Algorithmica, 16 (1996), 498{516. [208] C. Meghini, An image retrieval model based on classical logic, Proc. 16th Annu. Internat. ACM SIGIR Conf. Research and Develop. in Inform. Retrieval, 1995, pp. 300{308. [209] N. Megiddo, Combinatorial optimization with rational objective functions, Math. Oper. Res., 4 (1979), 414{424. [210] N. Megiddo, Applying parallel computation algorithms in the design of serial algorithms, J. ACM, 30 (1983), 852{865. [211] N. Megiddo, Linear-time algorithms for linear programming in R3 and related problems, SIAM J. Comput., 12 (1983), 759{776. [212] N. Megiddo, The weighted Euclidean 1-center problem, Math. Oper. Res., 8 (1983), 498{504. [213] N. Megiddo, Linear programming in linear time when the dimension is xed, J. ACM, 31 (1984), 114{127. [214] N. Megiddo, Partitioning with two lines in the plane, J. Algorithms, 6 (1985), 430{433. [215] N. Megiddo, On the ball spanned by balls, Discrete Comput. Geom., 4 (1989), 605{610. [216] N. Megiddo, On the complexity of some geometric problems in unbounded dimension, J. Symbolic Comput., 10 (1990), 327{334. [217] N. Megiddo and K. J. Supowit, On the complexity of some common geometric location prob- lems, SIAM J. Comput., 13 (1984), 182{196. [218] N. Megiddo and A. Tamir, On the complexity of locating linear facilities in the plane, Oper. Res. Lett., 1 (1982), 194{197. [219] N. Megiddo and E. Zemel, A randomized O(n logn) algorithm for the weighted Euclidean 1-center problem, J. Algorithms, 7 (1986), 358{368. [220] K. Mehlhorn, T. Shermer, and C. Yap, A complete roundness classi cation procedure, Proc. 13th Annu. ACM Sympos. Comput. Geom., 1997, pp. 129{138. [221] J. S. B. Mitchell, Shortest paths among obstacles in the plane, Proc. 9th Annu. ACM Sympos. Comput. Geom., 1993, pp. 308{317. Geometric Optimization April 1, 1998 References 55 [222] J. S. B. Mitchell, Shortest paths and networks, Technical Report, University at Stony Brook, 1996. [223] J. S. B. Mitchell, D. M. Mount, and S. Suri, Query-sensitive ray shooting, Proc. 10th Annu. ACM Sympos. Comput. Geom., 1994, pp. 359{368. [224] J. S. B. Mitchell and S. Suri, Separation and approximation of polyhedral objects, Comput. Geom. Theory Appl., 5 (1995), 95{114. [225] S. Mohaban and M. Sharir, Ray shooting amidst spheres in three dimensions and related problems, SIAM J. Comput., 26 (1997), 654{674. [226] R. Motwani and P. Raghavan, Randomized Algorithms, Cambridge University Press, New York, NY, 1995. [227] K. Mulmuley, Computational Geometry: An Introduction Through Randomized Algorithms, Prentice Hall, Englewood Cli s, NJ, 1994. [228] N. Naor and M. Sharir, Computing a point in the center of a point set in three dimensions, Proc. 2nd Canad. Conf. Comput. Geom., 1990, pp. 10{13. [229] C. H. Norton, S. A. Plotkin, and E. Tardos, Using separation algorithms in xed dimensions, J. Algorithms, 13 (1992), 79{98. [230] C. H. Papadimitriou, Worst-case and probabilistic analysis of a geometric location problem, SIAM J. Comput., 10 (1981), 542{557. [231] M. Pellegrini, Ray shooting on triangles in 3-space, Algorithmica, 9 (1993), 471{494. [232] M. Pellegrini, On collision-free placements of simplices and the closest pair of lines in 3-space, SIAM J. Comput., 23 (1994), 133{153. [233] M. Pellegrini, Repetitive hidden surface removal for polyhedra, J. Algorithms, 21 (1996), 80{101. [234] J. Plesnik, A heuristic for the p-center problem in graphs, Discr. Appl. Math., 17 (1987), 263{268. [235] M. J. Post, Minimum spanning ellipsoids, Proc. 16th Annu. ACM Sympos. Theory Comput., 1984, pp. 108{116. [236] E. Ramos, Construction of 1-d lower envelopes and applications, Proc. 13th Annu. ACM Sympos. Comput. Geom., 1997, pp. 57{66. [237] E. Ramos, Intersection of unit-balls and diameter of a point set in R3, Computat. Geom. Theory Appl., 8 (1997), 57{65. [238] M. Reichling, On the detection of a common intersection of k convex objects in the plane, Inform. Process. Lett., 29 (1988), 25{29. [239] M. Reichling, On the detection of a common intersection of k convex polyhedra, in: Computa- tional Geometry and its Applications, Lecture Notes Comput. Sci., Vol. 333, Springer-Verlag, 1988, pp. 180{186. Geometric Optimization April 1, 1998 References 56 [240] J. H. Reif and J. A. Storer, A single-exponential upper bound for nding shortest paths in three dimensions, J. ACM, 41 (1994), 1013{1019. [241] T. Roos and P. Widmayer, k-violation linear programming, Information Process. Letts., 52 (1994), 109{114. [242] U. Roy and X. Zhang, Establishment of a pair of concentric circles with the minimum radial separation for assessing roundness error, Comput. Aided Design, 24 (1992), 161{168. [243] J. Salowe, L1 interdistance selection by parametric search, Inform. Process. Lett., 30 (1989), 9{14. [244] N. Sarnak and R. E. Tarjan, Planar point location using persistent search trees, Commun. ACM, 29 (1986), 669{679. [245] E. Sch omer, J. Sellen, M. Teichmann, and C. Yap, E cient algorithms for the smallest en- closing cylinder problem, Proc. 8th Canad. Conf. Comput. Geom., 1996, pp. 264{269. [246] E. Sch omer and C. Thiel, E cient collision detection for moving polyhedra, Proc. 11th Annu. ACM Sympos. Comput. Geom., 1995, pp. 51{60. [247] P. Schroeter and J. Big un, Hierarchical image segmentation by multi-dimensional clustering and orientation-adaptive boundary re nement, Pattern Recognition., 28 (1995), 695{709. [248] R. Seidel, Small-dimensional linear programming and convex hulls made easy, Discrete Com- put. Geom., 6 (1991), 423{434. [249] R. Seidel, Backwards analysis of randomized geometric algorithms, in: New Trends in Discrete and Computational Geometry (J. Pach, ed.), Springer-Verlag, Heidelberg, Germany, 1993, pp. 37{68. [250] S. Sen, Parallel multidimensional search using approximation algorithms: with applications to linear-programming and related problems, Proc. 8th ACM Sympos. Paral. Algorithms and Architectures, 1996, pp. 251{260. [251] J. Shafer, R. Agrawal, and M. Mehta, Sprint: A scalable parallel classi er for data mining., Proceedings of the International Conference on Very Large Databases, Morgan Kau man, 1996. [252] L. Shafer and W. Steiger, Randomizing optimal geometric algorithms, Proc. 5th Canad. Conf. Comput. Geom., 1993, pp. 133{138. [253] M. Sharir, A near-linear algorithm for the planar 2-center problem, Discrete Comput. Geom., 18 (1997), 125{134. [254] M. Sharir and P. K. Agarwal, Davenport-Schinzel Sequences and Their Geometric Applica- tions, Cambridge University Press, New York, 1995. [255] M. Sharir and S. Toledo, Extremal polygon containment problems, Comput. Geom. Theory Appl., 4 (1994), 99{118. Geometric Optimization April 1, 1998 References 57 [256] M. Sharir and E. Welzl, A combinatorial bound for linear programming and related problems, Proc. 9th Sympos. Theoret. Aspects Comput. Sci., Lecture Notes Comput. Sci., Vol. 577, Springer-Verlag, 1992, pp. 569{579. [257] M. Sharir and E. Welzl, Rectilinear and polygonal p-piercing and p-center problems, Proc. 12th Annu. ACM Sympos. Comput. Geom., 1996, pp. 122{132. [258] D. M. Y. Sommerville, Analytical Geometry in Three Dimensions, Cambridge University Press, Cambridge, 1951. [259] A. Stein and M. Werman, Finding the repeated median regression line, Proc. 3rd ACM-SIAM Sympos. Discrete Algorithms, 1992, pp. 409{413. [260] A. Stein and M. Werman, Robust statistics in shape tting, Proc. IEEE Internat. Conf. Comput. Vision Pattern. Recogn., 1992, pp. 540{546. [261] K. Swanson, D. T. Lee, and V. L. Wu, An optimal algorithm for roundness determination on convex polygons, Comput. Geom. Theory Appl., 5 (1995), 225{235. [262] S. M. Thomas and Y. T. Chen, A simple approach for the estimation of circular arc and its radius, Comput. Vision Graph. Image Process., 45 (1989), 362{370. [263] S. Toledo, Extremal Polygon Containment Problems and Other Issues in Parametric Search- ing, M.S. Thesis, Dept. Comput. Sci., Tel Aviv Univ., Tel Aviv, 1991. [264] S. Toledo, Approximate parametric search, Inform. Process. Lett., 47 (1993), 1{4. [265] S. Toledo, Maximizing non-linear concave functions in xed dimension, in: Complexity in Numerical Computations (P. M. Pardalos, ed.), World Scienti c, Singapore, 1993, pp. 429{ 447. [266] L. Valiant, Parallelism in comparison problems, SIAM J. Comput., 4 (1975), 348{355. [267] K. R. Varadarajan, Approximating monotone polygonal curves using the uniform metric, Proc. 12th Annu. ACM Sympos. Comput. Geom., 1996, pp. 311{318. [268] K. R. Varadarajan and P. K. Agarwal, Linear approximation of simple objects, Proc. 7th Canad. Conf. Comput. Geom., 1995, pp. 13{18. [269] H. Voelcker, Current perspective on tolerancing and metrology, Manufacturing Review, 6 (1993), 258{268. [270] E. Welzl, Smallest enclosing disks (balls and ellipsoids), in: New Results and New Trends in Computer Science (H. Maurer, ed.), Lecture Notes Comput. Sci., Vol. 555, Springer-Verlag, 1991, pp. 359{370. [271] G. Wesolowsky, The Weber problem: History and perspective, Location Science, 1 (1993), 5{23. [272] K. Y. Whang, J. W. Song, J. W. Chang, J. Y. Kim, W. S. Cho, C. M. Park, and I. Y. Song, Octree-R: An adaptible octree for e cient ray tracing, IEEE Trans. Visual. and Comp. Graphics, 1 (1995), 343{349. Geometric Optimization April 1, 1998 Appendix: Multidimensional Parametric Searching 58 [273] A. C. Yao and F. F. Yao, A general approach to D-dimensional geometric queries, Proc. 17th Annu. ACM Sympos. Theory Comput., 1985, pp. 163{168. [274] P. N. Yianilos, Data structures and algorithms for nearest neighbor search in general metric spaces, Proc. 4th ACM-SIAM Sympos. Discrete Algorithms, 1993, pp. 311{321. [275] E. Zemel, A linear time randomizing algorithm for searching ranked functions, Algorithmica, 2 (1987), 81{90. Appendix: Multidimensional Parametric Searching In this appendix we describe how to extend the parametric searching technique to higher dimensions. Suppose we have a d-variate (strictly) concave function F ( ), where varies over Rd . We wish to compute the point 2 Rd at which F ( ) attains its maximum value. Let As be, as above, an algorithm that can compute F ( 0) for any given 0. As in the parametric searching, we assume that the control ow of As is governed by comparisons, each of which amounts to computing the sign of a d-variate polynomial p( ) of a constant maximum degree. We also need a few additional assumptions on As. We call a variable in As dynamic if its value depends on . The only operations allowed on dynamic variables are: (i) evaluating a polynomial p( ) of degree at most , where is a constant, and assigning the value to a dynamic variable, (ii) adding two dynamic variables, and (iii) multiplying a dynamic variable with a constant. These assumptions imply that if is indeterminant, then each dynamic variable is a polynomial in of degree at most ; and that F is a piecewise polynomial, each piece being a polynomial of degree at most . We run As generically at . Each comparison involving now amounts to evaluating the sign of a d-variate polynomial p( 1; : : : ; d) at . First consider the case where p is a linear function of the form a0 +P1 i d ai i, such that ad 6= 0. Consider the hyperplane h : d = (a0+Pd 1 i=1 ai i)=ad. It su ces to describe an algorithm for computing the point h 2 h such that F ( h) = max 2h F ( ). By invoking this algorithm on h and two other hyperplanes h"+ and h" , where h"+ : d = (a0 + "+ d 1 Xi=1 ai i)=ad and d = (a0 "+ d 1 Xi=1 ai i)=ad for some arbitrarily small constant ", we can determine whether 2 h, 2 h+, or 2 h , where h+ and h are the two open halfspaces bounded by h. (Technically, one can, and should, treat " as an in nitesimal quantity; see [213] for details. Also, a similar perturbation scheme works when ad = 0.) We solve the following more general problem: Let g be a kat in Rd contained in a (k + 1)at , and let g+ (resp. g ) be the halfspace of lying above (resp. below) g, relative to a direction in orthogonal to g. We wish to compute the point g 2 g such that F ( g) = max 2g F ( ). Denote by Geometric Optimization April 1, 1998 Appendix: Multidimensional Parametric Searching 59 A(k) s an algorithm for solving this problem. As above, by running A(k) s on g and on two in nitesimally shifted copies of g within , we can determine whether the point where F attains its maximum on lies in g, in g+, or in g . Notice that A0s = As, and that A(d 1) s is the algorithm for computing h. Inductively, assume that we have an algorithm A(k 1) s that can solve this problem for any (k 1)-dimensional at. We run As generically at g, where varies over g. Each comparison involves the determination of the side of a (k 1)at g0 g that contains g. Running A(k 1) s on g0 and on two other in nitesimally shifted copies, g0 "+ and g0 " , of g0 within g, we can perform the desired location of g with respect to g0, and thereby resolve the comparison. When the simulation of As terminates, g will be found. The total running time of the algorithmA(k) s isO(T k+1 s ). The details of this approach can be found in [18, 74, 201, 229]. If we also have a parallel algorithm Ap that evaluates F ( 0) in time Tp using P processors, then the running time of A(k) s can be improved, as in the one- dimensional case, by executing Ap generically at g in each recursive step. A parallel step, however, requires resolving P independent comparisons. The goal is therefore to resolve, by invoking A(k 1) s a constant number of times, a xed fraction of these P comparisons, where each comparison requires the location of g with respect to a (k 1)at g0 g. Cohen and Megiddo [74] developed such a procedure that yields a 2O(d2)Ts(Tp logP )d-time algo- rithm for computing ; see also [213]. Agarwala and Fern andez-Baca [22] extended Cole's improvement of Megiddo's parametric searching to multidimensional parametric searching, which improves the running time of the Cohen-Megiddo algorithm in some cases by a poly- logarithmic factor. Agarwal et al. [18] showed that these procedures can be simpli ed and improved, using (1=r)-cuttings, to dO(d)Ts(Tp logP )d. Toledo [265] extended the above approach to resolving the signs of nonlinear polynomi- als, using Collins's cylindrical algebraic decomposition [79]. We describe his algorithm for d = 2. That is, we want to compute the sign of a bivariate, constant-degree polynomial p at . Let _p denote the set of roots of p. We compute Collins' cylindrical algebraic decomposition of R2 so that the sign of p is invariant within each cell of [37, 79]. Our aim is to determine the cell 2 that contains , thereby determining the sign of p at . The cells of are delimited by O(1) y-vertical lines | each passing through a self- intersection point of _p or through a point of vertical tangency of _p; see Figure 8. For each vertical line `, we run the standard 1-dimensional parametric-searching procedure to determine which side of ` contains . If any of these substeps returns , we are done. Otherwise, we obtain a vertical strip that contains . We still have to search through the cells of within , which are stacked one above the other in the y-direction, to determine which of them contains . We note that the number of roots of p along any vertical line ` : x = x0 within is the same, that each root varies continuously with x0, and that their relative y-order is the same for each vertical line. In other words, the roots of _p in Geometric Optimization April 1, 1998 Appendix: Multidimensional Parametric Searching 60 constitute a collection of disjoint, x-monotone arcs 1; : : : ; t whose endpoints lie on the boundary lines of . We can regard each i as the graph of a univariate function i(x). Next, for each i, we determine whether lies below, above, or on i. Let x be the x-coordinate of , and let ` be the vertical line x = x . If we knew x , we could have run As at each i \ `, and could have located with respect to i, as desired. Since we do not know x , we execute the 1-dimensional parametric-searching algorithm generically, on the line `, with the intention of simulating it at the unknown point i = i \ `. This time, performing a comparison involves computing the sign of some bivariate, constant-degree polynomial g at i (we prefer to treat g as a bivariate polynomial, although we could have eliminated one variable, by restricting to lie on i). We compute the roots r1; : : : ; ru of g that lie on i, and set r0 and ru+1 to be the left and right endpoints of i, respectively. As above, we compute the index j so that lies in the vertical strip 0 bounded between rj and rj+1. Notice that the sign of g is the same for all points on i within the strip 0, so we can now compute the sign of g at i. (i) (ii) 1 2 r2 r1 g = 0 (iii) 0 Figure 8: (i) roots of p; (ii) the cylindrical algebraic decomposition of p; (iii) the curves g = 0 and 1 When the generic algorithm being simulated on i terminates, it returns a constant- degree polynomial Fi(x; y), corresponding to the value of F at i (i.e., Fi( i) = F ( i)), and a vertical strip i that contains . Let i(x) = Fi(x; i(x)). Let + i (resp. i ) be the copy of i translated by an in nitesimally small amount in the (+y)-direction (resp. ( y)- direction), i.e., + i (x) = i(x) + " (resp. i (x) = i(x) "), where " > 0 is an in nitesimal. We next simulate the algorithm at +i = + i \ ` and i = i \ `. We thus obtain two functions +i (x), i (x) and two vertical strips + i ; i . Let ̂i = i \ + i \ i . We need to evaluate the signs of i(x ) +i (x ) and i(x ) i (x ) to determine the location of with respect to i (this is justi ed by the concavity of F ). We compute the x-coordinates of the intersection points of (the graphs of) i; +i ; i that lie inside ̂i. Let x1 x2 xs be these x-coordinates, and let x0; xs+1 be the x-coordinates of the left and right boundaries of ̂i, respectively. By running As on the vertical lines x = xj, for 1 j s, we determine Geometric Optimization April 1, 1998 Appendix: Multidimensional Parametric Searching 61 the vertical strip Wi = [xj ; xj+1] R that contains . Notice that the signs of polynomials i(x) +i (x); i(x) i (x) are xed for all x 2 [xj ; xj+1]. By evaluating i; +i ; i for any x0 2 [xj; xj+1], we can compute the signs of i(x ) +i (x ) and of i(x ) +(x ). Repeating this procedure for all i's we can determine the cell of that contains , and thus resolve the comparison involving p. We then resume the execution of the generic algorithm. The execution of the 1-dimensional procedure takes O(T 2 s ) steps, which implies that the generic simulation of the 1-dimensional procedure requires O(T 3 s ) time. The total time spent in resolving the sign of p at is therefore O(T 3 s ). Hence, the total running time of the 2-dimensional algorithm is O(T 4 s ). As above, using a parallel version of the algorithm for the generic simulation reduces the running time considerably. In d dimensions, the running time of Toledo's original algorithm is O(Ts(Tp log n)2d 1), which can be improved to Ts(Tp log n)O(d2)), using the result by Chazelle et al. [59] on vertical decomposition of arrangements of algebraic surfaces. Geometric Optimization April 1, 1998