Вы находитесь на странице: 1из 2

Reversing Conway’s Game of Life

Jonathan Goetz

Problem
Conway’s game of life is a classic example of Cellular Automata, which is a 2d grid of 0/1 values that
follow a basic set of 4 rules:

1. Any cell with 0 or 1 neighbor(8 surrounding cells) with a value of 1 is set to 0


2. Any cell with 2 neighbors with a value of 1 maintains its current value
3. Any cell with 3 neighbors with a value of 1 is set to 1
4. Any cell with 4+ neighbors with a value of 1 is set to 0

The process of implementing these rules going forward in time is trivial, but on the other half it is fairly
simple to show that applying these rules in reverse is impossible to determine the specific previous
steps for certain. For Example:

Input 1 Input 2 Output


1 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0
1 0 1 0 0 0 0 0 0
As a result, it is not possible using traditional means to determine the exact starting setup, but it could
be possible to employ machine learning techniques to approximate a least error starting setup for a
given output a known number of iterations apart. While this reversibility is not directly useful for
Conway’s Game of Life, The game is representative of various other similar cellular automata that do not
have reversible rules and are directly applicable to many other fields of study such as physics, chemistry,
biology, and others which do not have as well defined datasets as Conway’s game of life and as such the
lessons learned from this specific example can be useful for solving these other issues.

Proposed Solution
Looking at this problem, it is fairly simple to see that this reversibility problem is actually a
recursive classification problem, which due to the nature of the game would be especially well suited for
implementation with a multilayered perceptron which can easily be trained to approximate values of
cells leading to a given cell state. The largest issue facing this solution to the problem is determining
how to correctly define the training function for a variable depth MLP, though this can be simplified as
every repetition of layers will have by definition the same weights making it a matter of properly
averaging the weight changes and making sure the output values are acceptable as input values to each
repeated MLP.

References
Currently Kaggle.com is running a contest about this particular subject at
http://www.kaggle.com/c/conway-s-reverse-game-of-life, which provides a basic description of the
problem involved, a pre generated training dataset for the problem, and a basic description of a process
by which to generate more training data.

The second resource I have discovered is a presentation by Neil Bickford about computing the reverse of
Conway’s game of life, and just why it isn’t practical to do using brute force, as well as discussing a few
algorithms for generating all possible predecessors to a given game state.(
http://nbickford.wordpress.com/2012/04/15/reversing-the-game-of-life-for-fun-and-profit/)

Вам также может понравиться