Golly (program)

Last updated
Golly
Initial releaseJuly 2005;18 years ago (2005-07) [1]
Stable release
v4.3 / May 2024;0 months ago (2024-05) [1]
Repository sourceforge.net/projects/golly/
Written in C++ (wxWidgets)
Operating system Linux, FreeBSD, OpenBSD, Windows, OS X, iOS, Android
License GNU GPLv2 [2]
Website golly.sourceforge.net   OOjs UI icon edit-ltr-progressive.svg

Golly is a tool for the simulation of cellular automata. It is free open-source software written by Andrew Trevorrow and Tomas Rokicki; [3] it can be scripted using Lua [1] or Python. It includes a hashlife algorithm that can simulate the behavior of very large structured or repetitive patterns such as Paul Rendell's Life universal Turing machine, [4] and that is fast enough to simulate some patterns for 232 or more time units. [5] It also includes a large library of predefined patterns in Conway's Game of Life and other rules. [6]

Related Research Articles

In computability theory, a system of data-manipulation rules is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine. This means that this system is able to recognize or decode other data-manipulation rule sets. Turing completeness is used as a way to express the power of such a data-manipulation rule set. Virtually all programming languages today are Turing-complete.

<span class="mw-page-title-main">Conway's Game of Life</span> Two-dimensional cellular automaton devised by J. H. Conway in 1970

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.

<span class="mw-page-title-main">Cellular automaton</span> Discrete model studied in computer science

A cellular automaton is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessellation structures, and iterative arrays. Cellular automata have found application in various areas, including physics, theoretical biology and microstructure modeling.

<span class="mw-page-title-main">Langton's ant</span> Two-dimensional Turing machine with emergent behavior

Langton's ant is a two-dimensional 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 idea has been generalized in several different ways, such as turmites which add more colors and more states.

<span class="mw-page-title-main">Rule 110</span> Elementary cellular automaton

The Rule 110 cellular automaton is an elementary cellular automaton with interesting behavior on the boundary between stability and chaos. In this respect, it is similar to Conway's Game of Life. Like Life, Rule 110 with a particular repeating background pattern is known to be Turing complete. This implies that, in principle, any calculation or computer program can be simulated using this automaton.

A cellular automaton (CA) is Life-like if it meets the following criteria:

