So I know that there's a really easy way to generate a normal distribution with dice (simply add them). Is there a way to generate a Pareto distribution?
-
Maybe multiplication/division? – user2974951 Feb 14 '23 at 08:13
-
1Applying the inverse cdf + cdf transform turns a Normal into a Pareto. – Xi'an Feb 14 '23 at 08:26
-
5More seriously, using (only) a dice cannot produce a generation from a continuous distribution. See this https://stats.stackexchange.com/a/247250/7224 entry. – Xi'an Feb 14 '23 at 08:31
-
1You tagged with [tag:discrete-distributions], but the Pareto is continuous? – kjetil b halvorsen Feb 14 '23 at 23:02
-
My guess is that the "dice" are implied to be physical with discrete faces. Though IMX this sort of problem tends to end up in a grey area where any concrete solution must be discrete, but we are not really committing to any specific target discretization. – HighDiceRoller Feb 15 '23 at 00:24
1 Answers
If you are looking to use physical dice in a tabletop game, here are a couple approximations that may be reasonably aesthetically pleasing.
Tail behavior: "stackable critical hits"
- Roll a die with $s$ sides labeled with a "critical hit" on one face, and the rest positive integers.
- If you roll a critical hit, roll again and multiply the result by $c$.
- Keep multiplying as long as you keep rolling critical hits.
What is the asymptotic chance of reaching at least a threshold $x$?
- You need $\log_c x$ critical hits (plus some constant) to reach $x$.
- Each critical hit has a chance of occurring $\frac{1}{s}$.
All in all, the chance is proportional to
$$ P\left(X \geq x \right) \propto \left( \frac{1}{s} \right)^{\log_c x} = x^{- \log s / \log c} $$
Compare the survival function of a Pareto distribution
$$ P\left(X \geq x\right) = \left( \frac{x_m}{x} \right)^\alpha $$
and we have a match with $\alpha = \frac{\log s}{\log c}$. For example:
- The St. Petersburg game corresponds to the case of $s = 2, c = 2$ which makes $\alpha = 1$.
- A Dungeons & Dragons-like system with $s = 20, c = 2$ makes $\alpha \approx 4.32$.
You can make the distribution look more or less like the Pareto distribution in details and/or try to hit a particular $x_m$ by choosing the numbers on the faces of the die, or by using some sort of compound dice roll rather than a single standard die. Though you'll eventually run into tradeoffs between making a better approximation, the complexity of the rolling process, and other considerations.
Threshold-only: "step dice"
If you don't need the exact value of a sample, but only whether it exceeds a target threshold (e.g. binary pass/fail resolution in a tabletop game), then you can use the survival function
$$ P\left(X \geq x\right) = \left( \frac{x_m}{x} \right)^\alpha $$
directly by rolling $\alpha$ dice, each with $x$ sides labeled $1 \ldots x$, taking the highest, and seeing if the result is less than or equal to $x_m$.
- 148
- 1
- 1
- 5