26
Two Strategies for Approximate Computational Geometry Elisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami Two Strategies for Approximate Computational Geometry – p. 1/2

Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Embed Size (px)

Citation preview

Page 1: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Two Strategies for Approximate ComputationalGeometry

Elisha Sacks, Purdue University

joint work with

Victor Milenkovic, University of Miami

Two Strategies for Approximate Computational Geometry – p.1/26

Page 2: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Problem• Algorithms are expressed in real RAM model.• Input is assumed in general position.• Implementations must use computer arithmetic.• Implementations must handle degenerate input.

Two Strategies for Approximate Computational Geometry – p.2/26

Page 3: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Geometric Predicates• Main interface with real RAM model

(also geometric constructions).• PredicateP (x) is true when polynomialf(x) is

positive.• Unsafe predicate:|f(x)| near the rounding unit.• Degenerate predicate:f(x) = 0.• Singular predicate:f(x) = 0 andf ′(x) = 0.

Two Strategies for Approximate Computational Geometry – p.3/26

Page 4: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Exact Computational Geometry• Implement predicates exactly using real algebraic

geometry.• Symbolic perturbation of degenerate predicates.• Technical Problems

• Running time grows rapidly with algebraicdegree.

• Bit complexity grows rapidly in iteratedcomputation.

• Large constant factors and programmingoverhead.

Two Strategies for Approximate Computational Geometry – p.4/26

Page 5: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Conceptual Problem• Scientific computing is approximate because

exact solutions are impractical and unnecessary.• That is why rounding and numerical analysis

were invented.• Why should computational geometry be exact?

Two Strategies for Approximate Computational Geometry – p.5/26

Page 6: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Approximate Comp. Geometry• Implement predicates approximately using

floating point arithmetic and numerical solvers.• Advantages:

• Running time grows modestly with degree.• Constant bit complexity.• Small constant factors.

• Challenge: generate consistent output.

Two Strategies for Approximate Computational Geometry – p.6/26

Page 7: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Consistency• Error metric: distance from input to perturbed

input for which the computed output is correct.• Inconsistent output: no such perturbation exists.• Example: plane curves in cyclic vertical order.• a < b beforepx, b < c beforerx, c < a afterqx.• Numerical error causesqx < px.• Inconsistency:a < b < c < a on (qx, px).

p

a

qc

rb

Two Strategies for Approximate Computational Geometry – p.7/26

Page 8: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Inconsistency Sensitive Strategy• Adapt RAM algorithms to generate consistent

output despite computation error.• Bound output error and extra cost in terms of

computation error and inconsistency count.• Advantage: speed and accuracy.• Disadvantage: lack of generality.

Two Strategies for Approximate Computational Geometry – p.8/26

Page 9: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Arrangement Algorithm• Input: x-monotonic semi-algebraic curves,

crossing module.• Step 1: Compute curve crossings andy-order.• Step 2: Embed curve endpoints.• Output:O(ǫ + knǫ) accurate arrangement forn

curves and anǫ-accurate crossing module withkinconsistencies.

• Proving consistency is much easier than provingan error bound!

Two Strategies for Approximate Computational Geometry – p.9/26

Page 10: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Crossing Module

xs xer1

f

g

r2 r3 r4x

y

• Crossings computed with custom eigensolver.• Accuracy,ǫ, of 12–16 decimal digits.

• Running timecd4 for degreed.• c = 6 microseconds on 2.2 GHz processor.

Two Strategies for Approximate Computational Geometry – p.10/26

Page 11: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Step 1: Curvey-order• Crossing module defines curvey-order,a <x b.• k inconsistencies:a <x b <x c <x a on maximal

open interval.• Bentley sweep with two modifications:

1. Don’t swap non-adjacent curves.2. Immediately swap out-of-order curves.

• Sweep list defines outputy-order,a <′x b.

• Error analysis: bound distance betweena, b atxwherea <′

x b andb <x a.• Key idea: there exists a sequence

a <x s1 <x · · · <x sp <x b with p ≤ k.

Two Strategies for Approximate Computational Geometry – p.11/26

Page 12: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Step 2: Endpoint EmbeddingInconsistency between endpoint and curvey-orders.

e

f

u

v

e

f

u

v

inconsistency fix

e

g

f

w

u,v

f

g

e

p w

u,v

inconsistency fixTwo Strategies for Approximate Computational Geometry – p.12/26

Page 13: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Step 2: Endpoint Embeddingg

ue

fv

w

g

e up

fv

w

inconsistency fix

Two Strategies for Approximate Computational Geometry – p.13/26

Page 14: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Perturbation Methods• Perturb input to avoid inconsistency and

degeneracy.• Minimize perturbation size relative to success

probability.• Advantage: general.• Disadvantages of prior work

• inaccurate, especially for near-singular input.• incompatible with equality constraints

(implicit parameters).

Two Strategies for Approximate Computational Geometry – p.14/26

Page 15: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Constrained Linear Perturb.Strategy: assign signs to polynomials then computeminimal perturbation that realizes these signs.

• No error or cost for safe polynomials.• Accurate perturbation of singular polynomials.• Implicit parameters handled.• Signs can be set to zero.

Two Strategies for Approximate Computational Geometry – p.15/26

Page 16: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

