Tuesday, 10 July 2012

convex polytopes - Efficiently sampling points from an integer lattice.

Let mathcalL = {xin Nn : ||x||1 leq m} denote the set of integer points in the positive orthant of the ell1 ball of radius m, where m<n. For each xinmathcalL, let w : mathcalL rightarrow mathcalR+ denote an efficiently computable weighting function. Let mathcalD define a probability distribution over mathcalL that selects each element from mathcalL with probability proportional to its weight:
PrmathcalD[x]=fracw(x)sumyinmathcalLw(y)



I would like to (approximately) sample from this distribution efficiently, where efficiently means in time polynomial in n, the dimension of the space. The algorithm may query the weight function w a polynomial number of times. In general, this is hard, but I know two additional facts about the weighting function that I suspect make the problem tractable.



1) The weight function is convex: in particular, for any C, the set of points with weight at least C lies inside some convex polytope.



2) The weight function is Lipschitz: for any x,yinmathcalL:||xy||1leq1, |w(x)w(y)|leq poly(n).



Is there a known method that would allow efficient sampling from this distribution?

No comments:

Post a Comment