Conway's Game-of-Life

Welcome to Conway's Game of Life, a classic cellular automaton simulation created by mathematician John Conway. This project is a part of my Masters Coursework, 'Adaptive Systems' which I am currently studying. It provides a Python implementation of the Game of Life, allowing you to explore the fascinating dynamics of simple rules applied to a grid of cells.

Features:

Interactive Simulation: Watch as patterns evolve in real-time on the grid. Customizable Grid: Choose the size of the grid and initial configurations to experiment with different scenarios. Pattern Library: Includes a collection of well-known patterns to kickstart your simulations. Configurable Rules: Modify the rules of the game to observe how different conditions affect the outcome.

It is a zero-player game, meaning its evolution is determined by its initial state,requiring no further input.

You can interact with the game of life by creating an initial configuration and observe how it evolves.

It is Turing complete.

RULES - The Game of Life is an infinite 2D orthogonal grid of square cells, each of which is in one of two possible states, live or dead.

Every cell interacts with its eight neighbors, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:

1.Any live cell with fewer than two live neighbors dies, as if by underpopulation.

2.Any live cell with two or three live neighbors lives on to the next generation.

3.Any live cell with more than three live neighbors dies, as if by overpopulation.

4.Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction

The Game of Life is undecidable, which means that given an initial pattern and a later pattern, no algorithm exists that can tell whether the later pattern is ever going to appear

Getting Started:

Clone the repository to your local machine. Install the required dependencies (numpy, matplotlib, etc.). Run the main script to start the simulation. Experiment with different configurations and observe the emergent behaviors.

image

Enjoyđź––