QuickLife

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.
gollark: The new server, unfortunately, has fewer botoids.
gollark: A being which had its values edited enough to want to would also not really be me.
gollark: I don't want to be a "modern consenting cute sex slave".
gollark: I wouldn't really be *me* if my mind were stripped down to that of a cat however.
gollark: That sounds very boring.
This article is issued from Conwaylife. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.