Cellular Automata
Posted by alpheccar - Dec 18 2005 at 15:06 CEST
Most physical systems are modelized using continuous mathematics. A cellular automaton is different : it is a discrete system. A regular grid of cells in one, two or several dimensions is the stage where the dynamics is taking place. Each cell can have a finite number of states. The state of a cell is changing as a function of a time which is also discrete.
The new state of a cell is given by a local rule : it depends on the current state of the cell and of its neighbors. The neighborhood can be defined in different ways. In the most common 2D cellular automata, the neighbors of a cell are the 8 squares touching it. With this definition, some local rules can just be defined by a birth or survival rule : how many cells must be alive in the neighborhood of a dead cell to create life ; how many cells must be alive in the neighborhood of a living cell to allow its survival. With this simple kind of local rule, one can already observe very complex behaviors. What is surprising is that the behavior is depending on the global shape of the structure of cells. Knowing the local laws is not enough. One needs to consider the shape of the group of cells used as a starting point and it is this global shape which is encoding the behavior of the group of cells.
The following application will allow you to experiment. It is a bit slow (to be usable on more browsers) and as a consequence the stage is a bit small and prevent from experimenting with the most sophisticated group of cells. By default, the application is using the laws for the Conway's game of life. But, you can change these laws and select other ones provided by the application.
When the animation is stopped, you can either draw with the mouse in the stage, drag-and-drop some block examples or generate a random starting point.
Have fun !

