  Randomized approximation algorithms for many #P-complete problems (such as
the partition function of a Gibbs distribution, the volume of a convex body,
the permanent of a $\{0,1\}$-matrix, and many others) reduce to creating random
variables $X_1,X_2,\ldots$ with finite mean $\mu$ and standard
deviation$\sigma$ such that $\mu$ is the solution for the problem input, and
the relative standard deviation $|\sigma/\mu| \leq c$ for known $c$. Under
these circumstances, it is known that the number of samples from the $\{X_i\}$
needed to form an $(\epsilon,\delta)$-approximation $\hat \mu$ that satisfies
$\mathbb{P}(|\hat \mu - \mu| > \epsilon \mu) \leq \delta$ is at least
$(2-o(1))\epsilon^{-2} c^2\ln(1/\delta)$. We present here an easy to implement
$(\epsilon,\delta)$-approximation $\hat \mu$ that uses
$(2+o(1))c^2\epsilon^{-2}\ln(1/\delta)$ samples. This achieves the same optimal
running time as other estimators, but without the need for extra conditions
such as bounds on third or fourth moments.
