Optimal Core-sets for Balls


Mihai Badoiu
MIT

Ken Clarkson
Bell Labs

The Problem

  • Given a set of points S and ε>0,
  • find PS so that the smallest ball containing P is within ε of containing S.
Here, ε=.36

The Theorem

Given S and ε>0, there is an ε-core-set of size of size 1/ε, and this is tight.
  • In contrast, the smallest ball (ε=0) is determined by a subset of S of size at most d+1;
    • these results are mainly of interest for very large d.
  • It is tight because no better can be done with a regular simplex.
  • The existence proof is an algorithm, shown below.
  • Note that the smallest ball containing P is no larger than the smallest ball containing S.

Why do we care?

  • The core-set size appears in the exponent in the running times of several algorithms.
  • Previous bounds:
    • Roughly 128/ε 2 [BI]
    • O(1/ε) [KMY]
    • 2/ε [BC]

The algorithm in 2d, for ε=1/2

The Algorithm

Given S and ε>0,
pick any PS of size 1/ε, and repeat until done:
  • Find the point aS farthest from the center of the smallest ball containing P;
  • If that distance is smaller than R(1+ε), we're done; (R is the optimal ball radius.)
  • Pick bP{a}, so that the smallest ball containing P{a}{b} is as large as possible;
  • Set P to P{a}{b}.

Why does it work?

  • Let P a P{a} ;
  • The circumradius of P a must be substantially larger than the circumradius of P
    • because a was farthest
  • The circumradius of P a{b} must be not too much smaller than the circumradius of P a
    • because b was not incident to the subset with largest circumradius;
  • Combined quantitatively: if not done, the radius of P must increase.

Why does it work? (II)

  • Any simplex T has a facet F such that r B (F) 2 (1-1/d 2)r B (T) 2.
    • Here T has d+1 vertices.
    • The smallest ball is alway determined by a simplex;
    • The regular (equilateral) simplex is the worst case.
  • So the circumradius of P a{b} is at least 1-1/1/ε times the circumradius of P a.

Why does it work? (III)

Why does it work? (III)

  • When farthest point a is added, the circumradius of P a is at least R ^ / r+r/R^2
  • Here R^R(1+ε), and r was the circumradius of P.
  • The basic argument [BI]: if the circumcenter of P a is
    • close to the circumcenter of P, then the new radius must be close to R^;
    • far from the circumcenter of P, then some point of P must be far from that new circumcenter.

Conclusion

  • Relation to quadratic programming duality?
  • Experimental results?