<span class="mw-page-title-main">Glider (Conway's Game of Life)</span> Moving pattern of five live cells in Conways Game of Life

The glider is a pattern that travels across the board in Conway's Game of Life. It was first discovered by Richard K. Guy in 1969, while John Conway's group was attempting to track the evolution of the R-pentomino. Gliders are the smallest spaceships, and they travel diagonally at a speed of one cell every four generations, or . The glider is often produced from randomly generated starting configurations.

<span class="mw-page-title-main">Garden of Eden (cellular automaton)</span> Pattern that has no predecessors

In a cellular automaton, a Garden of Eden is a configuration that has no predecessor. It can be the initial configuration of the automaton but cannot arise in any other way. John Tukey named these configurations after the Garden of Eden in Abrahamic religions, which was created out of nowhere.

<span class="mw-page-title-main">Turmite</span> Turing machine on a two-dimensional grid

In computer science, a turmite is a Turing machine which has an orientation in addition to a current state and a "tape" that consists of an infinite two-dimensional grid of cells. The terms ant and vant are also used. Langton's ant is a well-known type of turmite defined on the cells of a square grid. Paterson's worms are a type of turmite defined on the edges of an isometric grid.

<span class="mw-page-title-main">Codd's cellular automaton</span> 2D cellular automaton devised by Edgar F. Codd in 1968

Codd's cellular automaton is a cellular automaton (CA) devised by the British computer scientist Edgar F. Codd in 1968. It was designed to recreate the computation- and construction-universality of von Neumann's CA but with fewer states: 8 instead of 29. Codd showed that it was possible to make a self-reproducing machine in his CA, in a similar way to von Neumann's universal constructor, but never gave a complete implementation.

<span class="mw-page-title-main">Block cellular automaton</span> Kind of cellular automaton

A block cellular automaton or partitioning cellular automaton is a special kind of cellular automaton in which the lattice of cells is divided into non-overlapping blocks and the transition rule is applied to a whole block at a time rather than a single cell. Block cellular automata are useful for simulations of physical quantities, because it is straightforward to choose transition rules that obey physical constraints such as reversibility and conservation laws.

<span class="mw-page-title-main">Langton's loops</span> Self-reproducing cellular automaton patterns

Langton's loops are a particular "species" of artificial life in a cellular automaton created in 1984 by Christopher Langton. They consist of a loop of cells containing genetic information, which flows continuously around the loop and out along an "arm", which will become the daughter loop. The "genes" instruct it to make three left turns, completing the loop, which then disconnects from its parent.

<span class="mw-page-title-main">Rake (cellular automaton)</span> Type of moving pattern which periodically produces spaceships

A rake, in the lexicon of cellular automata, is a type of puffer train, which is an automaton that leaves behind a trail of debris. In the case of a rake, however, the debris left behind is a stream of spaceships, which are automata that "travel" by looping through a short series of iterations and end up in a new location after each cycle returns to the original configuration.

<span class="mw-page-title-main">Von Neumann universal constructor</span> Self-replicating cellular automaton

John von Neumann's universal constructor is a self-replicating machine in a cellular automaton (CA) environment. It was designed in the 1940s, without the use of a computer. The fundamental details of the machine were published in von Neumann's book Theory of Self-Reproducing Automata, completed in 1966 by Arthur W. Burks after von Neumann's death. It is regarded as foundational for automata theory, complex systems, and artificial life. Indeed, Nobel Laureate Sydney Brenner considered Von Neumann's work on self-reproducing automata central to biological theory as well, allowing us to "discipline our thoughts about machines, both natural and artificial."

<span class="mw-page-title-main">Rule 90</span> Elementary cellular automaton

In the mathematical study of cellular automata, Rule 90 is an elementary cellular automaton based on the exclusive or function. It consists of a one-dimensional array of cells, each of which can hold either a 0 or a 1 value. In each time step all values are simultaneously replaced by the XOR of their two neighboring values. Martin, Odlyzko & Wolfram (1984) call it "the simplest non-trivial cellular automaton", and it is described extensively in Stephen Wolfram's 2002 book A New Kind of Science.

<span class="mw-page-title-main">Life without Death</span> 2D cellular automaton similar to Conways Game of Life

Life without Death is a cellular automaton, similar to Conway's Game of Life and other Life-like cellular automaton rules. In this cellular automaton, an initial seed pattern grows according to the same rule as in Conway's Game of Life; however, unlike Life, patterns never shrink. The rule was originally considered by Toffoli & Margolus (1987), who called it "Inkspot"; it has also been called "Flakes". In contrast to the more complex patterns that exist within Conway's Game of Life, Life without Death commonly features still life patterns, in which no change occurs, and ladder patterns, that grow in a straight line.

Norman H. Margolus is a Canadian-American physicist and computer scientist, known for his work on cellular automata and reversible computing. He is a research affiliate with the Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology.

<span class="mw-page-title-main">Reversible cellular automaton</span> Cellular automaton that can be run backwards

A reversible cellular automaton is a cellular automaton in which every configuration has a unique predecessor. That is, it is a regular grid of cells, each containing a state drawn from a finite set of states, with a rule for updating all cells simultaneously based on the states of their neighbors, such that the previous state of any cell before an update can be determined uniquely from the updated states of all the cells. The time-reversed dynamics of a reversible cellular automaton can always be described by another cellular automaton rule, possibly on a much larger neighborhood.

<span class="mw-page-title-main">Artificial life</span> Field of study

Artificial life is a field of study wherein researchers examine systems related to natural life, its processes, and its evolution, through the use of simulations with computer models, robotics, and biochemistry. The discipline was named by Christopher Langton, an American theoretical biologist, in 1986. In 1987, Langton organized the first conference on the field, in Los Alamos, New Mexico. There are three main kinds of alife, named for their approaches: soft, from software; hard, from hardware; and wet, from biochemistry. Artificial life researchers study traditional biology by trying to recreate aspects of biological phenomena.

<span class="mw-page-title-main">LifeWiki</span> Wiki dedicated to Conways Game of Life

LifeWiki is a wiki dedicated to Conway's Game of Life. It hosts over 2000 articles on the subject and a large collection of Life patterns stored in a format based on run-length encoding that it uses to interoperate with other Life software such as Golly.

References

  1. 1 2 3 "Golly Help: Changes". golly.sourceforge.net. Retrieved 2016-10-02.
  2. "Golly download". sourceforge.net. Retrieved 2017-07-26.
  3. Delahaye, Jean-Paul (April 2009), "Le royaume du Jeu de la vie" (PDF), Pour la Science (in French): 86–91.
  4. Rendell, P. (2011), "A universal Turing machine in Conway's Game of Life", 2011 International Conference on High Performance Computing and Simulation (HPCS) (PDF), pp. 764–772, doi:10.1109/HPCSim.2011.5999906, S2CID   35957181, archived from the original (PDF) on 2014-03-11, retrieved 2012-12-09
  5. Gotts, Nicholas M. (2009), "Ramifying feedback networks, cross-scale interactions, and emergent quasi individuals in Conway's Game of Life" (PDF), Artificial Life, 15 (3): 351–375, doi:10.1162/artl.2009.Gotts.009, PMID   19254180, S2CID   16527203 .
  6. Eppstein, David (2010), "Growth and Decay in Life-Like Cellular Automata", in Andrew Adamatzky (ed.), Game of Life Cellular Automata, Springer, pp. 71–97, arXiv: 0911.2890 , Bibcode:2010golc.book...71E, doi:10.1007/978-1-84996-217-9_6, ISBN   9781849962179, S2CID   37007937