Random 真随机vs.伪随机(你能伪随机真随机吗)

Random 真随机vs.伪随机(你能伪随机真随机吗),random,Random,好的,所以这个问题涉及到一点前瞻性。请容忍我。 有一个网站random.org(和其他类似网站)声称使用某种量子过程来产生真正的随机数。 如果有人一遍又一遍地查询这个网站,并建立一个真实随机数的大量日志。然后,程序会重新排列此日志,以尽可能随机地将其混合。结果输出是否比开始时随机性小?多少钱? 关于这个主题有什么好的/便宜的进一步阅读吗?如果你有一个需要N个“随机”数字的过程,你可以从网站上取N个,然后按顺序使用它们,一切都会好的。如果你重新调整它们,你会使它们不那么随机 如果你需要持续提供随机

好的,所以这个问题涉及到一点前瞻性。请容忍我。 有一个网站random.org(和其他类似网站)声称使用某种量子过程来产生真正的随机数。 如果有人一遍又一遍地查询这个网站,并建立一个真实随机数的大量日志。然后,程序会重新排列此日志,以尽可能随机地将其混合。结果输出是否比开始时随机性小?多少钱?
关于这个主题有什么好的/便宜的进一步阅读吗?

如果你有一个需要N个“随机”数字的过程,你可以从网站上取N个,然后按顺序使用它们,一切都会好的。如果你重新调整它们,你会使它们不那么随机

如果你需要持续提供随机数,那么问题是这些伪随机数字的相对质量与如果你有一个真正的随机序列会发生什么


然而,既然linux和windows都通过利用硬件熵来提供真正的随机数,为什么不直接使用它们呢

这将取决于您如何重新排列它们。如果您使用伪随机函数来执行此操作,则结果可能会更少随机。如果您使用“真实随机”对其自身进行重新排序,它将不会更随机


人们忘记的一件事是,对一些真实随机数使用伪随机函数的原因是重复和测试。如果使用伪随机函数得到一些意外的结果,则可以更轻松地查看可能出现的问题。

按固定排列对随机数重新排序不会改变随机性的程度

因此,如果您有一个完美的随机数源,那么重新排列的相同位将同样随机。如果“洗牌”是固定的重新排序(例如反转所有位)还是由伪随机数生成器生成的洗牌(这实际上是从某个初始种子定义固定的重新排序的一种非常模糊的方式),则这将是正确的

这是可以从基础数学证明的——如果你对一组真正独立的同分布随机变量重新排序,那么得到的分布将与你开始时的分布相同。因此,它同样是随机的


但是,如果混洗以某种方式依赖于随机位的值,则这不起作用。例如,如果您对位进行排序而不是排列,那么您将不会有很好的随机输出:-)。

您肯定是指随机有理数。我相信Cosmin的意思是42。我敢肯定这只是一个十进制/舍入/符号错误。它们不会是随机的,因为计算机上的伪随机数生成器不是随机的。这是一个数学公式/算法被用来进行选择。我从来没有听说过“更少随机性”这个词。一个过程可能是随机的,也可能不是。这个问题可能会在math.stackexchange或stats.stackexchange上得到更好的答案。免责声明:我在这里看到它没有任何问题。好吧,但是如果你使用Windows或Linux的“真实”随机数生成来随机“真实”随机样本,它应该是随机的,对吧?不一定。是时候请一位真正的数学家了。这不是出于任何实际原因。我只是对伪随机性的行为感兴趣!谢谢!:)Windows不提供真正的随机数(请参阅-)。我的猜测是Linus没有./dev/random、/dev/uradom,我相信windows中的加密API也有类似的功能。