最佳随机性方程

时间:2012-04-11 08:08:25

标签: random

我必须根据当前的随机生成标准编写算法。我的意思是,我必须选择一个现有的并与各种因素相结合(可能是通过学习现有事实)。那么什么是开始阅读随机生成器的最佳位置。我知道维基,但要有一个有限的开始,我必须阅读一些文章或论文。而且,我需要一个快速的开始。现有的随机发生器有哪些,它们考虑的因素是什么?如何将事实强加给它?

2 个答案:

答案 0 :(得分:2)

如果您不知道自己在做什么(您的问题听起来不像是L'Ecuyer或Marsaglia),那么请远离修改或组合PRNG。你更有可能损害发电机的质量,而不是改善它。

如果您谈论的是冷冻图PRNG,这个建议会更有效。

答案 1 :(得分:1)

当前算法不会生成随机数字。它们生成 - 随机数。这不是一回事。

随机号码通常可以使用某种硬件从大自然中获取。例如,如果您从FM调谐器读取调谐到接收大气噪声的声级,则数字将非常随机。这种生成器的示例是random.org。您还可以实施骰子投掷或掷硬币机器人或something similar。在linux上,您可以使用/ dev / random使用用户生成随机事件。

要确定 - 随机数生成器是否产生可用于加密的高质量随机性,PRNG生成的数据应通过诸如this之类的prng测试。这并不容易,许多PRNG在他们身上失败了。产生相对高质量的随机数同时保持易于实现的算法之一是XorShift。但是,易于实现并不意味着很容易理解这个特定生成器背后的logic

  

此外,我需要一个快速的开始。

与每个主题一样,快速入门将是去维基百科并开始阅读该主题的所有参考,或谷歌。到目前为止,您似乎还没有尝试过这样做。

  

我知道维基

不,不。如果你“知道wiki”,你就会知道每篇文章的末尾都是用来撰写文章的资源列表。阅读消息来源。