Wireworld

Summary

Wireworld, alternatively WireWorld, is a cellular automaton first proposed by Brian Silverman in 1987, as part of his program Phantom Fish Tank. It subsequently became more widely known as a result of an article in the "Computer Recreations" column of Scientific American.[1] Wireworld is particularly suited to simulating transistors, and is Turing-complete.

2 Wireworld diodes, the above one in conduction direction, the lower one in reverse-biasing

Rules edit

 
Example of a complicated circuit made in WireWorld: a seven-segment display and decoder. Conductor cells are dark green to highlight signal flow and display segments.

A Wireworld cell can be in one of four different states, usually numbered 0–3 in software, modeled by colors in the examples here:

  1. empty (black),
  2. electron head (blue),
  3. electron tail (red),
  4. conductor (yellow).

As in all cellular automata, time proceeds in discrete steps called generations (sometimes "gens" or "ticks"). Cells behave as follows:

  • empty → empty,
  • electron head → electron tail,
  • electron tail → conductor,
  • conductor → electron head if exactly one or two of the neighbouring cells are electron heads, otherwise remains conductor.

Wireworld uses what is called the Moore neighborhood, which means that in the rules above, neighbouring means one cell away (range value of one) in any direction, both orthogonal and diagonal.

These simple rules can be used to construct logic gates (see below).

 
2 clock generators sending electrons into an XOR gate

Applications edit

Entities built within Wireworld universes include Langton's Ant (allowing any Langton's Ant pattern to be built within Wireworld)[2] and the Wireworld computer, a Turing-complete computer implemented as a cellular automaton.[3]

See also edit

References edit

  1. ^ Dewdney, A K (January 1990). "Computer recreations: The cellular automata programs that create Wireworld, Rugworld and other diversions". Scientific American. 262 (1): 146–149. JSTOR 24996654. Retrieved 2 December 2018.
  2. ^ Nyles Heise. "Wireworld". Archived from the original on 2011-02-04.
  3. ^ Mark Owen. "The Wireworld Computer".

External links edit

  • Wireworld on Rosetta Code
  • The Wireworld computer in Java
  • No Wires (contains an interactive Wireworld widget)