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:||x−y||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