QuickLife: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
New entry, expansion encouraged.
 
mNo edit summary
Line 2: Line 2:
'''QuickLife''' is an algorithm used in [[Golly]] to efficiently and quickly run [[isotropic non-totalistic cellular automata]]. It was written from scratch, but originally inspired by both [[xlife]] and the algorithm used in [[Alan Hensel]]'s Java-based Life applet.{{refn|group=note|Cf. [http://www.ibiblio.org/lifepatterns/lifeapplet.html Alan Hensel's description] for details on his applet.}}
'''QuickLife''' is an algorithm used in [[Golly]] to efficiently and quickly run [[isotropic non-totalistic cellular automata]]. It was written from scratch, but originally inspired by both [[xlife]] and the algorithm used in [[Alan Hensel]]'s Java-based Life applet.{{refn|group=note|Cf. [http://www.ibiblio.org/lifepatterns/lifeapplet.html Alan Hensel's description] for details on his applet.}}


QuickLife uses an [https://en.wikipedia.org/wiki/Tree_(computer_science) tree] structure to represent the universe, with each level increasing one of the dimensons by a factor of 8; this makes it possible to avoid using coordinates, and thus restricting the size of the [[universe]]. Distinct structures are used for 4&times;8, 32&times;8, and 32&times;32 sections of the universe; the sizes at the following levels are 256&times;32, 256&times;256, 2048&times;256, 2048&times;2048, etc. The tree contains both an even and odd generation, along with flags indicating if a subtree is [[stable]], [[oscillator|oscillating]] with period 2, or active. Details of the algorithm can be found in Golly's source code, specifically in the files <tt>qlifealgo.h</tt> and <tt>qlifealgo.cpp</tt>.
QuickLife uses a [https://en.wikipedia.org/wiki/Tree_(computer_science) tree] structure to represent the universe, with each level increasing one of the dimensons by a factor of 8; this makes it possible to avoid using coordinates, and thus restricting the size of the [[universe]]. Distinct structures are used for 4&times;8, 32&times;8, and 32&times;32 sections of the universe; the sizes at the following levels are 256&times;32, 256&times;256, 2048&times;256, 2048&times;2048, etc. The tree contains both an even and odd generation, along with flags indicating if a subtree is [[stable]], [[oscillator|oscillating]] with period 2, or active. Details of the algorithm can be found in Golly's source code, specifically in the files <tt>qlifealgo.h</tt> and <tt>qlifealgo.cpp</tt>.


==Notes==
==Notes==

Revision as of 19:10, 31 May 2019

QuickLife is an algorithm used in Golly to efficiently and quickly run isotropic non-totalistic cellular automata. It was written from scratch, but originally inspired by both xlife and the algorithm used in Alan Hensel's Java-based Life applet.[note 1]

QuickLife uses a tree structure to represent the universe, with each level increasing one of the dimensons by a factor of 8; this makes it possible to avoid using coordinates, and thus restricting the size of the universe. Distinct structures are used for 4×8, 32×8, and 32×32 sections of the universe; the sizes at the following levels are 256×32, 256×256, 2048×256, 2048×2048, etc. The tree contains both an even and odd generation, along with flags indicating if a subtree is stable, oscillating with period 2, or active. Details of the algorithm can be found in Golly's source code, specifically in the files qlifealgo.h and qlifealgo.cpp.

Notes

  1. ↑ Cf. Alan Hensel's description for details on his applet.