Can random numbers be produced by computers? In c++, you have functions like rand(), srand(), time(0) that more or less extract series of random numbers from a random number table. How do people produce the table in the first place?
old state = seconds since Jan 1 1970 + process id new state = ((old state * big number) modulo (other number)) + large number
There are algorithms to generate the "nth" digit of pi, the sequence would repeat unless "n" were stored and continued to be incremented each time the generator was used.kant said:Can random numbers be produced by computers?
Jeff Reid said:There are algorithms to generate the "nth" digit of pi, the sequence would repeat unless "n" were stored and continued to be incremented each time the generator was used.
chroot said:Viewed in this light, pi is nothing more than a giant table of truly random numbers, computed on-demand, and the hard part of the problem is picking a truly random n to start reading it. Since no computer will ever be able to choose a truly random starting n, the resulting algorithm's output is still not truly random.
chroot said:There's also a pigeon-hole problem here: a computer with 2^10 bits of memory, for example, can only choose one of 2^10 different starting points for n. It would be impossible for a computer of finite memory capacity to truly explore ALL of pi. This means that, at some perhaps distant time in the future, the computer will select a value for n that was previously selected.
starting places but
chroot said:You lost me there. What are you talking about?
George Jones said:Consider base b numbers. How many n-digit numbers are possible?
b^n, e.g, in base 10, 10^3 3-digit numbers are possible.
Hence, 2^(2^10) 2^10-digit binary numbers are possible.