Gee*_*eek 5 language-agnostic random
我读到种子用于初始化随机数生成器.但似乎种子的随机性对于从发电机获得良好的随机性无关紧要.所以我想了解什么是种子呢?为什么这么称呼?最后,为什么计算机系统中的时间用于生成这样的种子?
Jas*_*onD 10
伪随机数发生器产生一系列数字.它不是真正随机的,而是通常的数学计算,它产生的输出与某些理想的分布相匹配,并且没有明显的模式.为了产生这样的序列,必须存储用于生成器的状态以能够生成该序列中的下一个数字.每次使用上一步的输出的某些部分更新状态.
播种显式初始化此状态."种子"是一个起点,东西从中产生.在这种情况下,一系列数字.
这可以用于始终生成相同的序列(通过使用已知的常量种子),这对于具有确定性行为是有用的.这适用于调试,某些网络应用程序,加密等.
或者,在您希望行为不可预测的情况下(每次运行程序时总是不同,也许是纸牌游戏),您可以使用可能不断变化的数字(例如时间)来播种.
序列的"随机性"不依赖于所选择的种子,但它确实取决于不重新接种序列.