Why scientists need truly random numbers?

407 views

What are pseudo-random numbers? What’s wrong with them?

In: 3

12 Answers

Anonymous 0 Comments

Pseudo-random numbers are numbers that are generated by a computer program using a mathematical algorithm. These numbers appear to be random, but they are actually generated in a predictable way. The main problem with pseudo-random numbers is that they are not truly random, so they may not provide the same level of security as true random numbers.

Anonymous 0 Comments

Pseudo-random numbers are numbers that are generated by a computer program using a mathematical algorithm. These numbers appear to be random, but they are actually generated in a predictable way. The main problem with pseudo-random numbers is that they are not truly random, so they may not provide the same level of security as true random numbers.

Anonymous 0 Comments

Think of a coin toss. You can either get heads or tails a 0 or 1. Now true randomness means that exactly ½ of the times you get 0 and ½ of the times 1. But a coin toss isn’t random its just chaotic enough (heavily dependent on initial conditions) to be unpredictable. It isn’t truly random its pseudo-random.

A computer can generate you pseudo-random numbers in much the same way, the generation algorithm is chaotic. Much like a coin toss it is technically predictable like you can make a robot that always produces heads, but its practically random.

Now true randomness has no underlying mechanism so using algorithms cant produces truly random numbers. When it comes to science we often use random numbers for certain algorithms. Like you simulate a physical system and you want to know where random perturbations take that system, theoretically over time the system should settle in its lowest energy state, its most stabil state. So you can simulate this using random numbers. True randomness isn’t really required.

When it comes to quantum mechanics we find true randomness, and that can make simulating these systems difficult for just 1 or 2 particles. But when it comes to the mathematics we have the necessary mathematical tools to deal with this randomness.

So probably theory deals with truly random situations. Even treating pseudo-random ones as being truly random. Like a dice throw or a coin toss. But when it comes to simulating things we can only generate numbers that look random enough, now we can theoretically figure out these numbers by looking into the algorithm, but simulating is for practical purposes and for that pseudo-random numbers are perfectly random.

Anonymous 0 Comments

Think of a coin toss. You can either get heads or tails a 0 or 1. Now true randomness means that exactly ½ of the times you get 0 and ½ of the times 1. But a coin toss isn’t random its just chaotic enough (heavily dependent on initial conditions) to be unpredictable. It isn’t truly random its pseudo-random.

A computer can generate you pseudo-random numbers in much the same way, the generation algorithm is chaotic. Much like a coin toss it is technically predictable like you can make a robot that always produces heads, but its practically random.

Now true randomness has no underlying mechanism so using algorithms cant produces truly random numbers. When it comes to science we often use random numbers for certain algorithms. Like you simulate a physical system and you want to know where random perturbations take that system, theoretically over time the system should settle in its lowest energy state, its most stabil state. So you can simulate this using random numbers. True randomness isn’t really required.

When it comes to quantum mechanics we find true randomness, and that can make simulating these systems difficult for just 1 or 2 particles. But when it comes to the mathematics we have the necessary mathematical tools to deal with this randomness.

So probably theory deals with truly random situations. Even treating pseudo-random ones as being truly random. Like a dice throw or a coin toss. But when it comes to simulating things we can only generate numbers that look random enough, now we can theoretically figure out these numbers by looking into the algorithm, but simulating is for practical purposes and for that pseudo-random numbers are perfectly random.

Anonymous 0 Comments

> What are pseudo-random numbers?

They are numbers generated by algorithms that are completely deterministic (i.e. if you know what state the algorithm is currently in, you can work out what numbers it will produce next) but have properties similar to random numbers.

> What’s wrong with them?

Nothing, really. Some are poorly designed and are very un-random, like the infamous RANDU. The ones that are used nowadays in scientific simulations have been very heavily studied and pass batteries of tests that look for deviations from what you would expect from random numbers (for example, some numbers being more likely to show up than others). There are also cryptographically secure random number generators (CSPRNGs), for which it is very difficult to predict the next output given the previous outputs – these are used for stuff like generating random passwords. It’s always possible that there are problems with the way a CSPRNG is designed or implemented, allowing someone to guess the next output. However, true random number generators can have the same problem. For example, there are true random number generators that work by detecting radioactive decays – if the detector develops a fault, then it might start producing predictable numbers.

