system
Given the following post, respond as if you're commenting on Reddit:
human
Why are most random number generators said to be "pseudo-random" rather than truly random? What is the difference between true randomness and pseudo-randomness?

Reading a book on programming they mentioned that the Random function for C# didn't actually produce random numbers, it produced pseudo-random numbers, but that this is acceptable for almost all situations. I'm a bit confused as to what they actually mean. My understanding is as follows:

My random number generator is designed to output either a 1, 2, 3 or 4. The random number generator will "designate" an equal probability for all possible outcomes (in this case it would be .25 for each number), but somehow the designation of the probably means that it is not truly random. But if this is not truly random, how can a number generator actually produce a truly random number? Wouldn't it always have to assign a probability for each number, thus always making it's decision pseudo-random? 


EDIT: Does this mean that randomness can only happen in an environment that we cannot completely control? So flipping a coin, since we can not actually *force* the coin to has a 50-50 chance of being heads or tails (in the same sense that a  program can) mean that a coin flip is truly random.

EDIT #2: So I looked up a bit more about this because I'm really curious about this and got the following situation

If you had a program that "generated a random number" by creating a predetermined sequence of numbers in which each number had a 25% chance to occur and the only reason they have this probability is because the program put an equal number of occurrences for each number (So if it created a sequence of 100 numbers it would make sure that the number 1 occurs 25 times, the number 2 occurs 25 times etc...). If this random number generator was to be truly random then it **can not** create a table that has more than 1 number in the sequence. It would have to create a new table every time.
gpt
Let's start with the definition of deterministic.  A deterministic process or system has one future for each state.  In phase-space, the trajectories don't cross.  So you can usually predict the future state of a particle given the particles current state.

Random processes/functions/systems (whatever) can have multiple futures for one state.

On computers, random numbers typically are deterministically generated, but by a process so complex that each future state is not easily predictable (you can have determinism without predictability: see chaos for instance) and also such that their distribution obeys the statistics of the desired random process.