Langton's ant
Langton's ant is a two-dimensional Turing machine with a very simple set of rules but complicated emergent behavior. It was invented by Chris Langton in 1986 and runs on a square lattice of black and white cells.<ref>Template:Cite journal</ref> The universality of Langton's ant was proven in 2000.<ref name="Gajardo2000" /> The idea has been generalized in several different ways, such as turmites which add more colors and more states.
Contents
Rules
Squares on a plane are colored variously either black or white. We arbitrarily identify one square as the "ant". The ant can travel in any of the four cardinal directions at each step it takes. The ant moves according to the rules below:
- At a white square, turn 90° right, flip the color of the square, move forward one unit
- At a black square, turn 90° left, flip the color of the square, move forward one unit
Langton's ant can also be described as a cellular automaton, where the grid is colored black or white and the “ant” square has one of eight different colors assigned to encode the combination of black/white state and the current direction of motion of the ant.<ref name="Gajardo2000" />
Modes of behavior
These simple rules lead to complex behavior. Three distinct modes of behavior are apparent,<ref>Template:Cite book</ref> when starting on a completely white grid.
- Simplicity. During the first few hundred moves it creates very simple patterns which are often symmetric.
- Chaos. After a few hundred moves, a big, irregular pattern of black and white squares appears. The ant traces a pseudo-random path until around 10,000 steps.
- Emergent order. Finally the ant starts building a recurrent "highway" pattern of 104 steps that repeats indefinitely.
All finite initial configurations tested eventually converge to the same repetitive pattern, suggesting that the "highway" is an attractor of Langton's ant, but no one has been able to prove that this is true for all such initial configurations. It is only known that the ant's trajectory is always unbounded regardless of the initial configuration<ref>Template:Cite journal</ref> – this is known as the Cohen-Kung theorem.<ref>Template:MathWorld</ref><ref>Template:Cite journal</ref>
Universality
In 2000, Gajardo et al. showed a construction that calculates any boolean circuit using the trajectory of a single instance of Langton's ant.<ref name="Gajardo2000">Template:Cite journal</ref> Thus, it would be possible to simulate a Turing machine using the ant's trajectory for computation. This means that the ant is capable of universal computation.
Extension to multiple colors
Greg Turk and Jim Propp considered a simple extension to Langton's ant where instead of just two colors, more colors are used.<ref>Template:Cite journal</ref> The colors are modified in a cyclic fashion. A simple naming scheme is used: for each of the successive colors, a letter "L" or "R" is used to indicate whether a left or right turn should be taken. Langton's ant has the name "RL" in this naming scheme.
Some of these extended Langton's ants produce patterns that become symmetric over and over again. One of the simplest examples is the ant "RLLR". One sufficient condition for this to happen is that the ant's name, seen as a cyclic list, consists of consecutive pairs of identical letters "LL" or "RR" (the term "cyclic list" indicates that the last letter may pair with the first one.) The proof involves Truchet tiles.
- LangtonsAnt-nColor RLR 13937.png
RLR: grows chaotically. It is not known whether this ant ever produces a highway.
- LangtonsAnt-nColor LLRR 123157.png
LLRR: grows symmetrically.
- LangtonsAnt-nColor LRRRRRLLR 70273.png
LRRRRRLLR: fills space in a square around itself.
- LangtonsAnt-nColor LLRRRLRLRLLR 36437.png
LLRRRLRLRLLR: creates a convoluted highway.
- LangtonsAnt-nColor RRLLLRLLLRRR 32734.png
RRLLLRLLLRRR: creates a filled triangle shape that grows and moves.
Extension to multiple states
Template:Main A further extension of Langton's Ants is to consider multiple states of the Turing machine – as if the ant itself has a color that can change. These ants are called turmites, a contraction of "Turing machine termites". Common behaviours include the production of highways, chaotic growth and spiral growth.<ref>Template:Cite document.</ref>
- Turmite-111180121010-12536.png
Spiral growth.
- Turmite-120121010011-8342.png
Semi-chaotic growth.
- Turmite-121021110111-27731.png
Production of a highway after a period of chaotic growth.
- Turmite-121181121020-65932.png
Chaotic growth with a distinctive texture.
- Turmite-180121020081-223577.png
Growth with a distinctive texture inside an expanding frame.
- Turmite-181181121010-10211.png
Constructing a Fibonacci spiral.
Extension to multiple ants
Multiple Langton's Ants can co-exist on the 2D plane, and their interactions give rise to complex, higher-order automata that collectively build a wide variety of organized structures. There is no need for conflict resolution, as every ant sitting on the same square wants to make the same change to the tape. There is a YouTube video showing these multiple ant interactions.
Multiple turmites can co-exist on the 2D plane as long as there is a rule for what happens when they meet. Ed Pegg, Jr. considered turmites that can turn for example both left and right, splitting in two and annihilating each other when they meet.<ref>Template:Cite web.</ref>
See also
References
<references/>
External links
Template:Commons category multi
- Template:MathWorld
- Online demonstration of Langton's ant
- Chris Langton demonstrating multiple ants interacting in a "Colony"
- Generalized Ants
- An Online Interactive Example
- JavaScript Demonstration
- Java applet with multiple colours and programmable ants
- Langton's ant in 3-D (examples and small demo program)
- Mathematical Recreations column by Ian Stewart using Langton's Ant as a metaphor for a Theory of everything. Contains the proof that Langton's ant is unbounded.
- Java applet on several grids and editable graphs, it shows how the ant can compute logical gates
- Programming Langton's ants in Python using Pygame.
- A video demo of different multiple-color Langton's Ants
- Golly script for generating rules in the multiple color extension of Langton's ant