Are some pseudo-random number generators unpredictable?

  • Context: Graduate 
  • Thread starter Thread starter bbbeard
  • Start date Start date
  • Tags Tags
    Generators
Click For Summary

Discussion Overview

The discussion revolves around the nature of pseudo-random number generators (PRNGs) and their predictability. Participants explore the differences between PRNGs and true random number generators, focusing on whether some PRNGs can be considered intrinsically unpredictable, even with knowledge of previous outputs. The conversation includes theoretical considerations and practical implications for algorithms used in computational contexts such as Monte Carlo simulations.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants assert that all PRNGs are deterministic and require a seed to produce a sequence of numbers, leading to predictability if the algorithm is known.
  • One participant suggests that certain PRNGs, like the Luscher-Marsaglia-Zaman PRNG, may have properties that complicate prediction, though they express uncertainty about whether these PRNGs are truly unpredictable.
  • Another participant introduces the idea that intrinsic unpredictability could arise from using natural measurements as part of the number generation process, contrasting PRNGs with true random number generators.
  • There is a discussion about defining the prediction problem, with some participants noting that without constraints on the recursive functions that generate outputs, many possibilities exist, complicating the predictability of future outputs.
  • Concerns are raised about whether knowing a certain number of consecutive outputs is sufficient to predict future outputs, with one participant questioning if there are PRNGs where this is not the case.
  • Participants discuss the limitations of PRNGs, acknowledging that while they can mimic true randomness, they inherently have shortcomings.

Areas of Agreement / Disagreement

Participants express differing views on the predictability of PRNGs, with no consensus reached on whether any PRNGs can be considered intrinsically unpredictable. The discussion remains unresolved regarding the specific characteristics that would define such PRNGs.

Contextual Notes

Participants highlight the need for precise definitions when discussing the prediction capabilities of PRNGs, indicating that assumptions about the algorithms and their outputs significantly influence the conclusions drawn.

bbbeard
Messages
192
Reaction score
4
The topic here is pseudo-random number generators (PRNGs), i.e. the kind of algorithm you implement on a computer to do Monte Carlo calculations.

All the PRNGs I know require a "seed" to start a sequence. Given the same seed, the algorithm, which is of course deterministic, will produce the same sequence of numbers.

Some PRNGs have the property that if you know the current output, you can predict what the next output value will be if you know what the algorithm is. I think simple linear congruential generators are in this class.

My question is, are there PRNGs which are not like this? I'm pretty sure there are; I think the Luscher-Marsaglia-Zaman PRNG is, because it actually updates some number of registers N>>1 at each step and only outputs a 32-bit current value. But I think if you know a sufficiently long sequence of outputs, you can reconstruct the contents of the registers, even if you don't know the seed, and then you could predict the next output.

Are some PRNGs intrinsically unpredictable? That is, even given a long sequence of outputs, you cannot predict the next output unless you know the seed? I am imagining some hybrid of RSS encryption and a PRNG -- or maybe mostly just RSS, since it somehow generates random-ish outputs in the course of doing its work. Is there a name for this class of PRNG?

BBB
 
Physics news on Phys.org
What is the difference between a pseudo-random number generator and an actual ideal random number generator?

You get intrinsic unpredictability where you don't know the algorithm - like if you take the lowest place-value number in a rapidly changing natural measurement like wind speed as part of your number generation.

The size of the output you need before you can work out the seed is a measure of the randomness of the generator (iirc).
 
bbbeard said:
Are some PRNGs intrinsically unpredictable? That is, even given a long sequence of outputs, you cannot predict the next output unless you know the seed?

To define the prediction problem precisely, you have to say what we are "given" about the possible PRNG's to consider. If you have an output of size N and all you know is that it comes from a recursive function, then my intuition is that there are infinitely many recursive functions that can produce that output - after all, we aren't given anything to limit the depth of the recursion. As a trivial example, one could have a recursive function that required N seeds to start it.
 
Stephen Tashi said:
To define the prediction problem precisely, you have to say what we are "given" about the possible PRNG's to consider. If you have an output of size N and all you know is that it comes from a recursive function, then my intuition is that there are infinitely many recursive functions that can produce that output - after all, we aren't given anything to limit the depth of the recursion. As a trivial example, one could have a recursive function that required N seeds to start it.

I'm not sure whether the LMZ PRNG is like this, but it would be easy to write a PRNG where the output at each step is a function of the values in N seeded registers, but is not itself stored internally. So one would not be able to "re-seed" the generator using N consecutive outputs.

In my own coding I have abused the LMZ generator by seeding it with a single 32-bit seed, which I used to seed the system call to fill the 24 registers. This means I only generated 2^32 different series of numbers, instead of a potentially much larger space, But for what I was doing that was sufficient.

My question is really just a curiosity about whether there is a difference between linear congruential generators (where the current output tells you all you need to know to predict the future outputs) and other PRNGs. As far as I know, all useful PRNGs have the property that if you know the seed(s), you can reproduce the entire sequence of outputs, and obviously there are PRNGs where knowing the current output let's you predict future outputs without knowing the seeds. But I'm wondering if there are PRNGs where knowing N consecutive outputs is still not enough to predict future outputs, for any N.

BBB
 
Simon Bridge said:
What is the difference between a pseudo-random number generator and an actual ideal random number generator?

A PRNG is an algorithm on a computer. A real random number generator uses some physical process believed to be random to generate numbers -- for example, the radiation-based products offered by http://www.aw-el.com/" . PRNGs can mimic the behavior of real RNGs but all have shortcomings of one sort or another.
 
Last edited by a moderator:
Good - now can you put that answer in terms of intrinsic unpredictability.
 

Similar threads

  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
25
Views
4K
  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
4
Views
2K
  • · Replies 88 ·
3
Replies
88
Views
10K
  • · Replies 6 ·
Replies
6
Views
2K