- Codd's cellular automaton
-
Codd's cellular automaton is a cellular automaton (CA) devised by the British computer scientist Edgar F. Codd in 1968. It was designed to recreate the computation- and construction-universality of von Neumann's CA but with fewer states: 8 instead of 29. Codd showed that it was possible to make a self-reproducing machine in his CA, in a similar way to von Neumann's universal constructor but never gave a complete implementation.
Contents
Historical Context
In the 1940s and 50's, John von Neumann posed the following problem[1]:
- What kind of logical organization is sufficient for an automaton to be able to reproduce itself?
He was able to construct a Universal Constructor with a square grid and 29 states. E.F. Codd found a simpler machine with only eight states[2]. Therefore von Neumann's question had to be modified:
- What kind of logical organization is necessary for an automaton to be able to reproduce itself?
Three years after Codd's work, Edwin Roger Banks showed a 4-state CA (appendix IV in his thesis) that was also computation- and construction-universal but again didn't implement a self-reproducing machine[3].
John Devore, in his 1973 master's thesis, was able to greatly reduce the size of Codd's machine design while using almost the same 8-state CA. More than just a theoretical device, Devore's machine was possibly the first implementation of a self-reproducing CA. The machine itself could fit inside computer memory but the data tape stretched for thousands of cells, so simulation of the entire self-reproduction cycle was not possible. Decades later, Devore's original design would complete self-reproduction in simulation using the Golly program.
In 1984, Christopher Langton extended Codd's cellular automaton to create Langton's loops[4], which also exhibits reproductive behavior but uses only a very small number of cells compared to the hundreds of thousands needed for self-reproduction in von Neumann, Codd or Banks' cellular automata.
Comparison of CA rulesets
CA number of states symmetries computation- and construction-universal size of self-reproducing machine von Neumann 29 none yes 130,622 cells Codd 8 rotations yes 283,126,588 cells[5] Devore 8 rotations yes 94,794 cells Banks-IV 4 rotations and reflections yes unknown Langton's loops 8 rotations no 86 cells Specification
Codd's CA has 8-states and the von Neumann neighborhood with rotational symmetry.
The table below shows the signal-trains needed to accomplish different tasks. Some of the signal trains need to be separated by two blanks (state 1) on the wire to avoid interference, so the 'extend' signal-train used in the image at the top appears here as '70116011'.
purpose signal train extend 70116011 extend_left 4011401150116011 extend_right 5011501140116011 retract 4011501160116011 retract_left 5011601160116011 retract_right 4011601160116011 mark 701160114011501170116011 erase 601170114011501160116011 sense 70117011 cap 40116011 inject_sheath 701150116011 inject_trigger 60117011701160116011 Universal computer-constructor
Codd designed a self-replicating computer in the cellular automaton, based on Wang's W-machine. However, the design was so colossal that it evaded implementation until 2009, when Tim Hutton constructed an explicit configuration[5]. There were some minor errors in Codd's design, so Hutton's implementation differs slightly, in both the configuration and the ruleset.
See also
- Artificial life
- Cellular automaton
- Conway's game of life
- Langton's loops
- von Neumann cellular automaton
- Wireworld
References
- ^ von Neumann, John; Burks, Arthur W. (1966). "Theory of Self-Reproducing Automata." (Scanned book online). www.walenz.org. Archived from the original on 2008-01-05. http://web.archive.org/web/20080105213853/http://www.walenz.org/vonNeumann/index.html. Retrieved 2008-02-29.
- ^ Codd, Edgar F. (1968). Cellular Automata. Academic Press, New York.
- ^ Banks, Edwin (1971). Information Processing and Transmission in Cellular Automata. PhD thesis, MIT, Department of Mechanical Engineering. http://www.bottomlayer.com/bottom/banks/banks_commentary.htm.
- ^ Langton, C. G. (1984). "Self-Reproduction in Cellular Automata". Physica D: Nonlinear Phenomena 10 (1-2): 135–144. doi:10.1016/0167-2789(84)90256-2.
- ^ a b Hutton, Tim J. (2010). "Codd's self-replicating computer". Artificial Life 16 (2): 99–117. doi:10.1162/artl.2010.16.2.16200. PMID 20067401. http://www.sq3.org.uk/papers/Hutton_CoddsSelfReplicatingComputer_2010.pdf.
External links
- The Rule Table Repository has the transition table for Codd's CA.
- Golly - supports Codd's CA along with the Game of Life, and other rulesets.
- Download the complete machine (13MB) and more details.
Categories:- Artificial life
- Cellular automaton rules
Wikimedia Foundation. 2010.