Can you expect with certainty that any pseudo-random number generator will produce the same stream with a shared seed?
$\begingroup$
$\endgroup$
11
-
2$\begingroup$ Can you point any definition of pseudo random generator that even remotely suggests otherwise? Or are you considering divergent implementations due to errors or incomplete specifications, incorrect use, defective hardware, cosmic rays, miracles? $\endgroup$– fgrieu ♦Commented Apr 16, 2020 at 20:29
-
$\begingroup$ @fgrieu How can it be that every implementation of a PRNG produces the same output? Can you recommend academic sources explaining? $\endgroup$– Daniel AwbreyCommented Apr 16, 2020 at 20:36
-
2$\begingroup$ If two different implementations generate different streams given the same seed, they're not the same PRNG (they may be ones with equivalent security, but not the same one) $\endgroup$– ponchoCommented Apr 16, 2020 at 21:01
-
$\begingroup$ There have supposedly been cases where people have reverse-engineered the PRNG's used in casino slot machines, to predict when these machines will payout. See wired.com/story/… $\endgroup$– mti2935Commented Apr 16, 2020 at 22:06
-
2$\begingroup$ @DanielAwbrey In reverse, can you name any algorithm that generates different output for the same input? PRNG's are just that, mathematical algorithms. Like almost all algorithms in computers (or otherwise), they are entirely deterministic. Actually, it is quite wonderful that they can produce a unpredictable stream given an unpredictable seed. $\endgroup$– Maarten Bodewes ♦Commented Apr 16, 2020 at 22:59
|
Show 6 more comments
1 Answer
$\begingroup$
$\endgroup$
0
Take (hypothetical) seeded deterministic PRNG algorithm Gen1
. If you use Gen1
to produce a stream, and I use Gen1
with the same seed, I will get an identical stream. As per Wikipedia's definition, a PRNG is deterministic.
Now consider another hypothetical seeded deterministic PRNG Gen2
, which uses a different algorithm than Gen1
. If I use Gen2
with the same seed as before, there is no reason to expect the same stream to result.