Computational Simulations: Constructing The Game of Life

Computational simulations are powerful tools used to recreate the behavior of a system. Where such simulations were once science fiction, technology has advanced far enough that the real world can be simulated in a “virtual reality” where all the same physical rules are applied. Many working professionals in industry and academia also use these simulations for a variety of different projects. Simulations are excellent at generating models, visualizing data, and predicting outcomes that would otherwise be infeasible to grasp mentally or create by hand. The growth of computer simulations was simultaneous with the growth of computational power. The first, large-scale simulation was created by John von Neumann to observe nuclear reactions during the Manhattan Project. The simulation made use of a Monte Carlo Algorithm to predict the effects of colliding shock-waves [1]. However, today’s blog will focus on a much simpler system — that of Conway’s Game of Life.

Conway used a Go board, such as this, to track various states while planning Life

Creation

John Conway was a Cambridge mathematician who enjoyed dabbling in recreational mathematics. He was interested in the work of von Neumann and Stanislaw Ulam who had posed the idea of cellular automaton — mathematical models that have simple rules governing the replication and destruction of units. He began working on his model in 1968 and completed it in 1970. The October 1970 edition of the Scientific American presented Conway’s “game” to the world. Upon reception, he was quickly praised for the parallels that existed between his mathematical model and the concept of cellular automation.

Rules of Life

The simulation for Conway’s Game of Life itself is quite simple. There exists a 2D plane that wraps around on itself. This plane is home to cells that maintain two states — populated and unpopulated. Each cell has eight neighbor cells surrounding it. When running the simulation, there are three rules that govern the simulation:

  1. Any populated cell with more than 3 neighbors becomes overpopulated and dies
  2. Any unpopulated cell with 3 neighbors becomes populated

Results

John Conway’s model included plenty of fundamental elements that many computational simulations need — a set of predefined rules, an initial state, multiple components that interact with each other, and data that can be extracted from the model.

A Pulsar Oscillator from the Game of Life

Advancements

Today, computational simulations are often used for other fun projects in coordination with machine learning, such as OpenAI Plays Hide and Seek. The results are fascinating, and again emphasize the key components of computational simulations: predefined rules, an initial state, multiple interacting components, and output data. Macromoltek applies these principles to run computational simulations for a variety of projects in order to create viable antibody designs and accurately see how they interact with the human system.

Links and Citations:

  1. Computer Simulation used to predict colliding shockwaves for Manhattan Project http://cms.sjtu.edu.cn/doc/reading/cms/

Welcome to the Macromoltek blog! We're an Austin-based biotech firm focused on using computers to further the discovery and design of antibodies.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store