Chiel Zwinkels

A Game of Quantum Life

I made a little ‘game’ as a thought experiment about the nature of Quantum Mechanics.

You can play it here: https://www.lexaloffle.com/bbs/?pid=159888 or read on below to learn more.

The basic idea for this project was: let’s take Conway’s game of life as a very simple (but interesting) model of a deterministically evolving ‘world’, and see how we can change the ruleset to include some ‘quantum-like’ behaviour, while still keeping it as simple as possible.

These are the questions I wanted to explore:

  • If we think of Conway’s game of life as representing classical (ie deterministic) mechanics, what could be an appropriate analogue for quantum mechanics?
  • When we implement this in software, will we be forced to choose between different interpretations of quantum mechanics (Copenhagen, hidden variables, many worlds) or will that make no difference in such a simplified setup?
  • Can we say something meaningful about the relative sizes of our model worlds, in terms of information content and/or computational properties?
  • Conway’s game of life is a 3-dimensional world in the sense that it involves 2 spatial dimensions and time. Does adding another dimension to this world provide all the necessary room for a ‘Conway quantum world’? How about a multiverse?

These are the rules of the game as I have implemented them:

Classical rules (standard Conway game of life):

  • All cells can be alive or dead
  • Live cells stay alive if they have either two or three live neighbours, otherwise they die
  • Dead cells turn alive if they have exactly three live neighbours, otherwise they stay dead

Additional quantum rules:

  • Cells can also be in a superposition of alive and dead
  • Superposed cells with 2 or more live neighbours will be ‘measured’ and will turn either alive or dead, each with probability 1/2
  • Dead cells with exactly 2 live neighbours may turn alive with probability 1/8192.
  • Dead cells with less than 2 living neighbours may go into superposition with probability 1/8192.
  • Superposed cells with less than 2 living neighbours may turn dead or alive, each with probability 1/16384.

A brief description of the general large scale behaviour of the game:

For the classical version (standard Conway Game of Life) on a 64 by 64 toroidal playing field, the typical evolution from any sufficiently mixed initial state is as follows:

  • First, it will quickly evolve to be around 7% alive, 93% dead (within about 100 generations)
  • Then it will usually fluctuate between around 2% alive and 7% alive for many more generations (over about 1.000 generations). In this phase the average percentage of living cells will slowly drop to something between 1% and 2%.
  • Finally, the evolution will reach a repetitive state, usually with some cells permanently alive and some cells oscillating with period 2. At theis point, the number of alive cells will probably be around 1%

With the additional quantum rules, the typical evolution is as follows:

  • First, it will quickly evolve to about 10% alive, 88% dead, 2% superposed (within about 200 generations)
  • Then it will fluctuate for a long time between about 2% alive and 8% (usually between 10.000 and 100.000 generations). During this period, the number of superposed cells will fluctuate between about 2% and about 10%.
  • Finally, it will reach a state of “high entropy” with 0% alive cells and about 50% superposed and 50% dead cells.
  • This state is not definite as it could spontaneously generate a pattern of live cells that would fully revive the evolutionary pattern. Not many live cells are needed for this (about 0.5% could be enough), but given the probabilities, this is still exceedingly unlikely (on average, a live cell is generated only about once every 4 generations, and not only would we need to have around 25 of them arise simultaneously, they would also need to arise in a suitable pattern to start propagating.

Randomness and hidden variables

I initially planned to put a separate mode for ‘Bohmian’ Quantum mechanics in the game, where the evolution of cells would be implemented by using ‘hidden’ variables rather than by chance. This was easy to set up for cases where things happen with equal likelihood (for instance, one could check wether the superposition state was odd or even, instead of using a random number generator for the ‘measurement’). However, I quickly realised that to use hidden variables for the probabilities I needed to keep the evolution interesting (numbers in the order of 1/8192), would be much more difficult – and much more contrived – than just using random number generators.

Ironically, computer systems of the kind used in this implementation, don’t have access to truly random numbers. Instead, they use pseudo random numbers, which are deterministic at their core. So even though the current implementation of the ‘Quantum game of life’ is conceptually probabilistic, in actuality it really is a hidden variables system.

Information content and size comparison

Classical:

  • Information content per generation: 2^12 bits (1 bit per cell)
  • Number of possible states: 2^4096
  • Typical evolution to a steady or repetitive state is about 2^10 generations
  • The total amount of information for our ‘block universe’ is about 2^22 bits = 2^19 bytes = 0.5 megabytes

Copenhagen:

  • Information content per generation: (2^4)(2^12) = 2^16 bits (4 bits per cell)
  • Number of possible states: 2^16384
  • Typical evolution to a “high entropy” state (ie no live cells left) is around 2^15 generations
  • The total amount of information for our ‘block universe’ is about 2^31 bits = 2^28 bytes = 2^8 megabytes = 256 megabytes

Multiverse:

  • Information content per branch per generation: (2^4)(2^12) = 2^16 bits (4 bits per cell)
  • Number of possible states: 2^16384
  • Typical evolution to a “high entropy” state (ie no live cells left) is about 2^15 generations
  • Typical amount of branching is about 1 new branch per 3 generations
  • Number of branches after 2^15 generations is about 2^((2^15)/3) = about 2^10923
  • The total amount of information for our “block multiverse” is about 2^16 * 2^10923 bits = 2^10939 bits = 2^10936 bytes = 2^10916 megabytes

This last number is so large that it completely overflows any nomenclature we use, it doesn’t matter if we describe it in petabytes or zetabytes or whatever, it is stil 2^10k and something. In fact this number dwarfs the number of atoms in the observable universe.

In the current implementation of the game, only a single branch is tracked, this contains the same amount of information as a ‘Copenhagen block universe’ and so it can be calculated and stored with a modest amount of computing power and memory. But these large numbers do mean that, if we wanted to track all branches of a ‘block multiverse’, there would be nowhere near enough computing power and memory in the world – even if our model is only 64 by 64 cells with a ‘superposition resolution’ of 4 bits.

On top of this, as the multiverse evolves over many generations, it becomes increasingly likely that at least one of the branches will contain a “unicorn” state, converting from high to low entropy and starting a new dynamic evolution of 2^15 or more generations.

In short, for a game of life of this type and scale:

  • The ‘Classical Universe’ can easily be computed through its full evolution and stored in a modest amount of memory.
  • The ‘Copenhagen quantum universe’ is larger than the classical world, but only by a few orders of magnitude. It can generally be tracked through its full evolution to a ‘high entropy state. However, this is not a definite endpoint of the evolution, ene though a reversal of the high entropy state is highly unlikely.
  • The ‘Multiverse grows exponentially at every stage of its evolution and becomes too large to track and store completely in a very short time (much quicker than it reaches a ‘high entropy’ state).