How different do random seeds need to be?

前端 未结 6 1366
情深已故
情深已故 2020-12-06 16:28

Consider code like this (Python):

import random

for i in [1, 2, 3, 4]:
    random.seed(i)
    randNumbers = [random.rand() for i in range(100)] # initialize         


        
6条回答
  •  一整个雨季
    2020-12-06 17:21

    Short answer: Avoid the re-seeding, as it doesn't buy you anything here. Long answer below.


    That all depends on what exactly you need. In Common defects in initialization of pseudorandom number generators it is outlined that linear dependent seeds (which 1, 2, 3, 4 definitely are) are a bad choice for initializing multiple PRNGs, at least when used for simulation and desiring uncorrelated results.

    If all you do is rolling a few dice, or generating some pseudo-random input for something uncritical, then it very likely doesn't matter.

    Note also that using some classes of a PRNG itself for generating seeds have the same problem in generating linear dependent numbers (LCGs spring to mind).

提交回复
热议问题