Cellular automata are discrete models that consist of a grid of cells, each in one of a finite number of states.
The state of each cell evolves according to simple rules based on the states of neighboring cells.