8. Cellular Automata

A cellular automaton (abbrev. CA) is a discrete model studied in computer science, mathematics, physics, complexity science, theoretical biology and microstructure modeling.

A cellular automaton consists of a regular grid of cells, each in one of a finite number of states, such as on and off. The grid can be in any finite number of dimensions. For each cell, a set of cells called its neighborhood is defined relative to the specified cell. An initial state (time t = 0) is selected by assigning a state for each cell. A new generation is created (advancing t by 1), according to some fixed rule (generally, a mathematical function) that determines the new state of each cell in terms of the current state of the cell and the states of the cells in its neighborhood. Typically, the rule for updating the state of cells is the same for each cell and does not change over time, and is applied to the whole grid simultaneously, though exceptions are known, such as the stochastic cellular automaton and asynchronous cellular automaton.

8.1. Linear Cellular Automata (LCA)

8.1.1. Circular loop through an Automaton

8.1.2. Apply evolution rule: 30

8.1.3. Apply evolution rule: 90

8.2. Reversible Linear Cellular Automata (RLCA)

Util Functions: converts byte list to binary string and vice versa

8.2.1. Reversible Linear Cellular Automata functions

Totalistic: A special class of cellular automata are totalistic cellular automata. The state of each cell in a totalistic cellular automaton is represented by a number (usually an integer value drawn from a finite set), and the value of a cell at time t depends only on the sum of the values of the cells in its neighborhood (possibly including the cell itself) at time t − 1.

8.2.2. Run RLCA: Forward way

8.2.3. Run RLCA: Backward way

8.2.4. Validation of the Reversibility of the Automata


« Home