Pages

Friday, September 15, 2017

Do we Live in a Simulation?


The School of Athens (fresco): at the center is Plato (in orange) pointing upward while Aristotle (in blue) to his left is pointing forward (possibly an indication of their respective philosophical differences: a world of ideas vs a material world)  

Do we Live in a Simulation?

At first glance, this question might deceptively sound like a product of recent technological advancements in computer science that only people of our times are uniquely posed to ponder. But if we strip it from its modern terminological cladding, the question actually dates back to the dawn of philosophy, and has since stayed a core theme in the field. It has given us many popular cultural references such as the fresco above, and even immortal - if misunderstood - quotes such as Descartes' "I think therefore I exist".

At its heart, the argument boils down to the following: do we really exist in a material world, or are we somehow "deceived" into believing that we do. Attempts to argue for one side or another of this argument, or, occasionally, to reconcile them, have given us much of philosophy's corpus as we know it today.

One might find it quite remarkable that people as far back as Plato had pondered something almost indistinguishable from the material science fiction is made up of in our days. But my own humble guess is that it all started from a very simple observation: that we humans can imagine full scenarios of interactive beings and events unfolding inside our minds, even though they don't exist in the "material" world. Consequentially, could we not be in turn nothing more than a "thought", and our past and present only an imagined scenario in some other being mind?

But while people of antiquity had nothing more than their limited senses and experiences to be able to settle the argument, in our age, some fields seem to be hinting in on direction or another. One such field being Modern Physics. Another is Computer Science. Relatively recent developments in mathematics also seem to be pointing in a certain direction. This is where this article will take us next.

But before we delve in, a major caveat is in order. Contentions in science and mathematics about the implications of a given theory for our reality are the norm. Therefore, depending on your interpretation of the theory of concern, some of these arguments might not be consequential. This will be pointed out where needed.

The Measurement Problem and Lazy Evaluation

Our first argument springs forward when we lay side by side the principle of uncertainty in Quantum Mechanics, with a core strategy in computer science. This strategy is mainly used to run complex systems using limited resources, and is referred to in the parlance of programming as Lazy Evaluation. The premise here is simple: software engineers write their code in a way that dose not evaluate a given variable until it is needed.

This smacks so much of the uncertainty principle, whereby we really don't know the state of a given system until we decide to measure it. This is known as the Measurement Problem, to which the famous Schrodinger's cat was first suggested as a solution. There is no consensus in  physics about what this problem really implies. Nonetheless according to some interpretations, this could be understood as a way to simulate our reality with the least possible amount of resources. Something any decent programmer would aspire to do.

The Limit on the Speed of Light and Managing the Computational Demands of the Simulation

Physicists tend to think of the limit on the speed of light as a limit on the speed of information propagation in the universe, more than being a limit on the speed of light per se. This means that there is an upper limit on the number of regions in the universe exchanging information at any one point in time. Exchanging information is just a fancy way of saying interacting (via heat, or light for example).

In Computer Science, we often describe the complexity of a given piece of code in terms of something called Big O Notation. For the sake of this article, you have to know that the higher the order is of this notation for a given code, the more computational power it will require to run. And here is where the connection can be made to our reality: generally speaking, the more variables interact in a code, the higher the order of this Big O Notation becomes.

If we were living in a simulation, this limit on the speed of information exchange, would serve to lower the computational demands of our simulated reality. A neat programming trick!

The Elegance of Mathematics

I have always found the simplicity underpinning the complex systems making up our reality to be philosophically unsettling. Even more unsettling is the observation that you often find the same mathematical set of equations describing very distinct phenomena.

One such mathematical notion that I find particularly relevant to the topic at hand, is the Mandelbrot set. It is just an equation that you keep feeding back what it outputs. As time goes by, these outputs form an infinitely complex structure such as the coastline of Great Britain. Its circumference is geometrically infinite, yet it can be enclosed by a finite space! A profound implication this has is that a programmer of the universe, would not need to draw jagged coastlines, for instance, one line at a time. This would literally take an infinite time to do. Instead, he can just initiate the formula, and viola, you have something extremely complex without much effort.

Even more "revealing" is that this feedback of output to its generating equation is very characteristic of coding. In fact, loops are at the heart of any useful code you would ever write. But one has to acknowledge that it really comes down to what you believe math is. For me, math is as tangible as physics, so it definitely reflects something in nature itself, rather than being a useful figment of our minds; an antipodal belief harbored by many.

What About Easter Eggs?

There is also the more quaint thing of expecting to find Easter Eggs in our reality if it was simulated. Software developers are in the habit of sneaking odd objects, if you may, into their applications. These objects don't serve any critical function in the software, but are put there for fun or as a tribute. If ours turned out to be a simulated reality, wouldn't its programmers hide some of these around?

I got struck by this idea while vacationing on a tropical island. It had a unique species to it, which the locals refer to as the Coco de Mer. It is a type of coconut that has reproductive organs with striking resemblance to ours, the humans. Could that be an Easter egg? Admittedly, the principle of Analogy in Evolutionary Biology, is a better explanation of such similarity if we are to adhere to Occam's razor. But, who knows!

Can we Cast All of this in a Scientific Mold?

This brings us to our last point in this article. Can we formulate such speculations into a scientific theory that we can put to test, or is it just a modern expression of our good old human tendency to anthropomorphize the causes of our existence, like we have been doing with mythology since we have first came into this world? The answer actually is yes. We can put it to scientific test.

Physically speaking, living in a simulated reality is very different than living in a material universe, at least at some very short scale. One experiment we can devise to nullify such a claim is to look for a scale where time and space become discrete; i.e. matter doesn't move through time and space smoothly, but it rather blinks in and out of existence at each step of time and space. If we find that our universe is intrinsically continuous, then so much for a theory of simulated reality!

We are not there yet. Probing a scale so short requires more energy than we can afford at the moment, but it looks like we should be there soon.

No comments:

Post a Comment