对于科学实验,我需要生成 10 个随机、固定大小的列表子集。为了使实验可重复,我想用已知种子初始化 10 个不同的 random.Random() 实例。
随机种子需要有多不同?似乎表明使用种子 1 到 10 可能是一个坏主意,因为结果可能是线性相关的。
如果在这种情况下选择种子 1 到 10 是不好的做法,那么以可重复的方式选择种子的好策略是什么?
澄清:在程序运行时(使用特定数据集)始终使用相同的种子是很重要的!最后,我的程序必须是确定性的。
使用random.org,我从 生成 10 个随机数2**0 to 2**28,作为种子:
187372311
204110176
129995678
6155814
22612812
61168821
21228945
146764631
94412880
117623077
Run Code Online (Sandbox Code Playgroud)
正如评论中所述,使用线性种子序列可能会出现问题。来自 random.org 的数字:
[...] 来自大气噪声,在许多方面,它比计算机程序中通常使用的伪随机数算法更好。
| 归档时间: |
|
| 查看次数: |
1814 次 |
| 最近记录: |