用Python为科学实验选择随机种子的好方法是什么

用Python为科学实验选择随机种子的好方法是什么,python,random,Python,Random,对于一个科学实验,我需要生成10个随机的、固定大小的列表子集。为了使实验可以重复,我想用一个已知的种子初始化random.random()的10个不同实例 似乎暗示使用种子1到10可能是个坏主意,因为结果可能是线性相关的 如果在这种情况下选择1到10个种子是一种不好的做法,那么以可重复的方式选择种子的好策略是什么 澄清:运行程序时(使用特定数据集)始终使用相同的种子非常重要!最后,我的程序必须是确定性的。使用,我从2**0到2**28生成了10个随机数,作为种子给出: 187372311 204

对于一个科学实验,我需要生成10个随机的、固定大小的列表子集。为了使实验可以重复,我想用一个已知的种子初始化random.random()的10个不同实例

似乎暗示使用种子1到10可能是个坏主意,因为结果可能是线性相关的

如果在这种情况下选择1到10个种子是一种不好的做法,那么以可重复的方式选择种子的好策略是什么

澄清:运行程序时(使用特定数据集)始终使用相同的种子非常重要!最后,我的程序必须是确定性的。

使用,我从
2**0到2**28生成了10个随机数,作为种子给出:

187372311
204110176
129995678
6155814
22612812
61168821
21228945
146764631
94412880
117623077
使用注释中所述的线性种子序列。random.org上的数字:

[…]来自大气噪声,在许多方面,它比计算机程序中通常使用的伪随机数算法要好


为了争夺声誉,我将在这里发表评论:;)


使用未知种子中的一些随机变量来生成种子值怎么样? 写下你的数字,并保存它们以备复制

如果您需要true随机数据,请尝试,它们还具有序列和分布生成器

编辑

这取决于你想要什么样的随机数。 您希望为PRNG设定种子,因此您可能(并非有意双关语)希望从PRNG能够接受作为种子的完整范围中获得均匀分布的数字。然后,生成它们,并将它们写在某个地方。如果您想阅读一些关于PRNG的内容,C++11的库中有一些好的:


HTH

使用未知种子中的一些随机值来生成种子值怎么样?我对问题进行了澄清。对于可重复性,当程序为特定的数据集运行时,我总是需要相同的种子值。是的,这就是我的意思。写下你的号码。如果你需要真正的随机数据,试试看,它们也有序列和分布生成器。虽然存储种子是一种可行的方法,但在我的例子中也不是很实用。我想知道,特别是对于Python随机方法,是否有一种方法可以以确定性的方式选择种子,从而生成独立的随机数据集。@PeterSmit听起来好像您希望代码具有可复制性。如果是这样的话,请知道相同的种子应该在不同的计算机上提供相同的序列,因为它们都使用Mersenne捻线器生成器。如果您不想存储10个不同的种子,请存储一个种子,如果您需要说每个程序和10个程序有500个随机数,请从同一个种子一次生成所有5000个数字,结果(在序列随机性的意义上)应该是相同的。