A Random Entry

I found an article about free will a couple weeks ago. I’ll just link it here. The article is mostly about a social experiment, but touches on the idea that there is no such thing as free will. There is something that I agree with. But first, I want to discuss another topic.

Randomness. When something is random, it is normally though of to behave erratically, or unpredictably. But does randomness actually exist? By some definitions, yes. For instance, Wikipedia says that randomness is a repeating process whose outcomes follow no describable deterministic pattern. But I still would lean towards the fact that there is no such thing as randomness.

Let’s take a look at randomness in computers. In specific, I’ll take a look at the random() function in C++. If I call random(), it will return a random value. Then if I call it again, it will return another random value. I could call the function 100 times, and I will receive 100 random numbers. Well, that is until you realize how the numbers are being generated. As every programming textbook will tell you, this is actually a psudorandom process. Psudorandom effectively means generated deterministically, but in a hopefully unpredictable pattern. If I run my program again, I will have the same 100 random numbers generated. That’s not really random, but it seems that way.

So, a bit on the way these psudorandom numbers are generated. One of the most common ways to generate a “random” number is to start with your seed. The seed is used to perform calculation, and determine the psudorandom number. Often times, the seed is multiplied by a constant, and then added to another constant. This number is your new random number, and your new seed.

That means that if you know the calculations performed, and the seed, you can determine the next random number. Or, in other words, if you know all of the variables involves, you can predict the results. Well, not predict; you can know the results before they happen.

What can make something seem actually random is when you introduce a variable that doesn’t perform the same way every time, usually due to an irregularity or imperfection. Imagine that I have a program that, when loaded, generates random numbers, and therefore random seeds, until there is some user input. Once there is user input, this new seed is what is used for all future calculation, or perhaps is just used for one random number and continues generating random seeds until further user input is required.

This will produce much more unpredictable results. It’s actually pretty much how slot machines work. Why is it more unpredictable? Because in a second thousands of iterations of the random function pass by, and it is difficult to determine which number the input will stop the function on. However, if there were an easy way to measure the number of iterations from the original seed and the user input, then we would be able to predict the result. The user input would effectively be a multiplier or an add-on or another variable affecting the output of the random function.

The time upon which the user gives input could in itself be considered random, but if you are able to consider all of the variables (many more than a seed, multiplier, and add on) involved, you would be able to predict the exact time the input would be entered, and thus be able to predict the number determined by the function.

Instead of belaboring the idea, I’m going to assume that the reader can extrapolate this idea to apply to all thing. In short, all seemingly random things happen due to all of the variables that contribute to that event happening. Most events, even simple ones, appear to be random because there are just too many variables to consider, or even fathom. However, if one were capable of determining all of the variables, he would be able to determine the outcome itself. It would be like one happy, deterministic math problem. The other major problem is that even if we did have all of the requisite information, the event would pass before we could actually figure out the result.

Well, how does this tie in to free will? Pretty much, if you replace the term “random event” with “decision”, and “variable” with “experience and knowledge”, that pretty much sums it up. Decisions we make are based on many, many factors, most of which are experience and knowledge. If you were to take a decision that a person is to make, and were able to evaluate all of the “variables” that contribute to that decision, you would find that you can predict the outcome of the decision. Again, it is just a deterministic function whose output is based on the parameters of the function.

Now, I’m not saying that we are robots and should all follow Asimov’s three laws. I just argue that there is neither randomness or free will; there is only seemingly random, and seemingly free will. If the vast quantities of variables we capable of being measured, then we would be able to predict results. However, we don’t even have a list of what the variables are, let alone the tools to measure them with, so I doubt we will ever truely be able to predict random results or decisions.

Leave a Reply