# Wireworld

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Wireworld
> Markdown URL: https://mediated.wiki/source/Wireworld.md
> Source: https://en.wikipedia.org/wiki/Wireworld
> Source revision: 1339066592
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

2D cellular automaton devised by Brian Silverman in 1987

2 Wireworld [diodes](/source/Diode), the above one in conduction direction, the lower one in reverse-biasing

**Wireworld**, alternatively **WireWorld**, is a [cellular automaton](/source/Cellular_automaton) first proposed by [Brian Silverman](/source/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](/source/Scientific_American)*.[1] Wireworld is particularly suited to simulating [transistors](/source/Transistor), and is [Turing-complete](/source/Turing-complete).

## Rules

Example of a complicated circuit made in WireWorld: a [seven-segment display](/source/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),

1. electron head (blue),

1. electron tail (red),

1. 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](/source/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](/source/Logic_gate) (see below).

2 [clock generators](/source/Clock_generator) sending electrons into an [XOR gate](/source/XOR_gate)

## Applications

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

## See also

- [von Neumann's cellular automaton](/source/Von_Neumann_cellular_automaton)

## References

1. **[^](#cite_ref-SciAm1990_1-0)** Dewdney, A K (January 1990). ["Computer recreations: The cellular automata programs that create Wireworld, Rugworld and other diversions"](https://www.scientificamerican.com/article/computer-recreations/). *[Scientific American](/source/Scientific_American)*. **262** (1): 146–149. [doi](/source/Doi_(identifier)):[10.1038/scientificamerican0190-146](https://doi.org/10.1038%2Fscientificamerican0190-146). [JSTOR](/source/JSTOR_(identifier)) [24996654](https://www.jstor.org/stable/24996654). Retrieved 2 December 2018.

1. **[^](#cite_ref-2)** Nyles Heise. ["Wireworld"](https://web.archive.org/web/20110204063835/http://www.heise.ws/wireworld.html). Archived from [the original](http://www.heise.ws/wireworld.html) on 2011-02-04.

1. **[^](#cite_ref-3)** Mark Owen. ["The Wireworld Computer"](http://www.quinapalus.com/wi-index.html).

## External links

- [Wireworld](http://rosettacode.org/wiki/Wireworld) on [Rosetta Code](/source/Rosetta_Code)

- [The Wireworld computer in Java](http://www.quinapalus.com/wi-java.html)

- [A puzzle game teaching how to build logic gates in Wireworld](https://maxime-wegesin.itch.io/wireworld)

---
Adapted from the Wikipedia article [Wireworld](https://en.wikipedia.org/wiki/Wireworld) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Wireworld?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
