这是基于这个问题。提出了许多产生不均匀分布的答案,我开始想知道如何量化输出的不均匀性。我不是在寻找模式问题,只是在寻找单值方面。
接受的程序是什么?
我目前的想法是通过计算每个值的熵并取加权平均值来计算每次调用的平均香农熵。然后可以将其计算为预期值。
我的担忧是
- 这个对吗?
- 如何在不损失精度的情况下计算这些值?
对于#1,我想知道我是否正确。
对于#2,我担心的是我会处理大小为 1/7 +/- 1e-18 的数字,我担心浮点错误会因为除最小问题之外的任何问题而杀死我。计算的确切形式在这里可能会导致一些重大差异,我似乎记得对于一些特殊的日志案例有一些 ASM 选项,但我似乎找不到关于此的文档。
在这种情况下,使用为 range 获取一个“好”的 PRNG 并为 range[1,n]
生成一个 SRNG [1,m]
。问题是结果比输入差多少?
我所拥有的是每个输出值的预期发生率。