103
Approximate Centerpoints with Proofs Don Sheehy and Gary Miller Carnegie Mellon University

Approximate Centerpoints with Proofs

Embed Size (px)

DESCRIPTION

This talk presents a deterministic algorithm for computing approximate centerpoints. It was originally presented at SoCG 2009 in Aarhus, Denmark.

Citation preview

Page 1: Approximate Centerpoints with Proofs

Approximate Centerpoints with Proofs

Don Sheehy and Gary MillerCarnegie Mellon University

Page 2: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints

Page 3: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints

Page 4: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints

Page 5: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints

Page 6: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints

Page 7: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints

Page 8: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

CenterpointsApproximate

Page 9: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints!-center

Approximate

Page 10: Approximate Centerpoints with Proofs

Given a set S ! Rd, a centerpoint is a pointp " Rd such that every closed halfspacecontaining p contains at least n

d+1points of S.

Centerpoints!-center

!n

Approximate

Page 11: Approximate Centerpoints with Proofs

Two Proofs of the Centerpoint Theorem

Page 12: Approximate Centerpoints with Proofs

Helly’s TheoremGiven some convex sets in Rd such that every d + 1 sets

have common intersection, then the whole collection of setshas a common intersection.

Page 13: Approximate Centerpoints with Proofs

Helly’s TheoremGiven some convex sets in Rd such that every d + 1 sets

have common intersection, then the whole collection of setshas a common intersection.

Page 14: Approximate Centerpoints with Proofs

Helly’s TheoremGiven some convex sets in Rd such that every d + 1 sets

have common intersection, then the whole collection of setshas a common intersection.

H ! halfspaces containing more than nd

d+1points

Page 15: Approximate Centerpoints with Proofs

Helly’s TheoremGiven some convex sets in Rd such that every d + 1 sets

have common intersection, then the whole collection of setshas a common intersection.

H ! halfspaces containing more than nd

d+1points

h ! H

Page 16: Approximate Centerpoints with Proofs

Helly’s TheoremGiven some convex sets in Rd such that every d + 1 sets

have common intersection, then the whole collection of setshas a common intersection.

H ! halfspaces containing more than nd

d+1points

h ! H

conv(h ! S)

Page 17: Approximate Centerpoints with Proofs

Helly’s TheoremGiven some convex sets in Rd such that every d + 1 sets

have common intersection, then the whole collection of setshas a common intersection.

H ! halfspaces containing more than nd

d+1points

h ! H

conv(h ! S)

!

h!H

h

Page 18: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 19: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 20: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 21: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 22: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 23: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 24: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 25: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Page 26: Approximate Centerpoints with Proofs

Let S be a set of at least (d + 1)(r ! 1) + 1 points in Rd.There exists a partition of S into r subsets X1, . . . , Xr

such that!r

i=1conv(Xi) "= #

Tverberg’s Theorem

Choose r = n/(d+1)It’s a centerpoint!

Page 27: Approximate Centerpoints with Proofs

Not all Centerpoints are Tverberg Points

Page 28: Approximate Centerpoints with Proofs

Not all Centerpoints are Tverberg Points

•It is coNP-Complete to test if a point is a centerpoint.

Page 29: Approximate Centerpoints with Proofs

Not all Centerpoints are Tverberg Points

•It is coNP-Complete to test if a point is a centerpoint.

•It is NP-Complete to test if a point is a Tverberg point (even for r=2).

Page 30: Approximate Centerpoints with Proofs

Not all Centerpoints are Tverberg Points

•It is coNP-Complete to test if a point is a centerpoint.

•It is NP-Complete to test if a point is a Tverberg point (even for r=2).

•The hardness of finding a centerpoint is an open question.

Page 31: Approximate Centerpoints with Proofs

Related Work

Page 32: Approximate Centerpoints with Proofs

Related Work

Low Dimensions

Page 33: Approximate Centerpoints with Proofs

Related Work

O(n)-time centerpoints in R2 [Jadhav and Mukhopadhyay, 1994]

Low Dimensions

Page 34: Approximate Centerpoints with Proofs

Related Work

O(n)-time centerpoints in R2 [Jadhav and Mukhopadhyay, 1994]

O(n2polylog(n)) for R3 [Cole, Sharir, Yap, 1987],[Naor and Sharir, 1990]

Low Dimensions

Page 35: Approximate Centerpoints with Proofs

Related Work

O(n)-time centerpoints in R2 [Jadhav and Mukhopadhyay, 1994]

O(n2polylog(n)) for R3 [Cole, Sharir, Yap, 1987],[Naor and Sharir, 1990]

Low Dimensions

General Dimension

Page 36: Approximate Centerpoints with Proofs

Related Work

O(n)-time centerpoints in R2 [Jadhav and Mukhopadhyay, 1994]

O(n2polylog(n)) for R3 [Cole, Sharir, Yap, 1987],[Naor and Sharir, 1990]

