At the forefront of Artificial Intelligence
  Home Articles Reviews Interviews JDK Glossary Features Discussion Search
Home » Articles » Artificial Life » Projects

Conway's Game of Life Project

Conway's Game of Life (GOL) is one of the most famous instances of Artificial Life. Following only 3 simple rules, some incredibly complex behaviour can arise. GOL has been proved to be a universal turing machine - this was one of the bigger breakthroughs in ALife.

Outline

GOL theoritically takes place on a infinite board under discrete time steps, and follows these three rules.
  • If a cell is surrounded by 2 other cells then it remains unchanged.
  • If an empty piece is surrounded by 3 cells, then a cell is born there.
  • If a cell is surrounded by less than 2, or more than 3 then the cell dies.
Discrete time steps means that these three rules are applied every iteration. Here is an example - this is a piece called a glider. We are not concerned with the names, nor its properties at the moment. But look at how it advanced from one time step to the next.

The dark red cells are the ones that were born.

Guidelines

The hardest part will be how to handle the edges of the game - most implementations will either allow the cells to just die off when they leave the game area, or they wrap around the edges. Remember that you cannot use one copy of the board, since the next time-step must be computed simulataneously. Parallel computing is not an option for most of us, so we must maintain two copies of the board - one as the main "display" board, and another as the interim calculation board.


Solutions

MCell Not a solution, but an excellent A-Life program.

Submitted: 16/05/2000

Article content copyright © James Matthews, 2000.
 Article Toolbar
Print
BibTeX entry

Search

Latest News
- Generation5 10-year Anniversary (03/09/2008)
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)
- NeuroEvolving Robotic Operatives (NERO) (25/06/2005)

What's New?
- Back-propagation using the Generation5 JDK (07/04/2008)
- Hough Transforms (02/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (11/12/2007)
- Modelling Bacterium using the JDK (19/03/2007)
- Modelling Bacterium using the JDK (19/03/2007)


All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -