随机函数如何真正随机?

Sho*_*hoe 5 language-agnostic random function

介绍

我知道我会因为这个问题而失去很多声誉,而且我也知道它会被标记为不合适,但我真的很好奇,所以如果有机会,我不会放弃一个答案.

今天我醒来时想:

嘿,如果随机函数是由算法创建的,它们如何才能真正随机?

想一想.你怎么能创建一个模拟随机性的函数,而不是已经内置的随机概念?我开始思考:

嘿,我拿了一个int数组,然后我再做[事物],然后[事物],再比[事物],然后我只选择奇数...... ecc

但似乎更有可能使预测选择的内容更加混乱,而不是真正的随机性.

是否有可能创造随机性?如何rand()创建返回随机整数的函数(例如在PHP中)?他们如何模拟随机性?

Mar*_*ade 4

通过算法产生所谓随机数的函数是伪随机数生成器。如果您知道用于生成序列的种子,那么数字是可以预测的。序列本身是统计随机分布,但不是真正随机的。

一些 真正的随机数生成器,通常涉及一些从物理世界(例如放射性或声学噪声)中采样随机性的硬件。一个简单的实现是对硬盘访问和鼠标移动进行采样。请参阅random.org了解真正的 RNG。

强制性xkcd

获取随机数()...