Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus Timothy M. Chan International Journal of Computational Geometry and Applications Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 1/2
Problems Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 2/2
Known Exact Algorithms Diameter O( n log n ) for d = 2 , 3 O( n 2 − 2 / ( ⌈ d/ 2 ⌉ +1) log O(1) n ) for d = 4 Trivially O( n 2 ) for higher d Width O( n log n ) for d = 2 O( n 3 / 2+ δ ) expected time for d = 3 O( n ⌈ d/ 2 ⌉ ) by halfspace intersection algorithm for higher d Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 3/2
Known Exact Algorithms Smallest Enclosing Cylinder Identical to width for d = 2 O( n 3+ δ ) for d = 3 O( n 2 d − 1+ δ ) for higher d Minimum-Width Annulus O( n 3 / 2+ δ ) randomized for d = 2 O( n ⌊ d/ 2 ⌋ +1 ) for higher d Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 4/2
Key Points in Approximation Quantities must be approximated to within factor of (1 + O( ε )) . Linear Time Approximation Scheme (LTAS) : O ∗ ( E c n ) , where E = 1 /ε O ∗ notation hides log O(1) E factors Strong Linear Time Approximation Scheme : O ∗ ( n + E c ) Running time is linear in n as long as E ≤ n 1 /c The paper ignores constant factors depending on d (which are usually exponential), on the grounds that we are chiefly concerned with low-dimensional problems. Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 5/2
Key Points in Approximation Approximate solutions use combinations of the following simplifications: Rounding to grid Cones + Ray shooting The first problem ( Diameter ) is solved using just the above two techniques. The other three problems are approximated by linear/convex programs (LP’s/CP’s), then the input to these programs is simplified as above. Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 6/2
Rounding to Grid Ref. Barequet and Har-Peled paper presented by An last week. Main idea : Rounding points to their nearest neighbours on a regular lattice of spacing δ alters their linear properties by at most O( δ ) . If δ = O( ε ∆) then ∆ ′ is (1 + O( ε )) -approximation to ∆ . Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 7/2
Cones + Ray Shooting Main idea : Let θ ε = arccos(1 / (1 + ε )) = Θ( √ ε ) . It is possible to cover space of directions by O(1 /θ d − 1 ) ε cones of angle θ ε . ) unit vectors in R d s.t. ∀ x ∈ R d , i.e. ∃ set V d of O(1 /θ d − 1 ε ∃ a ∈ V d s.t. ∠ ( a, x ) ≤ θ ε , or equivalently: � x � / (1 + ε ) ≤ max a ∈ V d a · x ≤ � x � To maximize � p − q � within an (1 + ε ) -factor approximation, we can maximize a · ( p − q ) . Easily done by maximizing a · p and minimizing a · q , in O( | V d | n ) = O( E ( d − 1) / 2 n ) time each (brute force). Known as "Ray Shooting" (RS) in a convex polytope (in the dual). Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 8/2
Cones + Ray Shooting � x � ≤ (1 + ε ) � x ′ � Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 9/2
Diameter Previous best : O( n + E 2( d − 1) d/ ( d +1) ) A constant-factor approximation ∆ 0 = Θ(∆) is easy to calculate in O( n ) time (farthest-point distance of any point). Will be used as "seed" for grid separation. Algorithm 1 Round to grid of separation ε ∆ 0 ( O( E d ) points). Simplify further by retaining only top and bottom points of each vertical line in grid (diametrically opposite points must belong to this set). Now compute diameter. Gives (1 + O( ε )) - approximation in brute force time O( n + E 2( d − 1) ) . Algorithm 2 : Apply cones + RS in time O( E ( d − 1) / 2 n ) . Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 10/2
Diameter Algorithm 3 = Algorithm 1 + Algorithm 2 Instead of using brute force on rounded points, use Algorithm 2. Rationale : a (1 + ε ) -approximation of a (1 + ε ) -approximation is a (1 + O( ε )) -approximation. More efficient strong LTAS: O( n + E 3( d − 1) / 2 ) . Algorithm 4 : Out, damned spot! Algorithm 5 (Grid + Cones + Dimension Reduction) For a set of points P ∈ R d , P ′ ⊂ P (1 + ε ) -simplifies P if for any q ∈ R d , p ′ ∈ P ′ � p ′ − q � ≥ max max p ∈ P � p − q � / (1 + ε ) Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 11/2
Diameter Algorithm 5 (Grid + Cones + Dimension Reduction) (contd) Round points to grid, obtaining P . Main idea : Recursing on dimension, find a set P ′ of O( E ( d − 1) / 2 ) points that (1 + O( ε )) -simplify P . Decompose P into O( E ) subsets P i , each lying on a grid hyperplane. Recursively, find P ′ i ⊂ P i of size O( E ( d − 2) / 2 ) that (1 + O( ε )) -simplifies P i . Lemma : ∪ i P ′ i (1 + O( ε )) -simplifies P . Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 12/2
Diameter Algorithm 5 (Grid + Cones + Dimension Reduction) (contd) Main idea (contd) ∪ i P ′ i has size O( E d/ 2 ) — still too large. Reduce by cones: For each a ∈ V d find point p a ∈ ∪ i P ′ i maximizing a · p . P ′ = { p a | a ∈ V d } has size O( E ( d − 1) / 2 ) . Computable by RS in time O( E ( d − 1) / 2 | ∪ i P ′ i | ) = O( E d − 1 / 2 ) . Lemma : P ′ (1 + ε ) -simplifies ∪ i P ′ i . And again, (1 + O( ε )) × (1 + O( ε )) = (1 + O( ε )) . . . Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 13/2
Diameter Algorithm 5 (Grid + Cones + Dimension Reduction) (contd) Finally, apply Algorithm 2 (cones) to (1 + O( ε )) -approximate the diameter of P ′ , which in turn (1 + O( ε )) -approximates the diameter of P (“easily seen”). Time taken = O( E ( d − 1) / 2) | P ′ | ) = O( E d − 1 ) . Total time : solve O( E ) � T d − 1 ( n i ) + O( E d − 1 / 2 ) T d ( n ) = i =1 i n i = n . Answer: O( n + E d − 1 / 2 ) . where � Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 14/2
The LP/CP problems Variables x, u ∈ R d , y, z ∈ R . Width ( z − y ) / � x � minimize y ≤ x · p ≤ z ( ∀ p ∈ P ) subject to Smallest Enclosing Cylinder z minimize � � u · ( p − x ) � x + u − p � ≤ z ( ∀ p ∈ P ) subject to u · u Minimum-Width Annulus ( z − y ) minimize y ≤ � x − p � ≤ z ( ∀ p ∈ P ) subject to Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 15/2
The LP/CP problems Basic approach Construct a grid of suitable separation ( ε times constant-factor approximation) to reduce the number of points to O( E d − 1 ) . Use cones + change of variables to approximate the problem with an LP/CP instance. Solve LP/CP in linear time (known algorithms). Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 16/2
Width Simplest example of three steps of previous slide 1. Rounding to grid Barequet and Har-Peled proved existence of box B such that cB can be translated to fit inside conv ( P ) , for constant c B can be computed in linear time Construct a grid where each cell is an instance of εcB and round P to P ′ . If P is contained in slab S ∗ of width w ∗ , then P ′ is contained in slab of width (1 + 2 ε ) w ∗ since P ′ fits in P ⊕ εcB , which fits in P ⊕ ε conv ( P ) ⊂ S ∗ ⊕ εS ∗ . Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 17/2
Width 2. Conversion to approximate LP Given V d (cone directions), transform to ( z − y ) / | a · x | minimize y ≤ x · p ′ ≤ z ( ∀ p ′ ∈ P ′ ) subject to At the minimum, a must be θ ε -close to x . Then we have � x � / (1 + ε ) ≤ | a · x | . So a solution of the new system is a (1 + ε ) -approximation of the minimum width of P ′ . Set X = x/ ( z − y ) and Y = y/ ( z − y ) to get LP: | a · X | maximize Y ≤ X · p ′ ≤ Y + 1 ( ∀ p ′ ∈ P ′ ) subject to Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 18/2
Width 3. Solving LP Use a known linear-time LP algorithm to solve separately for each a ∈ V d . Total time = O( | V d || P ′ | ) = O( E 3( d − 1) / 2 ) Take the maximum solution. Algorithm runs in O( n + E 3( d − 1) / 2 ) time. Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 19/2
Smallest Enclosing Cylinder 1. Rounding to grid Let z ∗ be optimal radius. Compute constant-factor approximation z 0 ≤ cz ∗ : use Step 2 (below) with ε = c − 1 , or take enclosing cylinder with center line through approximate diametrical pair. Build uniform grid of separation εz 0 and round points to P ′ , retaining only top and bottom points on each vertical line as usual. Smallest enclosing cylinder of P ′ (radius z ′ ) is (1 + O( ε )) -approximation to smallest enclosing cylinder of P . Approximating the Diameter, Width, Smallest Enclosing Cylinder, and Minimum-Width Annulus – p. 20/2
Recommend
More recommend