2
$\begingroup$

Nice to see you!

I heard that computers cannot make real random sequences but only pseudorandom sequences.

  1. Is making random sequence that hard? Why? If pattern was found, changing a digit not going to be real random sequence?
  2. If you are given a number, can you tell if it is random or pseudorandom?
  3. If there is a really long pseudorandom sequence, how one can find a pattern in it?

Sorry for bad English.

  • 0
    I attempted to rephrase the questions. The "coming across" question, #2, seems to ask: if you just come across a number, how can you tell if it's actually random?2011-09-16

2 Answers 2

2

(1) By itself, an ideal computer cannot create a random number -- all of its computations are determinate. Real computers, however, can develop useful random seeds, usually by timing external events, and those numbers can be used to seed PRNG's, pseudo-random number generators.

(2) "Given a number", with no further restrictions on the source of the number, it could of course be non-random, random, or the result of some computation based on pseudo-random numbers. Also, even if you are told, "This is a random number," unless you are also informed about the distribution from which the number was drawn, you have no information about "how random" the number is.

(3) "Pattern" and "really long" are terms too vague for a full answer to be framed. Generally, if you are given trillions of consecutive numbers from a cryptographically secure PRNG and want to find the next number in sequence, that will take millenia or longer, using current computers and knowledge. For lower-quality PRNG's, one of the many statistical test suites for PRNG's may reveal an answer.

2

Yes, making random sequences is hard. I recommend reading Chapter 3, Random Numbers, in Seminumerical Algorithms, Volume 2 of Knuth's The Art Of Computer Programming.