Isn't expecting a computer to generate a random number like expecting a computer to not be a computer? For the computer it is like creating a rule to not follow a rule. I feel EVERYTHING follows a rule(or a program). Everything follows a rule and it will follow that rule entirely UNLESS it is influenced by something other than itself. We have only labeled things being "random" or "by chance" because we don't know or don't understand the rule(or program) to the end result. Humans, Animals, Insects, Plants, Computers, Chemicals, Electronics (and what ever else you want to add) its all the same, everything follows a really simple program, we just don't always know the program(or rule). This makes Newton's Law of Motion extremely simple because EVERYTHING remains the same unless something else affects it. What it all comes down to is real simple, we are all just ones and zeros.....

closed as off-topic by jobermark, Swami Vishwananda, Nick R, Keelan, James Kingsbery Jun 6 '16 at 19:56

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "While this question may be related to philosophy or occur in a philosophical context, the question itself doesn't seem to be about philosophy, and is therefore not a good fit for our site." – Swami Vishwananda, Nick R, Keelan, James Kingsbery
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    1) You are disregarding the existence of analog computers, that can have a direct access to real randomness in a physical form like radioactive decay that just requires measuring. 2) There is a rule that makes radioactive decay unpredictable, how does that fit into your plan where nothing is random because of the rules? – jobermark Jun 4 '16 at 19:13
  • Computers don't generate random numbers, they generate pseudorandom sequences of numbers. – James Kingsbery Jun 6 '16 at 19:56

Well, the fact about computer randomness is that it isn't actually random. It appears to be random to the human eye, but a computer is actually carrying out sophisticated algorithms to generate numbers.

The most common way to generate "random" (for beginners) and easiest to explain is a pseudo random generator that takes in an initial value or a key and performs operations on the key and outputs a seemingly random number. For example, in C++, you can use the time stamp as a key and generate a random number based on the time stamp. The number is generated by performing operations on the seed value. There are much better and more advanced ways to generate random numbers, but this is just to give you a taste. If you want to read more about another method of generating random numbers, click here.

As for the implications of randomness, it is not known whether random behavior corresponds to a lack of understanding. That is a probable outcome, but we cannot be sure that something isn't in fact just random. How do you know that the phenomena you mentioned all just follow simple programs? But you are right in some sense, a lack of understanding does not imply randomness in structure.


In computing, there are two types of random number generators :

  • Pseudorandom number generators (PRNGs) : algorithms that use mathematical formulae or precalculated tables to produce sequences of numbers that appear random. PRNGs are efficient, meaning they can produce many numbers in a short time, and deterministic, meaning that a given sequence of numbers can be reproduced (in a predictable manner).

  • True Random Number Generators (TRNGs) : algorithms that extract randomness from physical phenomena, like little variations in somebody's mouse movements or in the amount of time between keystrokes. TRNGs are generally inefficient compared to PRNGs, taking considerably longer time to produce numbers. They are also nondeterministic, meaning that a given sequence of numbers cannot be reproduced (in a predictable manner).

Hard determinists would argue that TRNGs aren't completely nondeterministic. Hard determinists would argue that TRNGs are just chaotic : deterministic but unpredictable as a consequence of great complexity.

Hard determinists would argue that even quantum mechanics is fully deterministic, albeit at a level we do not yet fully understand ( = a hypothetical deterministic level underneath the probabilistic behavior scientists are starting to understand). While hard determinism is a common position among scientists, note that it's not generally accepted and that alternative perspectives like soft determinism.

Unlike hard determinists, soft determinists do believe that some phenomena in nature (eg. certain quantum phenomena) are in fact fully nondeterministic and thus thus would argue it is based to build 100% nondeterministic TRNGs by relying on such nondeterministic physical phenomena.

Further reading


Google pseudorandom number generator, e.g., https://en.wikipedia.org/wiki/Pseudorandom_number_generator

Everything you say is pretty much right, but also pretty much trite. It's all been well-known and well-understood for a long time.

  • I'm not all 1's and 0's. I got some 2 in me man. – user4894 Jun 4 '16 at 7:20

I this a question or rather a statement of opinion?

Isn't expecting a computer to generate a random number like expecting a computer to not be a computer?

The answer to this question is No.

To produce a random number, the computer computes a function from one number, the input number, to a second number, the output number.

That is what computers do!

The input number is produced from the internal state of the computer to compute a pseudo random number, or produced from the external environment to compute a "true" random number - I believe there are various formal criteria and regulations that dictate the process.

In addition a number needs to meet some specific mathematical properties to pass for a random number, pseudo or otherwise. for example the number 11111111111111111111 is very likely not random.

As for the second part of your question/statement-of-opinion, randomness in nature does not always stand for mechanisms that we do not yet know or do not wish to compute in detail.

Some processes are fundamentally random in that we believe that there is no yet-unknown mechanism that underlies their apparent randomness. Such are some quantum phenomena like for example radioactive decay.


You seem to be mixing up things: Whether "true" randomness is possible, and whether computers are capable of producing "true" randomness. As far as the first question is concerned, computers are irrelevant, so I will ignore this.

Computers can be and are capable of observing things that happen in the real world. If the real world can produce "true" randomness then computers can be built to observe that "true" randomness and repeat it back. You can decide for yourself if that would count as "true" randomness. If a dice throw were truly random, and I told you the number, would you consider the number I tell you to be random, or deterministic (depending on a random event)? I would call it random, so if true randomness is possible, computers can be capable of true randomness.

Things in the real world can also be undistinguishable from true randomness. And computers can observe these things, and use their randomness.

And then there is mathematically generated pseudo-randomness. If you start with some external random input, computers can very easily produce sequences of numbers that behave as if they were random. For some such methods, a sequence of random numbers could be analysed and the next random number predicted. But there are also "cryptographical" random number algorithms, where no feasible way to predict numbers is possible. Such a sequence is deterministic, but unpredictable.

So at the very least, computers can produce numbers that are indistinguishable from "true" random numbers.

Not the answer you're looking for? Browse other questions tagged or ask your own question.