Langton's ant is a two-dimensional universal Turing machine with a very simple set of rules but complex emergent behavior. It was invented by Chris Langton in 1986 and runs on a square lattice of black and white cells. The universality of Langton's ant was proven in 2000. The idea has been generalized in several different ways, such as turmites which add more colors and more states.
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.
Modes of behavior
These simple rules lead to complex behavior. Three distinct modes of behavior are apparent, 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 – this is known as the Cohen–Kung theorem.
In 2000, Gajardo et al. showed a construction that calculates any boolean circuit using the trajectory of a single instance of Langton's ant. Thus, it would be possible to simulate an arbitrary 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. 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.
The hexagonal grid permits up to six different rotations, which are notated here as N (no change), R1 (60° clockwise), R2 (120° clockwise), U (180°), L2 (120° counter-clockwise), L1 (60° counter-clockwise).
Extension to multiple states
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.
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 ants that can turn for example both left and right, splitting in two and annihilating each other when they meet.
- Langton, Chris G. (1986). "Studying artificial life with cellular automata". Physica D: Nonlinear Phenomena. 22 (1-3): 120–149. doi:10.1016/0167-2789(86)90237-X. hdl:2027.42/26022.
- Gajardo, A.; Moreira, A.; Goles, E. (15 March 2002). "Complexity of Langton's ant" (PDF). Discrete Applied Mathematics. 117 (1-3): 41–50. doi:10.1016/S0166-218X(00)00334-6.
- Pratchett, Terry (1999). The Science Of Discworld.
- Bunimovich, Leonid A.; Troubetzkoy, Serge E. (1992). "Recurrence properties of Lorentz lattice gas cellular automata". Journal of Statistical Physics. 67 (1-2): 289–302. doi:10.1007/BF01049035.
- Stewart, I. (1994). "The Ultimate in Anty-Particles" (PDF). Sci. Am. 271: 104–107.
- Gale, D.; Propp, J.; Sutherland, S.; Troubetzkoy, S. (1995). "Further Travels with My Ant". Mathematical Entertainments column, Mathematical Intelligencer. 17: 48–56.
- Pegg, Jr., Ed. "Turmite". From MathWorld--A Wolfram Web Resource, created by Eric W. Weisstein. Retrieved 15 October 2009..
- Pegg, Jr., Ed. "Math Puzzle". Retrieved 15 October 2009..
|Wikimedia Commons has media related to
- Weisstein, Eric W. "Langton's ant". MathWorld.
- Online demonstration of Langton's ant
- Chris Langton demonstrating multiple ants interacting in a "colony"
- Generalized ants
- An online interactive example
- 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
- Langton's ants application with custom settings, developed in C++ using SDL 1.2
- DataGenetics, Langton's Ant (and Life)
- Windows 10 desktop application