存储随机状态

2024-05-19 08:59:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设计一个程序:

  1. 包括随机性
  2. 可以停止执行并在某些点保存其状态(XML)
  3. 可以从保存的状态开始执行
  4. 是确定性的(因此程序可以从相同的状态运行两次并产生相同的结果)

这里的问题是保存随机性。我可以在开始时初始化它,但从一个州到另一个州,我可能会生成0到1000个随机数

因此,我可以看到3个选项:

  1. 存储种子,并且随机生成一个数字的次数,然后在加载状态时,多次运行随机数生成器
  2. 在状态保存时,将种子数增加N
  3. 在状态保存时,随机生成下一个种子

选项1的问题是运行时,这是不可行的

然而,我不确定2或3是否会产生良好的随机结果。如果我运行两个随机生成器,一个是X,另一个是X+1,它们的结果会有多大的不同?如果第一个种子是X,第二个种子是X.random()

如果有区别,我使用的是Python 3


Tags: 程序状态选项数字randomxml次数种子

热门问题