Do we still live in a simulation?
The Sims 2
Published on December 2, 2019
In our first article, we saw that we could live in a simulation, and that it might be impossible to detect. We also proposed a game where you needed to create a Citizen-program, able to interact with its environment (called the “Universe”). By interecting with the environment, you could try to deduce the basic laws of that Universe. However, we can see several problems with this first game:
- the Citizens are programmed in an existing, external programming language: the Universe is not really providing this language.
- the external programmer (you) does all the understanding. The Citizens are rather dumb.
What we want to accomplish in this article, is to create a Universe which is as much self-contained as possible, i.e. with Citizens not being programmed by an external God-Programmer.
Game #2: Representing the Universe
OK, if you didn’t find it fun enough, here’s another mind game. The objective of this game is to create a minimal Universe, and a Citizen, so that the Citizen can contain a representation of the rules of his Universe. So, the Citizens need to achieve two goals:
- They need to be written in language that is provided by the Universe,
- This language need to be powerful enough to be able to reprensent the Universe.
Do you know such a language? Actually, any programming language is able to accomplish such a prowess. It is enough for it to be Turing complete.
Game #3: Predicting the Universe
In this game, the Citizens will have to use their internal representation of the Universe in order to predict future outcomes. If the rules of the Universe, or an approximation of them, are represented in the Citizens, then it should be enough to “run” them in order to predict the future outcome.
Game #4: Evolving
The trouble with all our previous games, is that you needed to program the Citizen. You were playing the role of God. How can we get rid of a God-Programmer? This is the objective of this game.
In this game, you have to create a Universe capable of sustaining Citizens that are evolving. This evolution should happens blindly through the well-known Genetic Algorithm.
In the case of our Universe, the main difficulty is that we live inside. We need to discover the laws of the Universe, using those laws in the process. That’s what makes it non trivial!
In this article, we imagined that we are a program, living inside a computer. How would you go to find out in which programming language you were written? Of course, the programer knows. But the program itself? This supposes that the program has the capacity to represent the primitives and mechanisms of his how base language. This is the case of any Turing complete language: A Turing complete language is able to emulate any other Turing complete, including itself.
This might be the same for us: nothing guaranties that the base language of the Universe is powerful enough to be able to contain a description of itself. If it’s not the case, nothing will allow us to access those base rules, even for the most intelligent person on Earth…