A Probabilistic Game of Life on a Quantum Annealer

We implement a probabilistic version of the game of life on a quantum annealer in a very direct manner, demonstrating possible use cases for (currently very noisy) quantum annealing devices in the simulation of (usually very stochastic) artiﬁcial life and complex systems in general.


The Game of Life
The game of life has been famously defined by Conway (1970) to use a very simple set of rules to express a wide range of behavior up to everything Turing-computable (Rendell (2002); Durand and Róka (1999); Ninagawa (2019)). A field of a game of life is made up of cells which neighbor other cells, most commonly on a grid structure. Each cell can assume one state s ∈ {dead, alive}, usually dying out when too few or too many neighboring cells are alive.
The classical game of life has been extended numerous times, for example by Levene and Roussos (2003); Sakata et al. (2019); Atanassova and Atanassov (2010). In this paper, we are concerned with a probabilistic extension that performs state changes only up to a certain probability (instead of sticking to deterministic certainty). Aguilera-Venegas et al. (2019); Billings and Yang (2003); Mairesse and Marcovici (2014); Agapie et al. (2014), e.g., study the properties Figure 2: Analysis of the weight w between two qubits q 0 , q 1 . The plot shows the probability of q 1 = 1 after annealing when q 0 = 1. of such rulesets. Since we derive our variant of stochasticity very directly from properties of the quantum hardware, pinpointing its relation to these rulesets is left for future work.
With the growing interest in quantum computing (QC), new extensions of the game of life have been proposed. Some use the inherent probabilistic nature of gate-based quantum computers as well as other tools of quantum computing to simulate the evolution of a game-of-life field (cf. Flitney and Abbott (2010); Arrighi and Grattage (2012)). Other approaches define a new game behaving similarly to the (probabilistic) game of life (cf. Grössing and Zeilinger (1988a,b); Bleh et al. (2012)). Dunn (2021) most recently shows how to use quantum annealing to compute the deterministic game of life using a less direct encoding.

Quantum Annealing
Quantum annealing is a quantum algorithm first conceived by Kadowaki and Nishimori (1998) and realized in specialized hardware by D-Wave Systems (cf. Boixo et al. (2014)). Quantum annealing (approximately) solves optimization problems given as an Ising model or an instance of quadratic unconstrained binary optimization (QUBO), which are NP-complete. A QUBO instance for n qubits q 0 , ..., q n−1 ∈ {0, 1} is given as an n × n triangle matrix   W (where W i,j ∈ R with 0 ≤ i < n, i ≤ j < n is called a weight). Note that while we only observe the qubits with their classical values 0 or 1, a quantum annealer (possibly) uses their superposition during computation. The (optimal) solution to a QUBO instance W is arg min While the weight matrix is defined to allow for weights to be put between any two qubits, quantum annealers in reality only implement a few possible connections for each qubit. The blue nodes in Figure 1 show qubits on a quantum annealer and the blue lines their connections that are usable within the weight matrix. In addition, we can use the weights W i,i for all i.

Experiment
For a direct mapping of probabilistic game-of-life rules to a quantum annealer we simply use the connections present in quantum annealing hardware to form grid cells made up of 8 qubit nodes as shown in Figure 1. By adjusting the weights between the bordering qubits, we can implement probabilistic behavior. As this mapping scales linearly and we forego any issue of embedding (cf. McGeoch (2014)), it is actually quite feasible for a quantum annealer. Figure 2 shows which weights to use for which desired probability. Here, we use the errors the quantum annealer makes for small weights to achieve a desired probabilistic behavior. Thus, we pave the way for a new concept of how to use quantum annealing.
However, since we can only assign one weight (and thus one probability) for every two cells, we need to split up the evolution of the game of life into two phases: First, we implement a growth phase where all connections that may lead to a cell becoming alive are applied with a certain probability. Then, we implement a death phase for all connections that may lead to a cell dying out. One step of our probabilistic game of life is thus always made up of these two phases without ever deciding which phase is the 'definitive' result. Figure 3 shows the evolution of these phases in parallel.
Observing Figure 3 we gained the impression that later steps of the evolution exert a certain stability not unlike stable patterns (oscillators, e.g.) in the classical game of life. However, the Hamming distance between two consecutive steps (regarding the same phase) remains rather constant. Our impression can be explained by the amount of cells practically available for change not remaining constant, resulting in proportionally more change in the beginning steps of a game of life evolution (cf. Figure 4).

Next Steps
We have found a novel application for quantum annealing in simulating a probabilistic game of life. Future research must analyze if this translation has any advantages over classical implementations with respect to execution time, simulation accuracy, or other metrics, which should at best be expected for future quantum hardware. For now, the immediacy of the translation looks promising for the application of many more techniques native to quantum annealers to this setting. To encourage further research, we share the code used for this paper at http://github.com/ marian-lingsch/alife-qgol.