jeudi 1 mars 2018

Reproduce random numbers in C# reusing the same initial seed value across differing architectures?

I want to run a scientific experiment which requires random numbers. However, the random numbers must be reproducible, since a scientific experiment's result set must be able to be reproduced for verification/validation and use by others.

Note: I do not need any special/secure random numbers, simple pseudo-random numbers are perfectly acceptable.

In C#, it is possible to seed the Random Number Generator. However, will seeding the random number generator (with the same value) produce the same set of random numbers:

  1. Across different machines?
  2. Across different operating systems?
  3. Across different versions of .NET or C#?

Obviously there is a solution, which is to record the set of random numbers and publish it with my experiment, but that seems excessive and I wonder whether it is really necessary.

I am interested in both documented and actual real world usage. (i.e. if documentation states one thing, but real world usage shows something else).




Aucun commentaire:

Enregistrer un commentaire