Von Neumann cellular automaton


Von Neumann cellular automata are the original expression of cellular automata, the development of which was prompted by suggestions made to John von Neumann by his close friend and fellow mathematician Stanislaw Ulam. Their original purpose was to provide insight into the logical requirements for machine self-replication, and they were used in von Neumann's universal constructor.
Nobili's cellular automaton is a variation of von Neumann's cellular automaton, augmented with the ability for confluent cells to cross signals and store information. The former requires an extra three states, hence Nobili's cellular automaton has 32 states, rather than 29. Hutton's cellular automaton is yet another variation, which allows a loop of data, analogous to Langton's loops, to replicate.

Definition

Configuration

In general, cellular automata constitute an arrangement of finite state automata that sit in positional relationships between one another, each FSA exchanging information with those other FSAs to which it is positionally adjacent. In von Neumann's cellular automaton, the finite state machines are arranged in a two-dimensional Cartesian grid, and interface with the surrounding four cells. As von Neumann's cellular automaton was the first example to use this arrangement, it is known as the von Neumann neighbourhood.
The set of FSAs define a cell space of infinite size. All FSAs are identical in terms of state-transition function, or rule-set.
The neighborhood is part of the state-transition function, and defines for any cell the set of other cells upon which the state of that cell depends.
All cells make their transitions synchronously, in step with a universal "clock" as in a synchronous digital circuit.

States

Each FSA of the von Neumann cell space can accept any of the 29 states of the rule-set. The rule-set is grouped into five orthogonal subsets. Each state includes the colour of the cell in the cellular automata program in. They are
  1. a ground state U
  2. the transition or sensitised states
  3. # S
  4. # S0
  5. # S00
  6. # S000
  7. # S01
  8. # S1
  9. # S10
  10. # S11
  11. the confluent states
  12. # C00 – quiescent
  13. # C01 – next-excited
  14. # C10 – excited
  15. # C11 – excited next-excited
  16. the ordinary transmission states
  17. # North-directed
  18. # South-directed
  19. # West-directed
  20. # East-directed
  21. the special transmission states
  22. # North-directed
  23. # South-directed
  24. # West-directed
  25. # East-directed
"Excited" states carry data, at the rate of one bit per state transition step.
Note that confluent states have the property of a one-cycle delay, thus effectively holding two bits of data at any given time.

Transmission state rules

The flow of bits between cells is indicated by the direction property. The following rules apply:
The following specific rules apply to confluent states:
Initially, much of the cell-space, the universe of the cellular automaton, is "blank," consisting of cells in the ground state U. When given an input excitation from a neighboring ordinary- or special transmission state, the cell in the ground state becomes "sensitised," transitioning through a series of states before finally "resting" at a quiescent transmission or confluent state.
The choice of which destination state the cell will reach is determined by the sequence of input signals. Therefore, the transition/sensitised states can be thought of as the nodes of a bifurcation tree leading from the ground-state to each of the quiescent transmission and confluent states.
In the following tree, the sequence of inputs is shown as a binary string after each step:
Note that: