# Sampling from the Voronoi cell of a point

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$).

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.

-
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

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...