A Cellular automaton is a special kind of universe: space is divided into a finite number of cells, while time advances in time ‘hops’(t=0,1,2,3,…)
Each cell has a state ( for ex.: ‘Dead’, ‘Alive’, ‘True’, ‘False’, ‘Red’, ‘Blue’). A cell represents a Finite State Machine.
The cells are connected together. A group of connected cells is called a neighborhood/cluster. The state of the cell is affected by the states of it’s neighbors.
In the common scenario when time changes(for ex. t=1) each cell changes it’s current state in parallel to the other cells in the automaton.
A cellular automaton could exist in multiple dimensions: 1-D, 2-D, 3-D, …
One could think of a cellular automaton as a multi-agent system. Each cell represents an agent. Global emerging behavior could be observed in result of local interactions between cells.
More about Cellular automata:
Life-like cellular automata are composed of “living” cells. A living cell has two possible states: Dead or Alive.
By default a cell dies except in these cases:
where N and K are integers (for ex. N=2, K=3)
Life-like automata are able to produce self-replicating patterns.
Life-like cellular automata display emerging behavior – global behavior resulting from local interactions
RABBIT provides a generic framework for creating Cellular Automata models:
|CELLULAR AUTOMATA COMPONENTS|
|t: optional time(manual control)||t: time|
|C: Cell Prototype, being populated on the grid
P: Grid of points
SC: Initial State Configuration
|S: Grid of cells|
|S: cellular space(grid/network of cells)||CA: The Cellular Automaton object|
|CA: Cellular Automaton
|C: the last state configuration
M: Memory, containing all state configurations
CA: Cellular Automaton
|C: state configuration(s)
CA: cellular automaton
F: optional State param, which acts as a filter
|P: Points, associated with each cell
CS: States of the listed cells
t: The time associated with each state
|P: selected points/cells
S: custom state
|SC: State Configuration|
|S: Set of states||SC: Random State Configuration|
RABBIT can create Life-like cellular automata:
|LIFE-LIKE CA COMPONENTS|
|R: Evolution Rules||LC: Living cell prototype|
|N: Number of Neighbors||R: Evolution Rule which defines that a Cell is getting born if surrounded by N living neighbors|
|N: Number of Neighbors||R: Evolution Rule which defines that a living Cell survives if surrounded by N living neighbors|
A set of tutorials ( GH Definitions+explanation notes) is included in the Distribution File: