Randomized Algorithms (Spring 2010)/Problem Set 5
Problem 1
In class, we learn that with the presence of a membership oracle, we can sample near uniformly from any convex body [math]\displaystyle{ K }[/math] in [math]\displaystyle{ n }[/math] dimensions, and estimate the volume [math]\displaystyle{ K }[/math]. Then we make the following idealized assumptions: for any convex body [math]\displaystyle{ K }[/math], we can
- sample uniformly from [math]\displaystyle{ K }[/math] in time polynomial of [math]\displaystyle{ n }[/math];
- compute its volume [math]\displaystyle{ \mathrm{vol}(K) }[/math] precisely in time polynomial of [math]\displaystyle{ n }[/math].
(Note that in both assumptions, the errors are ignored.)
Now consider the following problem:
Suppose that we have [math]\displaystyle{ m }[/math] convex bodies [math]\displaystyle{ K_1,K_2,\ldots,K_m }[/math], in [math]\displaystyle{ n }[/math] dimensions, provided by [math]\displaystyle{ m }[/math] membership oracles [math]\displaystyle{ \mathcal{O}_1,\mathcal{O}_2,\ldots,\mathcal{O}_m }[/math], where for any [math]\displaystyle{ n }[/math]-dimensional point [math]\displaystyle{ x }[/math], and any [math]\displaystyle{ 1\le i\le m }[/math], [math]\displaystyle{ \mathcal{O}_i(x) }[/math] indicates whether [math]\displaystyle{ x\in K_i }[/math].
With the above ideal assumptions and inputs:
- Compute [math]\displaystyle{ \mathrm{vol}\left(\bigcap_{i=1}^mK_i\right) }[/math].
- Compute [math]\displaystyle{ \mathrm{vol}\left(\bigcup_{i=1}^mK_i\right) }[/math].
(Remark: for both questions, you should explicitly describe the algorithm, and give mathematically sound analysis. The only unspecified calls of subroutines should be the membership oracles [math]\displaystyle{ \mathcal{O}_1,\mathcal{O}_2,\ldots,\mathcal{O}_m }[/math], the uniform samples from convex [math]\displaystyle{ K }[/math], and [math]\displaystyle{ \mathrm{vol}(K) }[/math] for convex [math]\displaystyle{ K }[/math].)