Except a computational machine is unable to generate a random number?
No, a purely computational (deterministic) machine cannot generate a truly random number — only pseudo-random ones. Here’s why:1. Determinism of computersClassical computers (Turing machines, von Neumann architecture, etc.) are deterministic: if you give them the exact same inputs and internal state, they will always produce the exact same outputs. To generate a number, an algorithm needs:A seed (initial value)
A deterministic function that transforms the seed into a sequence
Even the best algorithms (Mersenne Twister, xorshift, PCG, ChaCha, etc.) are completely reproducible if you know the seed and the algorithm. That’s why they’re called pseudo-random number generators (PRNGs).2. What “true” randomness requiresTrue randomness means the outcome is fundamentally unpredictable, even in principle. This requires a physical process that is not deterministically controlled by the machine’s state, such as:Thermal noise in resistors or diodes
Quantum decay of radioactive atoms
Quantum shot noise in photodiodes (used in many quantum RNGs)
Atmospheric noise, lava lamps (Cloudflare’s famous wall), etc.
These are hardware random number generators (HRNGs) or true random number generators (TRNGs).3. What modern systems actually doOperating systems (Windows, Linux, macOS) combine:A PRNG (very fast, cryptographic-grade like ChaCha20, AES-CTR, etc.)
Periodic reseeding from hardware entropy sources (/dev/random or getrandom() on Linux, BCryptGenRandom on Windows, etc.)
So when you call something like Python’s random.random() or os.urandom(), you usually get cryptographically secure pseudo-random numbers that have been seeded/whitened with real physical entropy.
-
Edge cases and quantum computingSome services (e.g., cloudflare’s League of Entropy, ANU QRNG, ID Quantique devices) provide genuine quantum randomness over the internet.
Future large-scale fault-tolerant quantum computers could sample from truly random quantum states, but even then the randomness comes from quantum physics, not from the computation itself.
Short answerA classical computational machine, running only deterministic algorithms, can only generate pseudo-random numbers — never truly random ones. True randomness requires harvesting unpredictable physical phenomena (usually hardware or quantum).