如何使用一对六面骰子创建一个有偏差的数字生成器

iec*_*cut 2 puzzle algorithm math

使用一对六面骰子以[1,4]不均匀生成随机数的最有效方法是:它应该在40%的时间内产生1,在30%中产生2,在20%中产生3,以及4在10%.

请证明方法的正确性并给出算法.

骰子可以是不同的颜色.

注意:唯一可用的随机数发生器是两个不同颜色的六面骰子.

cle*_*tus 8

假设两个骰子:一个白色一个黑色.

  1. 滚动两个骰子给你两个数字从1到6;
  2. 创建一个新号码:6*(白色骰子 - 1)+黑色骰子
  3. 这个数字介于1到36之间.如果高于30,则转到2并重复;

现在你有你需要的东西:

  • 1-12 = 1(12/30 = 40%)
  • 13-21 = 2(9/30 = 30%)
  • 22-27 = 3(6/30 = 20%)
  • 28-30 = 4(3/30 = 10%)

您需要的不是4种可能的结果,而是10种因为它可以代表您想要的加权结果.两个骰子可以通过多种方式产生36种可能性,但你需要的是10或10的倍数,如上所述.

这种方法的唯一缺点是它是概率性的(意味着你可以在技术上永远地重新定位31+),但我不相信存在确定性和准确的解决方案.