O(nd!1) randomized time for Tukey medians, [Chan, 2004]

Low Dimensions

General Dimension

Page 37: Approximate Centerpoints with Proofs

Related Work

O(n)-time centerpoints in R2 [Jadhav and Mukhopadhyay, 1994]

O(n2polylog(n)) for R3 [Cole, Sharir, Yap, 1987],[Naor and Sharir, 1990]

O(nd!1) randomized time for Tukey medians, [Chan, 2004]

O((log n)log d) time for O(n/d2)-centers. [Clarkson, Eppstein,Miller, Sturtivant, Teng, 1993]

Low Dimensions

General Dimension

Page 38: Approximate Centerpoints with Proofs

Given n points in Rd, we can computea n

2(d+1)2 -center in time nO(log d).

Our Result

The output includes a poly-timecheckable proof of the depth.

Page 39: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 40: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 41: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 42: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 43: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 44: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 45: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 46: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 47: Approximate Centerpoints with Proofs

Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 48: Approximate Centerpoints with Proofs

Radon’s Theorem

d+2!

i=1

cipi = 0

d+2!

i=1

ci = 0

Let S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 49: Approximate Centerpoints with Proofs

Radon’s Theorem

d+2!

i=1

cipi = 0

d+2!

i=1

ci = 0

I+

= {i : ci > 0}

I!

= {i : ci < 0}

Let S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 50: Approximate Centerpoints with Proofs

Radon’s Theorem

d+2!

i=1

cipi = 0

d+2!

i=1

ci = 0

I+

= {i : ci > 0}

I!

= {i : ci < 0}

!

i!I+

cipi =!

i!I!

(!ci)pi

!

i!I+

ci =!

i!I!

(!ci)

Let S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 51: Approximate Centerpoints with Proofs

Radon’s Theorem

d+2!

i=1

cipi = 0

d+2!

i=1

ci = 0

I+

= {i : ci > 0}

I!

= {i : ci < 0}

!

i!I+

cipi =!

i!I!

(!ci)pi

!

i!I+

ci =!

i!I!

(!ci)

x =

!

i!I+

"

ci#

j!I+ cj

$

pi =

!

i!I!

"

!ci#

j!I!!cj

$

pi

Let S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.

Page 52: Approximate Centerpoints with Proofs

Approximating Center Points with Iterated Radon Points[ Clarkson, Eppstein, Miller, Sturtivant, Teng, 1993 ]

Page 53: Approximate Centerpoints with Proofs

Approximating Center Points with Iterated Radon Points[ Clarkson, Eppstein, Miller, Sturtivant, Teng, 1993 ]

1. Randomly sample points into sets of d+2.2. Compute the Radon point for each set. 3. Partition the points in to sets of size d+2 and replace each set by its Radon point.4. Continue until only one point remains.5. Return that point.

Page 54: Approximate Centerpoints with Proofs

Approximating Center Points with Iterated Radon Points[ Clarkson, Eppstein, Miller, Sturtivant, Teng, 1993 ]

1. Randomly sample points into sets of d+2.2. Compute the Radon point for each set. 3. Partition the points in to sets of size d+2 and replace each set by its Radon point.4. Continue until only one point remains.5. Return that point.

O!

n

d2

"

-center with high probability.

Page 55: Approximate Centerpoints with Proofs
Page 56: Approximate Centerpoints with Proofs
Page 57: Approximate Centerpoints with Proofs
Page 58: Approximate Centerpoints with Proofs

The Iterated-Tverberg Algorithm

Page 59: Approximate Centerpoints with Proofs
Page 60: Approximate Centerpoints with Proofs
Page 61: Approximate Centerpoints with Proofs
Page 62: Approximate Centerpoints with Proofs
Page 63: Approximate Centerpoints with Proofs
Page 64: Approximate Centerpoints with Proofs
Page 65: Approximate Centerpoints with Proofs
Page 66: Approximate Centerpoints with Proofs
Page 67: Approximate Centerpoints with Proofs

This almost works.

Page 68: Approximate Centerpoints with Proofs
Page 69: Approximate Centerpoints with Proofs
Page 70: Approximate Centerpoints with Proofs
Page 71: Approximate Centerpoints with Proofs
Page 72: Approximate Centerpoints with Proofs
Page 73: Approximate Centerpoints with Proofs
Page 74: Approximate Centerpoints with Proofs
Page 75: Approximate Centerpoints with Proofs
Page 76: Approximate Centerpoints with Proofs
Page 77: Approximate Centerpoints with Proofs
Page 78: Approximate Centerpoints with Proofs
Page 79: Approximate Centerpoints with Proofs
Page 80: Approximate Centerpoints with Proofs

The Iterated-Tverberg Algorithm

Page 81: Approximate Centerpoints with Proofs

The Iterated-Tverberg AlgorithmBucket Bi contains !point, proof" pairs of depth 2i

Page 82: Approximate Centerpoints with Proofs

The Iterated-Tverberg AlgorithmBucket Bi contains !point, proof" pairs of depth 2i

