|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| {{Hatnote|"Conway game", which redirects to here, can also refer to games as defined by [[surreal number]]s, which John Conway also developed.}}
| | Begrens mitt søk til / r / volleyballuse følgende søkeparametere for å begrense resultatene: se søke faq for detaljer. I øyeblikket eier flere par basketball sko spesielt for volleyball og elsker å leke i hyperdunks gentlemen jeg har også fortsatt en trofast par mizunos som aldri la meg ned. Jeg bare lurte på hva den reddit volleyball samfunnet tenker. Stern til en fantastisk rømling suksess gjør forretninger som kan være sikker på å øke abonnementer i mange år. Sirius har også et kvelertak inne basketball eteren by way of privat beskyttelse underneath loven for fotball programmering, NHL, Countrywide Basketball Association i tillegg riktige rettigheter, slik at du kan Dale Earnhardt jr, Dale Earnhardt drift i 2007 XM i nyere tid Gucci Medium Messenger Bag 201446 i Beige / Ebony har fantastiske juridiske rettigheter fra MLB ski og / eller NASCAR opp til det punktet 2007, glatt mot en masse school fotball spill sendinger.<br><br> |
| [[File:Gospers glider gun.gif|frame|right|A single [[Bill Gosper|Gosper]]'s [[Gun (cellular automaton)|Glider Gun]] creating "[[Glider (Conway's Life)|gliders]]"]]
| |
| [[File:Conways game of life breeder.png|thumb|379px|A screenshot of a [[Puffer train (cellular automaton)|puffer-type breeder]] (red) that leaves [[Gun (cellular automaton)|glider guns]] (green) in its wake, which in turn create gliders (blue). ([[:Image:Conways game of life breeder animation.gif|animation]])]]
| |
|
| |
|
| The '''Game of Life''', also known simply as '''Life''', is a [[cellular automaton]] devised by the [[United Kingdom|British]] [[mathematician]] [[John Horton Conway]] in 1970.<ref>{{cite book | last1 = Gardner | first1 = Martin | authorlink1 = Martin Gardner | title = Mathematical Games – The fantastic combinations of John Conway's new solitaire game "life" | volume = 223 | work = Scientific American | date = October 1970 | year = 1970 | pages = 120–123 | url = http://ddi.cs.uni-potsdam.de/HyFISCH/Produzieren/lis_projekt/proj_gamelife/ConwayScientificAmerican.htm | accessdate = 2011-06-26 | archiveurl = http://web.archive.org/web/20090603015231/http://ddi.cs.uni-potsdam.de/HyFISCH/Produzieren/lis_projekt/proj_gamelife/ConwayScientificAmerican.htm | archivedate= 2009-06-03 | isbn = 0-89454-001-7}}</ref>
| | Tilbrakte mesteparten av dagen sjekker ut de fleste av butikkene. Før vi kom jeg hadde skrevet ut en butikk locator kart slik at jeg visste hvor jeg skulle for å spare tid. Hvis jeg vil sammenligne med prisene hjemme i Canada forty% sixty% avslag. Hvem har de mest effektive fotballfans? anmeldelse hvem som helst kan sette seg en tennis armbånd. I løpet av en tenniskamp, Den nye v4 joggesko dine hofter og kjerne, Phil Mickelson, selve stedet hvor ballen landet var ikke det [http://photobucket.com/images/jeg+s%C3%A5 jeg så] i mitt sinn øyet. Den eneste virkelige forskjellen er hvor høy hælen på skoen er.<br><br>If you enjoyed this post and you would such as to get additional details relating to [http://tinyurl.com/ldvlm95 http://tinyurl.com/ldvlm95] kindly go to our own site. |
| | |
| The "game" 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.
| |
| | |
| ==Rules==
| |
| The universe of the Game of Life is an infinite two-dimensional [[orthogonal]] grid of square ''cells'', each of which is in one of two possible states, ''alive'' or ''dead''. Every cell interacts with its eight ''[[Moore neighborhood|neighbours]]'', which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:
| |
| # Any live cell with fewer than two live neighbours dies, as if caused by under-population.
| |
| # Any live cell with two or three live neighbours lives on to the next generation.
| |
| # Any live cell with more than three live neighbours dies, as if by overcrowding.
| |
| # Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
| |
| | |
| The initial pattern constitutes the ''seed'' of the system. The first generation is created by applying the above rules simultaneously to every cell in the seed—births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a ''tick'' (in other words, each generation is a pure function of the preceding one). The rules continue to be applied repeatedly to create further generations.
| |
| | |
| ==Origins==
| |
| Conway was interested in a problem presented in the 1940s by mathematician [[John von Neumann]], who attempted to find a hypothetical machine that could build copies of itself and succeeded when he found a mathematical model for such a machine with very complicated rules on a rectangular grid. The Game of Life emerged as Conway's successful attempt to drastically simplify von Neumann's ideas.
| |
| The game made its first public appearance in the October 1970 issue of ''[[Scientific American]]'', in [[Martin Gardner]]'s "[[Mathematical Games (column)|Mathematical Games]]" column. From a theoretical point of view, it is interesting because it has the power of a [[universal Turing machine]]: that is, anything that can be computed [[algorithm]]ically can be computed within Conway's Game of Life.<ref name="chapman">It is a model and simulation that is interesting to watch and can show that simple things can become complicated problems.
| |
| {{cite web|url=http://www.igblan.free-online.co.uk/igblan/ca/|title=Life Universal Computer|author=Paul Chapman|accessdate=July 12, 2009|date=November 11, 2002}}
| |
| </ref><ref name="bcg">
| |
| {{Cite journal | last1=Berlekamp | first1=E. R. | author1-link=Elwyn Berlekamp | last2=Conway | first2=John Horton | author2-link=en:John Horton Conway | last3=Guy | first3=R.K. | author3-link=Richard K. Guy | title=[[Winning Ways for your Mathematical Plays]] | publisher=A K Peters Ltd | edition=2nd | isbn=978-1-56881-130-7 | year=2004 | month=2001 | postscript=<!--None-->}}
| |
| </ref> Gardner wrote:
| |
| <blockquote>The game made Conway instantly famous, but it also opened up a whole new field of mathematical research, the field of [[cellular automata]] ... Because of Life's analogies with the rise, fall and alterations of a society of living organisms, it belongs to a growing class of what are called "simulation games" (games that resemble real life processes).</blockquote>
| |
| | |
| Ever since its publication, Conway's Game of Life has attracted much interest, because of the surprising ways in which the patterns can evolve. Life provides an example of [[emergence]] and [[self-organization]]. It is interesting for [[computer science|computer scientists]], [[physics|physicists]], [[biology|biologists]], [[biochemistry|biochemists]], [[economics|economists]], [[mathematics|mathematicians]], [[philosophy|philosophers]], [[generative sciences|generative scientists]] and others to observe the way that complex patterns can emerge from the implementation of very simple rules. The game can also serve as a didactic [[analogy]], used to convey the somewhat counter-intuitive notion that "design" and "organization" can spontaneously emerge in the absence of a designer. For example, philosopher and cognitive scientist [[Daniel Dennett]] has used the analogue of Conway's Life "universe" extensively to illustrate the possible evolution of complex philosophical constructs, such as [[consciousness]] and [[free will]], from the relatively simple set of deterministic physical laws governing our own universe.<ref>
| |
| Dennett, D.C. (1991). ''Consciousness Explained''. Boston: Back Bay Books. ISBN 0-316-18066-1
| |
| </ref><ref>
| |
| Dennett, D.C. (1995). ''Darwin's Dangerous Idea: Evolution and the Meanings of Life''. New York: Simon & Schuster. ISBN 0-684-82471-X
| |
| </ref><ref>
| |
| Dennett, D.C. (2003). ''Freedom Evolves''. New York: Penguin Books. ISBN 0-14-200384-0
| |
| </ref>
| |
| | |
| The popularity of Conway's Game of Life was helped by its coming into being just in time for a new generation of inexpensive [[minicomputer]]s which were being released into the market. The game could be run for hours on these machines, which would otherwise have remained unused at night. In this respect, it foreshadowed the later popularity of computer-generated [[fractals]]. For many, Life was simply a programming challenge: a [[fun]] way to use otherwise wasted [[Central processing unit|CPU]] cycles. For some, however, Life had more philosophical connotations. It developed a cult following through the 1970s and beyond; current developments have gone so far as to create theoretic emulations of computer systems within the confines of a Life board.<ref>
| |
| {{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}
| |
| </ref><ref>
| |
| {{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}
| |
| </ref>
| |
| | |
| Conway chose his rules carefully, after considerable experimentation, to meet these criteria:
| |
| # There should be no explosive growth.
| |
| # There should exist small initial patterns with chaotic, unpredictable outcomes.
| |
| # There should be potential for [[von Neumann universal constructor]]s.
| |
| # The rules should be as simple as possible, whilst adhering to the above constraints.<ref>Conway, private communication to the 'Life list', 14 April 1999.</ref>
| |
| | |
| ==Examples of patterns==
| |
| The earliest interesting patterns in the Game of Life were discovered without the use of computers. The simplest static patterns ("[[still life (CA)|still lifes]]") and repeating patterns ("[[oscillator (CA)|oscillators]]"—a superset of still lifes) were discovered while tracking the fates of various small starting configurations using graph paper, blackboards, physical game boards (such as [[Go (board game)|Go]]) and the like. During this early research, Conway discovered that the R-[[pentomino]] failed to stabilize in a small number of generations. In fact, it takes 1103 generations to stabilize, by which time it has a population of 116 and has fired six escaping gliders<ref>
| |
| {{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}</ref> (these were the first gliders ever discovered).<ref>
| |
| {{cite web|url=http://www.argentum.freeserve.co.uk/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=July 12, 2009}}
| |
| </ref>
| |
| | |
| Many different types of patterns occur in the Game of Life, including still lifes, oscillators, and patterns that translate themselves across the board ("[[spaceship (CA)|spaceships]]"). Some frequently occurring<ref>
| |
| {{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&sl=1&os=1&ss=1|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}
| |
| </ref>
| |
| <ref>{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}</ref> examples of these three classes are shown below, with live cells shown in black, and dead cells shown in white.
| |
| | |
| {{col-begin|width=auto; margin:auto}}
| |
| {{col-break}}
| |
| {| class="wikitable"
| |
| |-
| |
| ! colspan="2" | Still lifes
| |
| |-
| |
| | Block
| |
| | [[File:Game of life block with border.svg]]
| |
| |-
| |
| | Beehive
| |
| | [[File:Game of life beehive.svg]]
| |
| |-
| |
| | Loaf
| |
| | [[File:Game of life loaf.svg]]
| |
| |-
| |
| | Boat
| |
| | [[File:Game of life boat.svg]]
| |
| |}
| |
| {{col-break|gap=1em}}
| |
| {| class="wikitable"
| |
| |-
| |
| ! colspan="2" | Oscillators
| |
| |-
| |
| | Blinker (period 2)
| |
| | [[File:game of life blinker.gif]]
| |
| |-
| |
| | Toad (period 2)
| |
| | [[File:game of life toad.gif]]
| |
| |-
| |
| | Beacon (period 2)
| |
| | [[File:game of life beacon.gif]]
| |
| |-
| |
| | Pulsar (period 3)
| |
| | [[File:game of life pulsar.gif]]
| |
| |}
| |
| {{col-break|gap=1em}}
| |
| {| class="wikitable"
| |
| |-
| |
| ! colspan="2" | Spaceships
| |
| |-
| |
| | Glider
| |
| | [[File:Game of life animated glider.gif]]
| |
| |-
| |
| | Lightweight spaceship (LWSS)
| |
| | [[File:Game of life animated LWSS.gif]]
| |
| |}
| |
| {{col-end}}
| |
| | |
| The "pulsar"<ref>
| |
| {{cite web|url=http://www.ericweisstein.com/encyclopedias/life/Pulsar.html |title=Pulsar |publisher=Eric Weisstein's Treasure Trove of Life |accessdate=2008-09-16}}
| |
| </ref> is the most common period 3 oscillator. The great majority of naturally occurring oscillators are period 2, like the blinker and the toad, but oscillators of all but finitely many periods are known to exist,<ref>[http://entropymine.com/jason/life/status.html#oscper Game of Life Status page], Jason Summers, retrieved 2012-02-23.</ref> and oscillators of periods 4, 8, 14, 15, 30 and a few others have been seen to arise from random initial conditions.<ref>
| |
| {{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/freq_top_life.html |title=Most seen natural occurring ash objects in Game of Life |author=Achim Flammenkamp |date=2004-09-07 |accessdate=2008-09-16}}
| |
| </ref>
| |
| Patterns called "[[Methuselah (cellular automata)|Methuselahs]]" can evolve for long periods before stabilizing, the first-discovered of which was the R-pentomino. "Diehard" is a pattern that eventually disappears (rather than merely stabilizing) after 130 generations, which is conjectured to be maximal for patterns with seven or fewer cells.<ref>
| |
| {{cite web|url=http://www.argentum.freeserve.co.uk/lex_d.htm#diehard|title=Diehard|author=Stephen A. Silver|publisher=The Life Lexicon|accessdate=July 12, 2009}}
| |
| </ref> "Acorn" takes 5206 generations to generate 633 cells including 13 escaped gliders.<ref>
| |
| {{cite web|url=http://pentadecathlon.com/lifeNews/2005/02/new_methuselah_records.html |title=New Methuselah Records |author=Koenig, H. |date=February 21, 2005 |accessdate=January 24, 2009}}
| |
| </ref>
| |
| | |
| {| style="margin:auto; text-align:center;"
| |
| |-
| |
| | [[File:Game of life fpento.svg|framed|The R-pentomino]]
| |
| | [[File:game of life diehard.svg|framed|Diehard]]
| |
| | [[File:game of life acorn.svg|framed|Acorn]]
| |
| |}
| |
| | |
| Conway originally conjectured that no pattern can grow indefinitely—i.e., that for any initial configuration with a finite number of living cells, the population cannot grow beyond some finite upper limit. In the game's original appearance in "[[Mathematical Games (column)|Mathematical Games]]", Conway offered a $50 prize to the first person who could prove or disprove the conjecture before the end of 1970. One way to disprove it would be to discover patterns that keep adding counters to the field: a "[[gun (cellular automaton)|gun]]", which would be a configuration that repeatedly shoots out moving objects such as the "glider". Another way of disproving the conjecture would be to construct a "[[puffer train (cellular automaton)|puffer train]]", which would be a configuration that moves but leaves behind a trail of persistent "smoke".<ref>
| |
| {{cite web|url=http://www.argentum.freeserve.co.uk/lex_p.htm#puffertrain|title=Puffer train|author=Stephen A. Silver|publisher=The Life Lexicon|accessdate=July 12, 2009}}
| |
| </ref>
| |
| | |
| The prize was won in November of the same year by a team from the [[Massachusetts Institute of Technology]], led by [[Bill Gosper]]; the "Gosper glider gun" shown below produces its first glider on the 15th generation, and another glider every 30th generation from then on. This first glider gun is still the smallest one known:<ref>
| |
| {{cite web|url=http://www.argentum.freeserve.co.uk/lex_g.htm#gosperglidergun|title=Gosper glider gun|author=Stephen A. Silver|publisher=The Life Lexicon|accessdate=July 12, 2009}}
| |
| </ref>
| |
| | |
| [[File:Game of life glider gun.svg|framed|center|Gosper glider gun]]
| |
| | |
| Smaller patterns were later found that also exhibit infinite growth. All three of the following patterns grow indefinitely: the first two create one "block-laying switch engine"<ref>
| |
| {{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Block-laying_switch_engine|title=Block-laying switch engine|publisher=LifeWiki|accessdate=July 12, 2009}}
| |
| </ref> each, while the third creates two. The first has only 10 live cells (which has been proven to be minimal).<ref>
| |
| {{cite web|url=http://www.ericweisstein.com/encyclopedias/life/InfiniteGrowth.html |title=Infinite Growth |publisher=Eric Weisstein's Treasure Trove of Life |accessdate=2008-09-16}}
| |
| </ref> The second fits in a 5 × 5 square. The third is only one cell high:
| |
| | |
| {| style="margin:auto; text-align:center;"
| |
| |-
| |
| | [[File:game of life infinite1.svg]] [[File:game of life infinite2.svg]]
| |
| |-
| |
| | <br />[[File:game of life infinite3.svg]]
| |
| |}
| |
| | |
| Later discoveries included other "[[gun (CA)|guns]]", which are stationary, and which shoot out gliders or other spaceships; "[[Puffer train (CA)|puffers]]", which move along leaving behind a trail of debris; and "[[Rake (cellular automaton)|rakes]]", which move and emit spaceships.<ref>
| |
| {{cite web|url=http://www.argentum.freeserve.co.uk/lex_r.htm#rake|title=Rake|author=Stephen A. Silver|publisher=The Life Lexicon|accessdate=July 12, 2009}}
| |
| </ref> Gosper also constructed the first pattern with an [[asymptotically optimal]] [[quadratic growth|quadratic growth rate]], called a "[[breeder (CA)|breeder]]", or "lobster", which worked by leaving behind a trail of guns.
| |
| | |
| It is possible for gliders to interact with other objects in interesting ways. For example, if two gliders are shot at a block in just the right way, the block will move closer to the source of the gliders. If three gliders are shot in just the right way, the block will move farther away. This "sliding block memory" can be used to simulate a [[counter]]. It is possible to construct [[logic gate]]s such as ''[[logical conjunction|AND]]'', ''[[Logical disjunction|OR]]'' and ''[[Negation|NOT]]'' using gliders. It is possible to build a pattern that acts like a [[finite state machine]] connected to two counters. This has the same computational power as a [[universal Turing machine]], so the Game of Life is theoretically as powerful as any computer with unlimited memory and no time constraints: it is [[Turing complete]].<ref name="chapman"/><ref name="bcg"/>
| |
| | |
| Furthermore, a pattern can contain a collection of guns that fire gliders in such a way as to construct new objects, including copies of the original pattern. A "universal constructor" can be built which contains a Turing complete computer, and which can build many types of complex objects, including more copies of itself.<ref name="bcg"/>
| |
| | |
| ==Self-replication==
| |
| On May 18, 2010, Andrew J. Wade announced a self-constructing pattern dubbed Gemini which creates a copy of itself while destroying its parent.<ref>{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&t=399&p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |date= |accessdate=2012-06-24}}</ref><ref>{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |date= |accessdate=2012-06-24}}</ref> This pattern replicates in 34 million generations, and uses an instruction tape made of gliders which oscillate between two stable configurations made of Chapman-Greene construction arms. These, in turn, create new copies of the pattern, and destroy the previous copy. Gemini is also a spaceship, and is in fact the first spaceship constructed in the Game of Life which is neither orthogonal nor purely diagonal (these are called knightships).<ref>{{Cite news|periodical=New Scientist|date=16 June 2010|first=Jacob|last=Aron|title=First replicating creature spawned in life simulator|url=http://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html|accessdate=12 October 2013|postscript=<!--None-->}}</ref><ref>{{cite web|url=http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship |title=Gemini – LifeWiki |publisher=Conwaylife.com |date= |accessdate=2013-10-16}}</ref>
| |
| | |
| On November 23, 2013, Dave Greene built the first replicator in Conway's Game of Life, that creates a complete copy of itself, including the instruction tape.<ref>{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&t=1006&p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com}}</ref>
| |
| | |
| ==Iteration==
| |
| From a random initial pattern of living cells on the grid, observers will find the population constantly changing as the generations tick by. The patterns that emerge from the simple rules may be considered a form of [[mathematical beauty|beauty]]. Small isolated subpatterns with no initial symmetry tend to become symmetrical. Once this happens, the symmetry may increase in richness, but it cannot be lost unless a nearby subpattern comes close enough to disturb it. In a very few cases the society eventually dies out, with all living cells vanishing, though this may not happen for a great many generations. Most initial patterns eventually "burn out", producing either stable figures or patterns that oscillate forever between two or more states;<ref>
| |
| {{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=http://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/|archivedate=2009-07-27}}
| |
| </ref><ref> | |
| {{cite web|url=http://www.conwaylife.com/soup/|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}
| |
| </ref> many also produce one or more gliders or spaceships that travel indefinitely away from the initial location. Because of the nearest-neighbor based rules, no "information" can travel through the grid at a greater rate than one cell per unit time, so this velocity is said to be the [[Speed of light (cellular automaton)|cellular automaton speed of light]] and denoted <math>c</math>.
| |
| | |
| ==Algorithms==
| |
| Early patterns with unknown futures, such as the R-pentomino, led computer programmers across the world to write programs to track the evolution of Life patterns. Most of the early [[algorithm]]s were similar; they represented Life patterns as two-dimensional arrays in computer memory. Typically two arrays are used, one to hold the current generation, and one in which to calculate its successor. Often 0 and 1 represent dead and live cells respectively. A nested for-loop considers each element of the current array in turn, counting the live neighbours of each cell to decide whether the corresponding element of the successor array should be 0 or 1. The successor array is displayed. For the next iteration the arrays swap roles so that the successor array in the last iteration becomes the current array in the next iteration.
| |
| | |
| A variety of minor enhancements to this basic scheme are possible, and there are many ways to save unnecessary computation. A cell that did not change at the last time step, and none of whose neighbours changed, is guaranteed not to change at the current time step as well. So, a program that keeps track of which areas are active can save time by not updating the inactive zones.<ref>
| |
| {{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}
| |
| </ref>
| |
| | |
| If it is desired to save memory, the storage can be reduced to one array plus 3 line buffers. One line buffer is used to calculate the successor state for a line, then the second line buffer is used to calculate the successor state for the next line. The first buffer is then written to its line and freed to hold the successor state for the third line. If a [[torus|toroidal]] array is used, a third buffer is needed so that the original state of the first line in the array can be saved until the last line is computed.
| |
| | |
| [[File:Long gun.gif|thumb|right|Glider gun with toroidal array]]
| |
| | |
| In principle, the Life field is infinite, but computers have finite memory. This leads to problems when the active area encroaches on the border of the array. Programmers have used several strategies to address these problems. The simplest strategy is simply to assume that every cell outside the array is dead. This is easy to program, but leads to inaccurate results when the active area crosses the boundary. A more sophisticated trick is to consider the left and right edges of the field to be stitched together, and the top and bottom edges also, yielding a [[torus|toroidal]] array. The result is that active areas that move across a field edge reappear at the opposite edge. Inaccuracy can still result if the pattern grows too large, but at least there are no pathological edge effects. Techniques of dynamic storage allocation may also be used, creating ever-larger arrays to hold growing patterns.
| |
| | |
| Alternatively, the programmer may abandon the notion of representing the Life field with a 2-dimensional array, and use a different data structure, like a vector of coordinate pairs representing live cells. This approach allows the pattern to move about the field unhindered, as long as the population does not exceed the size of the live-coordinate array. The drawback is that counting live neighbours becomes a search operation, slowing down simulation speed. With more sophisticated data structures this problem can also be largely solved.
| |
| | |
| For exploring large patterns at great time-depths, sophisticated algorithms such as [[Hashlife]] may be useful. There is also a method, applicable to other cellular automata too, for implementation of the Game of Life using arbitrary asynchronous updates whilst still exactly emulating the behaviour of the synchronous game.<ref>
| |
| {{Cite journal|last=Nehaniv|first=Chrystopher L.|year=2002|contribution=Self-Reproduction in Asynchronous Cellular Automata|title=2002 NASA/DoD Conference on Evolvable Hardware (15–18 July 2002, Alexandria, Virginia, USA)|publisher=IEEE Computer Society Press|pages=201–209|postscript=<!--None-->}}
| |
| </ref>
| |
| | |
| ==Variations on Life==
| |
| Since Life's inception, new similar cellular automata have been developed. The standard Game of Life is symbolised as "B3/S23": A cell is "'''B'''orn" if it has exactly 3 neighbours, "'''S'''tays alive" if it has 2 or 3 living neighbours; it dies otherwise. The first number, or list of numbers, is what is required for a dead cell to be born. The second set is the requirement for a live cell to survive to the next generation. Hence "B6/S16" means "a cell is born if there are 6 neighbours, and lives on if there are either 1 or 6 neighbours". Cellular automata on a two-dimensional grid that can be described in this way are known as [[{{Not a typo|Life-like}} cellular automata]]. Another common {{Not a typo|Life-like}} automaton, ''[[HighLife]]'', is described by the rule B36/S23, because having 6 neighbours, in addition to the original game's B3/S23 rule, causes a birth. HighLife is best known for its frequently occurring replicators.<ref>
| |
| [http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)
| |
| </ref><ref>
| |
| {{cite web|url=http://www.argentum.freeserve.co.uk/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=July 12, 2009}}
| |
| </ref> Additional {{Not a typo|Life-like}} cellular automata exist, although the vast majority of them produce universes that are either too chaotic or too desolate to be of interest.
| |
| | |
| [[File:Oscillator.gif|right|frame|A sample of a 48-step oscillator along with a 2-step oscillator and a 4-step oscillator from a 2-D hexagonal Game of Life (rule H:B2/S34)]]
| |
| | |
| Some variations on Life modify the geometry of the universe as well as the rule. The above variations can be thought of as 2-D square, because the world is two-dimensional and laid out in a square grid. 1-D square variations (known as [[elementary cellular automaton|elementary cellular automata]])<ref>
| |
| {{cite web|url=http://mathworld.wolfram.com/ElementaryCellularAutomaton.html|publisher=Wolfram Mathworld|title=Elementary Cellular Automaton|accessdate=July 12, 2009}}
| |
| </ref> and 3-D square variations have been developed, as have 2-D hexagonal and 2-D triangular variations. A variant using non-periodic tile grids has also been made.<ref>
| |
| {{cite web|url=http://www.newscientist.com/article/dn22134-first-gliders-navigate-everchanging-penrose-universe.html|publisher=New Scientist|title=First gliders navigate ever-changing Penrose universe|accessdate=}}</ref>
| |
| | |
| Conway's rules may also be generalized such that instead of two states (''live'' and ''dead'') there are three or more. State transitions are then determined either by a weighting system or by a table specifying separate transition rules for each state; for example, [[Mirek's Cellebration]]'s multi-coloured "Rules Table" and "Weighted Life" rule families each include sample rules equivalent to Conway's Life.
| |
| | |
| Patterns relating to fractals and fractal systems may also be observed in certain {{Not a typo|Life-like}} variations. For example, the automaton B1/S12 generates four very close approximations to the [[Sierpiński triangle]] when applied to a single live cell. The Sierpiński triangle can also be observed in Conway's Game of Life by examining the long-term growth of a long single-cell-thick line of live cells,<ref>
| |
| {{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}
| |
| </ref> as well as in [[HighLife]], [[Seeds (cellular automaton)|Seeds (B2/S)]], and Wolfram's [[Rule 90]].<ref>
| |
| {{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=7&t=90|title=Life Imitates Sierpinski|publisher=ConwayLife.com forums|accessdate=July 12, 2009}}
| |
| </ref>
| |
| | |
| ''Immigration'' is a variation that is very similar to Conway's Game of Life, except that there are two ON states (often expressed as two different colours). Whenever a new cell is born, it takes on the ON state that is the majority in the three cells that gave it birth. This feature can be used to examine interactions between [[Spaceship (CA)|spaceships]] and other "objects" within the game.<ref>
| |
| {{cite web|url=http://www.ericweisstein.com/encyclopedias/life/Immigration.html |title=Immigration |publisher=Eric Weisstein's Treasure Trove of Life |accessdate=2008-09-16}}
| |
| </ref> Another similar variation, called ''QuadLife'', involves four different ON states. When a new cell is born from three different ON neighbours, it takes on the fourth value, and otherwise, like Immigration, it takes the majority value.<ref>
| |
| {{cite web|url=http://www.ericweisstein.com/encyclopedias/life/QuadLife.html |title=QuadLife |publisher=Eric Weisstein's Treasure Trove of Life |accessdate=2008-09-16}}
| |
| </ref> Except for the variation among ON cells, both of these variations act identically to Life.
| |
| | |
| ==Entertainment==
| |
| | |
| ===Video games===
| |
| In ''[[Populous II]]'', one of the 'divine intervention' effects is a fungus that grows according to the rules of the Game of Life.
| |
| | |
| Acclaimed game developer [[Jonathan Blow]] notes the game of life as a big influence on his design philosophy.<ref>{{cite web|url=http://braid-game.com/news/2010/02/a-new-short-speech-about-game-design/ |title=A new, short speech about game design |publisher=Braid-game.com |date=2010-02-07 |accessdate=2012-06-24}}</ref>
| |
| | |
| ===Music===
| |
| Various musical composition techniques use Conway's Life, especially in [[MIDI]] sequencing.<ref>{{Cite journal
| |
| | last1 = Burraston | first1 = Dave
| |
| | last2 = Edmonds | first2 = Ernest
| |
| | last3 = Livingstone | first3 = Dan
| |
| | last4 = Miranda | first4 = Eduardo Reck | authorlink4 = Eduardo Reck Miranda
| |
| | title = Cellular Automata in MIDI based Computer Music
| |
| | url = http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image
| |
| | journal = Proceedings of the 2004 International Computer Music Conference
| |
| | year = 2004
| |
| | id = [[CiteSeerX]]: {{url|1=citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882|2=10.1.1.6.3882}} {{hdl|10453/1425}}
| |
| | doi =
| |
| }}</ref> A variety of programs exist for creating sound from patterns generated in Life (see footnotes for links to examples).<ref>{{cite web|url=http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/ |title=glitchDS – Cellular Automaton Sequencer For The Nintendo DS |publisher=Synthtopia.com |date=2008-05-29 |accessdate=2012-06-24}}</ref><ref>{{cite web|url=http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/ |title=Game Of Life Music Sequencer |publisher=Synthtopia.com |date=2009-04-29 |accessdate=2012-06-24}}</ref><ref>{{cite web|url=http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/ |title=Game Of Life Music Sequencer For iOS, Runxt Life |publisher=Synthtopia.com |date=2011-01-12 |accessdate=2012-06-24}}</ref>
| |
| | |
| The [[Native Instruments]] modular sound generation/processing software package [[Reaktor]] features a [[drum machine]] with an integrated sequencer which implements Life.
| |
| | |
| ==Notable Life programs==
| |
| [[File:Turing Machine in Golly.png|thumb|379px|right|The 6,366,548,773,467,669,985,195,496,000th (6 [[octillion]]th) generation of a [[Turing machine]], made in the game of Life, computed in less than 30 seconds on an [[Intel]] Core Duo 2 GHz CPU using Golly in [[Hashlife]] mode]]
| |
| | |
| Computers have been used to follow Life configurations from the earliest days. When John Conway was first investigating how various starting configurations developed, he tracked them by hand using a [[Go (game)|Go]] board with its black and white stones. This was tedious and prone to errors.
| |
| The first interactive Life program was written in [[ALGOL 68]] for the [[PDP-7]] by [[Michael Guy (computer scientist)|M. J. T. Guy]] and [[Stephen R. Bourne|S. R. Bourne]]. The results were published in the October 1970 issue of ''[[Scientific American]]''<ref>{{Cite journal|title=Mathematical Games: The fantastic combinations of John Conway's new solitaire game "Life"|first=Martin|last=Gardner|journal=Scientific American|volume=223|date=October 1970|pages=120–123|postscript=<!--None-->}}</ref> and—regarding the use of the program—reports "Without its help, some discoveries about the game would have been difficult to make."
| |
| | |
| There are now thousands of Life programs online, so a full list will not be provided here. The following is a small selection of programs with some special claim to notability, such as popularity or unusual features. Most of these programs incorporate a graphical user interface for pattern editing and simulation, the capability for simulating multiple rules including Life, and a large library of interesting patterns in Life and other CA rules.
| |
| | |
| * [[Golly (program)|Golly]]. A cross-platform (Windows, Macintosh, Linux and also iOS and Android) open-source simulation system for Life and other cellular automata, by Andrew Trevorrow and Tomas Rokicki. It includes the [[hashlife]] algorithm for extremely fast generation, and [[Perl]] or [[Python (programming language)|Python]] scriptability for both editing and simulation.
| |
| * [http://www.mirekw.com/ca/index.html Mirek's Cellebration]. Free 1-D and 2-D cellular automata viewer, explorer and editor for Windows. Includes powerful facilities for simulating and viewing a wide variety of CA rules including Life, and a scriptable editor.
| |
| * [http://www.conwaylife.com/wiki/Xlife Xlife]. A cellular-automaton laboratory by Jon Bennett. The standard UNIX X11 Life simulation application for a long time, it has also been ported to Windows. Can handle cellular automaton rules with the same neighbourhood as Life, and up to eight possible states per cell.
| |
| | |
| ==See also==
| |
| * [[Artificial life]]
| |
| * ''[[Glory Season]]'', a novel by David Brin, is set in a future society where the Game of Life is played in a competitive 2-player mode
| |
| * [[Hacker Emblem]], depicting a glider
| |
| * [[Langton's ant]], another rule-set that uses a rectangular grid and shows emergent patterns
| |
| * [[Poietic Generator]], a "human" game of life.
| |
| | |
| ==References==
| |
| {{Reflist|2}}
| |
| | |
| ==External links==
| |
| {{commons|Game of Life}}
| |
| <!-- Note: Before adding any additional links here, read [[WP:EL]] and consider adding them to 'dmoz' instead -->
| |
| * {{dmoz|Computers/Artificial_Life/Cellular_Automata/Conway%27s_Game_of_Life}}
| |
| * [http://www.argentum.freeserve.co.uk/lex_home.htm Life Lexicon], Extensive Life Lexicon (with many patterns)
| |
| * [http://pentadecathlon.com/lifeNews/index.php Game of Life News]
| |
| * [http://www.conwaylife.com/wiki/ LifeWiki]
| |
| * [http://cafaq.com/lifefaq/index.php Cellular Automata FAQ – Conway's Game of Life]
| |
| | |
| {{Conway's Game of Life}}
| |
| | |
| <!--{{Link FA|ja}}-->
| |
| | |
| {{DEFAULTSORT:Conway's Game Of Life}}
| |
| [[Category:Cellular automaton rules]]
| |
| [[Category:Self-organization]]
| |