random.seed() 的每个选择的种子是否保证随机生成均匀分布的序列?
Does every chosen seed for random.seed() guarantee that random will generate a uniformly distributed sequence?
假设我想使用 random.seed(SEED) 和 [= 生成 n > 10 ^ 20 个数字13=]n 对 random.random() 的后续调用。无论 SEED 的选择值如何,生成的序列是否保证均匀分布?
Let's say I would like to generate n > 10 ^ 20 numbers
假设不是。如果每秒能产生十亿个值,那需要1E20 values / 1E9 values per second / 3600 seconds per hour / 24 hours per day / 365.25 days per year
,也就是3000多年。即使你有可靠的硬件和能源,你也不会在那里看到结果。
using random.seed(SEED) and n subsequent calls to random.random()
结果在统计上与制服无法区分,因为底层算法 Mersenne Twister 旨在产生这种行为。
假设我想使用 random.seed(SEED) 和 [= 生成 n > 10 ^ 20 个数字13=]n 对 random.random() 的后续调用。无论 SEED 的选择值如何,生成的序列是否保证均匀分布?
Let's say I would like to generate n > 10 ^ 20 numbers
假设不是。如果每秒能产生十亿个值,那需要1E20 values / 1E9 values per second / 3600 seconds per hour / 24 hours per day / 365.25 days per year
,也就是3000多年。即使你有可靠的硬件和能源,你也不会在那里看到结果。
using random.seed(SEED) and n subsequent calls to random.random()
结果在统计上与制服无法区分,因为底层算法 Mersenne Twister 旨在产生这种行为。