Start with all the points in B0

Page 83: Approximate Centerpoints with Proofs

The Iterated-Tverberg AlgorithmBucket Bi contains !point, proof" pairs of depth 2i

Start with all the points in B0

While |Bi| ! d + 2 for any i,

Combine d + 2 points in Bi to form a !point, proof" of depth 2i+1.

Prune out the extra points and put them back in B0

Put the resulting !point, proof" in Bi+1

Page 84: Approximate Centerpoints with Proofs

The Iterated-Tverberg AlgorithmBucket Bi contains !point, proof" pairs of depth 2i

Start with all the points in B0

While |Bi| ! d + 2 for any i,

Combine d + 2 points in Bi to form a !point, proof" of depth 2i+1.

Prune out the extra points and put them back in B0

Put the resulting !point, proof" in Bi+1

Return any !point, proof" from Bh where h is the maxsuch that Bh is non-empty.

Page 85: Approximate Centerpoints with Proofs

CorrectnessOutput depth >

n

2(d+1)2

Page 86: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

Output depth >n

2(d+1)2

Page 87: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

A proof of depth 2i contains at most 2i(d + 1) points of S.

Output depth >n

2(d+1)2

Page 88: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

Let h be the max such that Bh is non-empty.

A proof of depth 2i contains at most 2i(d + 1) points of S.

Output depth >n

2(d+1)2

Page 89: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

Let h be the max such that Bh is non-empty.

A proof of depth 2i contains at most 2i(d + 1) points of S.

Output depth >n

2(d+1)2

(Output depth = 2h)

Page 90: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

h!

i=0

2i(d + 1)2 ! n

Let h be the max such that Bh is non-empty.

A proof of depth 2i contains at most 2i(d + 1) points of S.

Output depth >n

2(d+1)2

(Output depth = 2h)

Page 91: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

h!

i=0

2i(d + 1)2 ! n

2h+1 ! 1 "n

(d + 1)2

Let h be the max such that Bh is non-empty.

A proof of depth 2i contains at most 2i(d + 1) points of S.

Output depth >n

2(d+1)2

(Output depth = 2h)

Page 92: Approximate Centerpoints with Proofs

Correctness

At termination, every bucket has size at most d + 1.

h!

i=0

2i(d + 1)2 ! n

2h+1 ! 1 "n

(d + 1)2

2h>

n

2(d + 1)2

Let h be the max such that Bh is non-empty.

A proof of depth 2i contains at most 2i(d + 1) points of S.

Output depth >n

2(d+1)2

(Output depth = 2h)

Page 93: Approximate Centerpoints with Proofs

Timing AnalysisRunning time = n

O(log d)

Page 94: Approximate Centerpoints with Proofs

Timing Analysis

Let tk be the time to compute a point of depth 2k.

Running time = nO(log d)

Page 95: Approximate Centerpoints with Proofs

Timing Analysis

Let tk be the time to compute a point of depth 2k.

tk ! (d + 2)tk!1 + R + 2kP

Running time = nO(log d)

Page 96: Approximate Centerpoints with Proofs

Timing Analysis

Let tk be the time to compute a point of depth 2k.

tk ! (d + 2)tk!1 + R + 2kP

tk ! (d + 2)k + (n poly(d))

Running time = nO(log d)

Page 97: Approximate Centerpoints with Proofs

Timing Analysis

Let tk be the time to compute a point of depth 2k.

tk ! (d + 2)tk!1 + R + 2kP

tk ! (d + 2)k + (n poly(d))

tlog n

2(d+1)2= O(n(d + 2)O(log n)poly(d))

Running time = nO(log d)

Page 98: Approximate Centerpoints with Proofs

Timing Analysis

Let tk be the time to compute a point of depth 2k.

tk ! (d + 2)tk!1 + R + 2kP

tk ! (d + 2)k + (n poly(d))

tlog n

2(d+1)2= O(n(d + 2)O(log n)poly(d))

Running time = nO(log d)

Running time = nO(log d)

Page 99: Approximate Centerpoints with Proofs

Timing Analysis

Let tk be the time to compute a point of depth 2k.

tk ! (d + 2)tk!1 + R + 2kP

tk ! (d + 2)k + (n poly(d))

tlog n

2(d+1)2= O(n(d + 2)O(log n)poly(d))

Running time = nO(log d)

More precisely, O

!

n1+log(d+2)

(d + 1)2 log(d+2)!1

"

Running time = nO(log d)

Page 100: Approximate Centerpoints with Proofs

Also in the paper...

Page 101: Approximate Centerpoints with Proofs

Also in the paper...

•Using Tverberg r-partitions instead of Radon partitions.

Page 102: Approximate Centerpoints with Proofs

Also in the paper...

•Using Tverberg r-partitions instead of Radon partitions.

•Solving larger subproblems in the Iterated-Radon algorithm.

Page 103: Approximate Centerpoints with Proofs

Thank you.