CLP Implementation Strategy• Online algorithm: compute perturbation for both

signs of polynomial subject to prior signs; selectsmaller perturbation.

• Linear programming implementation.• Linear Taylor series for regular polynomials.• Replace a near-singular polynomial with a regular

proxy and constrain it to have the same sign.

Two Strategies for Approximate Computational Geometry – p.16/26

Page 17: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

CLP Definition• CLP defined for polynomialsf1, . . . , fm atx = a.• fi safe:|fi(a)| > kiµ with µ the rounding unit.• Perturbation:p = a + δv, δ ≥ 0, ||v|| = 1.• CLP:p and signss1, . . . , sm with si = ±1.• If fi is safe,si is the computed sign. If not,si is

the sign of the rate of change∇fi · v.• sifi(p) ≥ kiµ for i = 1, . . . ,m.

Two Strategies for Approximate Computational Geometry – p.17/26

Page 18: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Core Algorithm• Extend CLP fromf1, . . . , fm−1 to fm.• If fm is safe, return the computed sign and the

prior p.• Else assign the sign andv that maximize the

minimum of the rates,ri = si∇fi · v/ki, at whichthe unsafefi become safe.

• Maximizer subject tori ≥ r andsm = ±1;assignsm andv from the largerr value.

• Setδ = 2µ/r to makesi correct for the linearizedfi with margin2kiµ.

• Verify sifi(p) ≥ kiµ for all unsafefi.

Two Strategies for Approximate Computational Geometry – p.18/26

Page 19: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Sorting Example• Sort four equal numbersxi = 0.• Predicate polynomials arexi − xj with ki = 1.• Six signs assigned during sorting.• Perturbation direction constraints:−1 ≤ vi ≤ 1.• Sign 1:x2 − x1 with casesv2 − v1 ≥ r and

v1 − v2 ≥ r; maximum ofr = 2 for both, sos1 = 1 andx1 < x2.

x1 x4

x3x2

−1 0 1

Two Strategies for Approximate Computational Geometry – p.19/26

Page 20: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Sorting Example• Sign 2:x3 − x2

• s2 = 1: v3 − v2 ≥ r andv2 − v1 ≥ r withmaximumr = 1 atv = (−1, 0, 1, 0).

• s2 = −1: v2 − v3 ≥ r andv2 − v1 ≥ r withmaximumr = 2 atv = (−1, 1,−1, 0).

• Sets2 = −1 andx3 < x2.x3x1 x4 x2

−1 0 1

• Sign 6:x1 < x3 < x4 < x2.

x1 x3 x4 x2

11/3−1/3−1Two Strategies for Approximate Computational Geometry – p.20/26

Page 21: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Pappus Example

5q

7q

1q

2q

3q

9q8q

4q6q

8

12 3

56

7

4

9

• Sortx coordinates of the intersection points of 9lines with 9 near-triple intersection points.

• First 8 triples permit all signs; 254 of thesepermit both signs for ninth triple.

Two Strategies for Approximate Computational Geometry – p.21/26

Page 22: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Full CLP algorithm• Proxies for near-singular polynomials.

• Status: manual construction.• Research: automated construction for

determinant polynomials.• Implicit parameter definitions.

• Status: regular definitions.• Research: singular definitions.

• Output simplification.• Random perturbation direction.

Two Strategies for Approximate Computational Geometry – p.22/26

Page 23: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

CLP versus controlled pert.• Convex hull ofn identical points:δ = 121µ for

n = 100, δ = 238µ for n = 200, δ = 1619µ forn = 1000.

• Controlled perturbations2 × 108 times larger.• Delaunay triangulation ofn identical points:

δ = 399µ for n = 100, δ = 1767µ for n = 200,δ = 14959µ for n = 1000.

• Controlled perturbations1011 times larger.• Delaunay triangulation ofn points on unit line

segment:δ = 636µ for n = 100, δ = 2933µ forn = 200, δ = 8479µ for n = 1000.

• Controlled perturbations2 × 106, 7 × 106,2 × 109 times larger.

Two Strategies for Approximate Computational Geometry – p.23/26

Page 24: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

CLP versus ECG• Arrangement of 100 random degree-6 algebraic

curves: 22 seconds with CLP; 220 seconds withECG [Eigenwillig, 2008].

• Arrangement of 100 degenerate degree-6semi-algebraic curves.

Two Strategies for Approximate Computational Geometry – p.24/26

Page 25: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

CLP versus ECG• Arrangement contains 1330 vertices, including 43

clusters of nearly equal vertices with an averageof 23 vertices per cluster and 55 vertices in thelargest cluster.

• 1.5 seconds with CLP; estimated 30,000 secondswith ECG.

• Estimate based on measured root separation,ρ,and on publishedlog2 ρ running time.

Two Strategies for Approximate Computational Geometry – p.25/26

Page 26: Two Strategies for Approximate Computational Geometry ... fileElisha Sacks, Purdue University joint work with Victor Milenkovic, University of Miami ... • Input is assumed in general

Conclusion• Approximate computational geometry is fast and

accurate.• Consistency is the challenge.• Consistency sensitivity works case by case.• CLP is algorithm-independent.• We aim for a black box CLP library.

Two Strategies for Approximate Computational Geometry – p.26/26