# Reliable and Efficient Computational Geometry Via Controlled Perturbation

• Published 2006 in ICALP

#### Abstract

Most algorithms of computational geometry are designed for the RealRAM and non-degenerate inputs. We call such algorithms idealistic. Executing an idealistic algorithm with floating point arithmetic may fail. Controlled perturbation replaces an input x by a random nearby x̃ in the δ -neighborhood of x and then runs the floating point version of the idealistic algorithm on x̃. The hope is that this will produce the correct result for x̃ with constant probability provided that δ is small and the precision L of the floating point system is large enough. We turn this hope into a theorem for a large class of geometric algorithms and describe a general methodology for deriving a relation between δ and L. We exemplify the usefulness of the methodology by examples. Most algorithms of computational geometry are designed for Real-RAMs and nondegenerate inputs. A Real-RAM computes with real numbers in the sense of mathematics. The notion of degeneracy depends on the problem; examples are collinear or cocircular points or three lines with a common point. We call an algorithm designed under the two simplifying assumptions an idealistic algorithm. Implementations have to deal with the precision problem (caused by the Real-RAM assumption) and the degeneracy problem (caused by the non-degeneracy assumption). The exact computation paradigm [10, 9, 3, 14, 12, 13] addresses the precision problem. It proposes to implement a Real-RAM tuned to geometric computations. The degeneracy problem is addressed by reformulating the algorithms so that they can handle all inputs. This may require non-trivial changes. The approach is followed in systems like LEDA and CGAL. Halperin et al. [5, 7, 6] proposed controlled perturbation to overcome both problems. The idea is to solve the problem at hand not on the input given but on a nearby input. The perturbed input is carefully chosen, hence the name controlled perturbation, so that it is non-degenerate and can be handled with approximate arithmetic. They applied the idea to three problems (computing polyhedral arrangements, spherical arrangements, and arrangements of circles) and showed that variants of the respective idealistic algorithms can be made to work. Funke et al. [4] extended their work and showed how to use controlled perturbation in the context of randomized algorithms, in particular randomized incremental constructions, and designed specific schemes for planar Delaunay triangulations and convex hulls and Delaunay triangulations in arbitrary dimensions. We extend their work further. We prove that controlled perturbation and guarded tests are a general conversion strategy for a wide class of geometric algorithms; the papers ? Partially supported by the IST Programme of the EU under Contract No IST-006413, Algorithms for Complex Shapes (ACS). cited above hint at this possibility but do not prove it. Moreover, we develop a general methodology for analyzing controlled perturbation, in particular, for deriving quantitative relations between the amount of perturbation and the precision of the approximate arithmetic. 1 Controlled Perturbation (Review from [4]) Geometric algorithms branch on geometric predicates. Typically, geometric predicates can be expressed as the sign of an arithmetic formula E. For example, the orientation predicate for d +1 points in Rd is given by the sign of a (d +1)× (d +1) determinant: the determinant has one row for each point and the row for a point contains the coordinates of the point followed by the entry 1 and evaluates to zero iff the d + 1 points lie in a common hyperplane. This is considered a degeneracy. When evaluating an arithmetic formula E using floating-point arithmetic, round-off error occurs which might result in the wrong sign being reported. If this stays undetected, the program may enter an illegal state and disasters may happen, see [11] for some instructive examples. In order to guard against round-off errors, we postulate the availability of a predicate GE with the following guard property: If GE evaluates to true when evaluated with floating point arithmetic, the floating point evaluation (fpevaluation) of E yields the correct sign. In an idealistic algorithm A we now guard every sign test by first testing the corresponding guard. If it fails, we abort. We call the resulting algorithm a guarded algorithm and use Ag to denote it. The controlled perturbation version of idealistic algorithm A is as follows: Let δ be a positive real. On input x, we first choose a δ -perturbation x̃ of x and then run the guarded algorithm Ag on x̃. If it succeeds, fine. If not, repeat. What is a δ -perturbation? A δ -perturbation of a point is a random point in the δ -cube (or δ -ball) centered at the point and for a set of points a δ -perturbation is simply a δ -perturbation of each point in the set. For more complex objects, alternative definitions come to mind, e.g., for a a circle one may want to perturb the center or the center and the radius. The goal is now to show experimentally and/or theoretically that Ag has a good chance of working on a δ -perturbation of any input and a small value of δ . More generally, one wants to derive a relation between the precision L of the floating point system (= length of the mantissa), a characteristic of the input set, e.g., the number of points in the set and an upper bound on the maximal coordinate of any point in the input, and δ . Halperin et al. have done so for arrangements of polyhedral surfaces, arrangements of spheres, and arrangements of circles and Funke et al. have done so for Delaunay diagrams and convex hulls in arbitrary dimensions. We want to stress that a guarded algorithm can be used without any analysis. Suppose we want to use it with a certain δ . We execute it with a certain precision L. If it does not succeed, we double L and repeat. Our main result states that this simple strategy terminates for a wide class of geometric algorithms. Moreover, it gives a quantitative relation between δ and L and characteristic quantities of the instance. Guard predicates must be safe and should be effective, i.e., if a guard does not fire, the approximate sign computation must be correct, and guards should not fire too often unnecessarily. It is usually difficult to analyze the floating point evaluation of GE

DOI: 10.1007/11786986_27

### Cite this paper

@inproceedings{Mehlhorn2006ReliableAE, title={Reliable and Efficient Computational Geometry Via Controlled Perturbation}, author={Kurt Mehlhorn and Ralf Osbild and Michael Sagraloff}, booktitle={ICALP}, year={2006} }