Monday, August 20, 2012

Randomness

Many people know how much difficulty we have generating random numbers. Especially in digital applications, great study has been given to the theory of randomness. I mean, Excel gives the exact same random numbers every time! Come on, people. In fact it is theoretically impossible for a closed-box digital system to generate true random numbers, as it must follow some predetermined algorithm based on a known input.

But there are not many good solutions. One that is popular today depends on atmospheric noise. Measurements collected from the air have good statistical properties and are currently impossible to predict, the two prerequisites for random numbers.

But this method actually produces perfectly deterministic numbers, not random ones. It is just that we are not smart enough yet to predict them. I have a solution in mind which, if I am right, is the theoretically one and only possible source of random numbers: human behavior.

Now, I don't mean human minds. Studies have shown that human minds are biased against repeating numbers when picking random numbers. So we pass the unpredictable test, but not the statistical distribution test. I am referring to human actions. If we could find a way to quantify subconscious decisions, we would have a perfect solution for generating randomness.

The reason this works is simple. The implicit assumption of all human behavior (although it is intellectually denied by a few) is that their choices are partially based on something unworldly and are therefore perfectly unpredictable. A corollary assumption is that this is not true for any other living creature. The alternative is insanity.

One example suffices: the stock market. Stock prices are entirely based on human decisions, either directly (by the stock people bidding on the floor) or indirectly (by computer programs). I believe that for the last century, nothing has been the study of a greater amount of intellectual and monetary capital than the stock market. Untold amounts of effort and money has been put into analysis of price histories, looking for trends that can be reliably extrapolated into the future. There has been absolutely no success. By definition any supposed success is immediately accounted for and made ineffectual by the market. All the programmer has to do is ping a stock exchange server for current prices and string together as many decimal places as he needs. And their randomness is guaranteed.

No comments:

Post a Comment