True random number generators are often used for security applications, though, and they’re also often used for is initialising the state of a pseudorandom number generator, so that it doesn’t produce the same numbers every time you run the program. Most computer systems essentially have a basic true random number generator built into them that generates numbers based on things like the timings of mouse movements and keypresses.

Anonymous 0 Comments

[Here](https://en.m.wikipedia.org/wiki/Spectral_test#/media/File%3ARandu.png) is a nice demonstration of how pseudorandom numbers are not properly random. A graph of truly random numbers would just be lots of dots evenly distributed in the cube, instead what we see are a series of planes that all the numbers fall on.

Properties like this can be exploited, imagine this random number generator was being used for a lottery. Any ticket that falls on a plane has a higher than expected chance of winning, any ticket that doesn’t fall on a plane cannot win ever.

Anonymous 0 Comments

> What are pseudo-random numbers?

They are numbers generated by algorithms that are completely deterministic (i.e. if you know what state the algorithm is currently in, you can work out what numbers it will produce next) but have properties similar to random numbers.

> What’s wrong with them?

Nothing, really. Some are poorly designed and are very un-random, like the infamous RANDU. The ones that are used nowadays in scientific simulations have been very heavily studied and pass batteries of tests that look for deviations from what you would expect from random numbers (for example, some numbers being more likely to show up than others). There are also cryptographically secure random number generators (CSPRNGs), for which it is very difficult to predict the next output given the previous outputs – these are used for stuff like generating random passwords. It’s always possible that there are problems with the way a CSPRNG is designed or implemented, allowing someone to guess the next output. However, true random number generators can have the same problem. For example, there are true random number generators that work by detecting radioactive decays – if the detector develops a fault, then it might start producing predictable numbers.

True random number generators are often used for security applications, though, and they’re also often used for is initialising the state of a pseudorandom number generator, so that it doesn’t produce the same numbers every time you run the program. Most computer systems essentially have a basic true random number generator built into them that generates numbers based on things like the timings of mouse movements and keypresses.

Anonymous 0 Comments

Most scientists don’t need truly random numbers. I used pseudo-random numbers for years and they work great. In fact, the idea that you can reliably get the same random sequence over and over by setting the same seed is a big help in testing. You only want the results to change if you change the algorithm, not if you are just changing the how it is input or stored. It’s a great way to find bugs.

Pseudorandom is all you need for scientific problems like diffusion, Monte Carlo, injecting noise, etc.

I understand the need for truly random in security and encryption applications but even then a simple blowfish encryption with the password set to the CEO’s daughter’s middle name spelled backwards in camelcase and hexencoded is usually plenty. You’ll need more if you work at a bank of course, but the banks hire out for that.

It is a super fun topic that computer scientists like to talk about at lunch, but you’ll rarely use it unless you specialize in hyper-secure encryption.

Anonymous 0 Comments

[Here](https://en.m.wikipedia.org/wiki/Spectral_test#/media/File%3ARandu.png) is a nice demonstration of how pseudorandom numbers are not properly random. A graph of truly random numbers would just be lots of dots evenly distributed in the cube, instead what we see are a series of planes that all the numbers fall on.

Properties like this can be exploited, imagine this random number generator was being used for a lottery. Any ticket that falls on a plane has a higher than expected chance of winning, any ticket that doesn’t fall on a plane cannot win ever.

Anonymous 0 Comments

Most scientists don’t need truly random numbers. I used pseudo-random numbers for years and they work great. In fact, the idea that you can reliably get the same random sequence over and over by setting the same seed is a big help in testing. You only want the results to change if you change the algorithm, not if you are just changing the how it is input or stored. It’s a great way to find bugs.

Pseudorandom is all you need for scientific problems like diffusion, Monte Carlo, injecting noise, etc.

I understand the need for truly random in security and encryption applications but even then a simple blowfish encryption with the password set to the CEO’s daughter’s middle name spelled backwards in camelcase and hexencoded is usually plenty. You’ll need more if you work at a bank of course, but the banks hire out for that.

It is a super fun topic that computer scientists like to talk about at lunch, but you’ll rarely use it unless you specialize in hyper-secure encryption.