Wireworld

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

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 electronic logic elements, or "gates", and, despite the simplicity of the rules, Wireworld is Turing-complete.

Rules

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 03 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:

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

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

References

  1. Computer recreations: The cellular automata programs that create Wireworld, Rugworld and other diversions, Scientific American (1990) by A K Dewdney
  2. Nyles Heise. "Wireworld".
  3. Mark Owen. "The Wireworld Computer".

External links

This article is issued from Wikipedia - version of the 12/1/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.