Sho*_*hoe 5 language-agnostic random function
介绍
我知道我会因为这个问题而失去很多声誉,而且我也知道它会被标记为不合适,但我真的很好奇,所以如果有机会,我不会放弃一个答案.
题
今天我醒来时想:
嘿,如果随机函数是由算法创建的,它们如何才能真正随机?
想一想.你怎么能创建一个模拟随机性的函数,而不是已经内置的随机概念?我开始思考:
嘿,我拿了一个int数组,然后我再做[事物],然后[事物],再比[事物],然后我只选择奇数...... ecc
但似乎更有可能使预测选择的内容更加混乱,而不是真正的随机性.
是否有可能创造随机性?如何rand()
创建返回随机整数的函数(例如在PHP中)?他们如何模拟随机性?
通过算法产生所谓随机数的函数是伪随机数生成器。如果您知道用于生成序列的种子,那么数字是可以预测的。序列本身是统计随机分布,但不是真正随机的。
有一些 真正的随机数生成器,通常涉及一些从物理世界(例如放射性或声学噪声)中采样随机性的硬件。一个简单的实现是对硬盘访问和鼠标移动进行采样。请参阅random.org了解真正的 RNG。
强制性xkcd条: