2

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?

User1865345
  • 8,202
user379945
  • 21
  • 1
  • Maybe multiplication/division? – user2974951 Feb 14 '23 at 08:13
  • 1
    Applying the inverse cdf + cdf transform turns a Normal into a Pareto. – Xi'an Feb 14 '23 at 08:26
  • 5
    More 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
  • 1
    You 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 Answers1

1

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$.

HighDiceRoller
  • 148
  • 1
  • 1
  • 5