Theoretical Computer Science Stack Exchange is a question and answer site for theoretical computer scientists and researchers in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Fix a set of $n$ points $P \subset \mathbb{R}^d$. Now a query point $q$ arrives, and the goal is produce a point $r$ sampled uniformly at random from the Voronoi cell of $q$ in the set $P \cup \{q\}$.

For the purpose of this question, you can assume that $q$'s Voronoi cell is always bounded (for example $q$ always lies in the convex hull of $P$).

Is there anything known about this problem ?

Some constraints:

  • I might want more than one sample from $q$'s Voronoi cell. These should be IID.
  • I am allowed to preprocess the points, but I cannot spend time exponential in $d$.
  • The sample should be generated in time sublinear in $n$ and polynomial in $d$ ideally.

Note that the above rule out computing the Voronoi cell explicitly. Also note that while a rejection sampling approach would yield a uniform sample, it's not clear how to do it efficiently.

share|cite|improve this question
Is there some reason that it doesn't just immediately work to use the usual volume-estimation random-walk techniques for generating uniformly random samples within convex bodies in polynomial time? – David Eppstein Jan 7 '13 at 1:23
I should have clarified. It should be possible to use them since the membership oracle can be computed, but the running time to generate a sample is quite expensive (at the very least it's linear time because you describe the voronoi cell in terms of the n halfplane constraints). Hence the sublinear proviso. – Suresh Venkat Jan 7 '13 at 3:34
Ah, I missed the sublinear part. – David Eppstein Jan 7 '13 at 4:32
you can realize any polytope as a Voronoi cell. so at a minimum you'd need to be able to preprocess a polytope so that you can draw IID uniform samples from it faster than doing the full random walk each time. this seems hard enough itself? – Sasho Nikolov Jan 9 '13 at 8:51

Too short for a comment... The following is intuitive bla bla, and feel free not buy it.

That seems extremely unlikely - assuming the points are uniformly distributed, the number of neighbours of the cell of $q$ is going to be $2^d$. Here is maybe a more formal argument. Pick a set of points on the unit hypersphere such that angle between any two points is at least, I dont know, 80 degrees. We know, that one can pick an exponential number of such points on the sphere without too much effort if the dimension is sufficiently large. Now, intuitively, for any subset of half the points, the Voronoi cell of the center of the sphere should have almost double the volume when compared to the cell volume with all the points. This inituitively implies you have to inspect all the points to get a good volume estimate. Which seems to imply, again intuitively, that sampling uniformly is going to be impossible, since the problems seems to be polynomially equivalent...

share|cite|improve this answer
That's an interesting argument. However, wouldn't such an argument suggest that you can't estimate the volume of a convex body defined by halfplanes, which we know we can do ? – Suresh Venkat Jan 9 '13 at 5:35
Not really - if you can read all the input then this argument fails.... – Sariel Har-Peled Jan 9 '13 at 23:17
Well I am allowed to preprocess the input any way I see fit. – Suresh Venkat Jan 9 '13 at 23:20

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.