Random 用实随机数为随机数生成器设定种子以获得实随机数?

Random 用实随机数为随机数生成器设定种子以获得实随机数?,random,Random,这是一个一般性问题,而不是特定于编程语言 如果我使用随机数生成器(例如Java中的Math.random()),则这些数字实际上不是随机的。一种常见的做法是在本地系统时间中播种这些数字,以便在每次执行程序时获得随机数 现在,如果您使用一个真正随机的数字(例如来自random.org)进行播种,该怎么办。 你得到的数字也是真正的随机数吗 你得到的数字也是真正的随机数吗 没有 您将在每次运行时获得不可重复的序列,仅此而已 没有种子将能够纠正伪随机RNG缺陷。假设您使用线性同余生成器。众所周知,LCG

这是一个一般性问题,而不是特定于编程语言

如果我使用随机数生成器(例如Java中的
Math.random()
),则这些数字实际上不是随机的。一种常见的做法是在本地系统时间中播种这些数字,以便在每次执行程序时获得随机数

现在,如果您使用一个真正随机的数字(例如来自random.org)进行播种,该怎么办。 你得到的数字也是真正的随机数吗

你得到的数字也是真正的随机数吗

没有

您将在每次运行时获得不可重复的序列,仅此而已

没有种子将能够纠正伪随机RNG缺陷。假设您使用线性同余生成器。众所周知,LCG采样的高维点将在一些平面之间对齐。无论你如何播种这个LCG,它仍然会表现出这样的行为

有关LCG超平面效果的图示,请参见右侧第二张图片

你得到的数字也是真正的随机数吗

没有

您将在每次运行时获得不可重复的序列,仅此而已

没有种子将能够纠正伪随机RNG缺陷。假设您使用线性同余生成器。众所周知,LCG采样的高维点将在一些平面之间对齐。无论你如何播种这个LCG,它仍然会表现出这样的行为

有关LCG超平面效果的图示,请参见右侧第二张图片

你得到的数字也是真正的随机数吗

没有

您将在每次运行时获得不可重复的序列,仅此而已

没有种子将能够纠正伪随机RNG缺陷。假设您使用线性同余生成器。众所周知,LCG采样的高维点将在一些平面之间对齐。无论你如何播种这个LCG,它仍然会表现出这样的行为

有关LCG超平面效果的图示,请参见右侧第二张图片

你得到的数字也是真正的随机数吗

没有

您将在每次运行时获得不可重复的序列,仅此而已

没有种子将能够纠正伪随机RNG缺陷。假设您使用线性同余生成器。众所周知,LCG采样的高维点将在一些平面之间对齐。无论你如何播种这个LCG,它仍然会表现出这样的行为


请参见右侧第二张图片,以了解LCG超平面效果的图示。答案是否定的,生成的序列不会比生成器能够生成的任何其他序列更随机

伪随机数生成器根据某些内部状态通过算法生成一系列值。最终(对于一个好的PRNG来说,这可能是一个很长的时间!)发电机将处于它以前访问过的状态,因为状态的数量是有限的。从那一点开始,一切都将重复相同的过程,因为当通过确定性算法启动时,每个状态将不可避免地导致相同的后续状态。换句话说,PRNG都会产生一系列最终循环的值。Java的PRNG周期约为248次迭代。Mersenne Twister的周期长度约为219937,在你的一生中,你永远不会循环通过它的整个状态空间,但它仍然产生一个确定的值序列


虽然细节因PRNG而异,但种子设定用于确定初始状态。选择一个真正随机的种子值意味着你在一个随机选择的点进入确定性循环,但从该点开始它仍然是一个确定性序列。

答案是否定的,结果序列不会比生成器能够产生的任何其他序列更随机

伪随机数生成器根据某些内部状态通过算法生成一系列值。最终(对于一个好的PRNG来说,这可能是一个很长的时间!)发电机将处于它以前访问过的状态,因为状态的数量是有限的。从那一点开始,一切都将重复相同的过程,因为当通过确定性算法启动时,每个状态将不可避免地导致相同的后续状态。换句话说,PRNG都会产生一系列最终循环的值。Java的PRNG周期约为248次迭代。Mersenne Twister的周期长度约为219937,在你的一生中,你永远不会循环通过它的整个状态空间,但它仍然产生一个确定的值序列


虽然细节因PRNG而异,但种子设定用于确定初始状态。选择一个真正随机的种子值意味着你在一个随机选择的点进入确定性循环,但从该点开始它仍然是一个确定性序列。

答案是否定的,结果序列不会比生成器能够产生的任何其他序列更随机

伪随机数生成器根据某些内部状态通过算法生成一系列值。最终(对于一个好的PRNG来说,这可能是一个很长的时间!)发电机将处于它以前访问过的状态,因为状态的数量是有限的。从那一点开始,一切都将重复相同的过程,因为当通过确定性算法启动时,每个状态将不可避免地导致相同的后续状态。换句话说,PRNG都会产生一系列最终循环的值。Java的PRNG周期约为248次迭代。Mersenne Twister的周期长度约为219937,在你的一生中,你永远不会循环通过它的整个状态空间,但它仍然产生一个确定的值序列

虽然各PRNG的详细信息各不相同,但种子设定用于确定