I was wondering what are the current state-of-the-art methods (i.e., your favourite methods, if you are an expert) for Monte Carlo sampling from a target density function $f(x)$ with $x \in \mathbb{R}^d$, $d > 1$, given different amount of accessible knowledge about $f$. 

If you already know a lot about $f$, or you spend a lot of time to get to know the details of $f$, you could do pretty clever stuff; but this is not often the case and I am curious to know what would be the first out-of-the-box method that you would try to attack the problem in these cases.

Specifically, let us consider the following scenarios:

 1. When for $f(x)$ you only have an unnormalized _black-box_. That is, you can only evaluate $f$ exactly at a given point $x$, and up to a normalization constant. You may have some vague information about the meaning of $x$.
 2. As (1) but also with gradient information.
 3. As (1) but the normalization constant is known (does it allow to do better?).
 4. As (1) but we know that $f(x)$ has compact support within a known region $\mathcal{U} \subset \mathbb{R}^d$.
 5. As any above and we know that $\log f(x) = \sum_{i = 1}^n \log f_i(x)$, and we can evaluate the various $f_i$ separately.
 6. As (1) but we can only get a noisy (unbiased) estimate of $f(x)$ itself.
 7. As (6) but with an unbiased estimate of $\log f(x)$.

I'll post below what would be my answers, to give an idea.