Upload
don-sheehy
View
225
Download
0
Tags:
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
Approximate Centerpoints with Proofs
Don Sheehy and Gary MillerCarnegie Mellon University
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
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
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
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
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
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
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
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
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
Two Proofs of the Centerpoint Theorem
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.
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.
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
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
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)
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
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
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
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
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
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
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
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
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
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!
Not all Centerpoints are Tverberg Points
Not all Centerpoints are Tverberg Points
•It is coNP-Complete to test if a point is a centerpoint.
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).
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.
Related Work
Related Work
Low Dimensions
Related Work
O(n)-time centerpoints in R2 [Jadhav and Mukhopadhyay, 1994]
Low Dimensions
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
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
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
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
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.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
Radon’s TheoremLet S ! Rd with |S| " d + 2, then there exists a partitonS = (S1, S2) such that conv(S1) # conv(S2) $= %.
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) $= %.
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) $= %.
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) $= %.
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) $= %.
Approximating Center Points with Iterated Radon Points[ Clarkson, Eppstein, Miller, Sturtivant, Teng, 1993 ]
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.
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.
The Iterated-Tverberg Algorithm
This almost works.
The Iterated-Tverberg Algorithm
The Iterated-Tverberg AlgorithmBucket Bi contains !point, proof" pairs of depth 2i
The Iterated-Tverberg AlgorithmBucket Bi contains !point, proof" pairs of depth 2i
Start with all the points in B0
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
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.
CorrectnessOutput depth >
n
2(d+1)2
Correctness
At termination, every bucket has size at most d + 1.
Output depth >n
2(d+1)2
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
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
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)
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)
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)
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)
Timing AnalysisRunning time = n
O(log d)
Timing Analysis
Let tk be the time to compute a point of depth 2k.
Running time = nO(log d)
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)
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)
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)
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)
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)
Also in the paper...
Also in the paper...
•Using Tverberg r-partitions instead of Radon partitions.
Also in the paper...
•Using Tverberg r-partitions instead of Radon partitions.
•Solving larger subproblems in the Iterated-Radon algorithm.
Thank you.