QuickLife

From LifeWiki
Jump to navigation Jump to search

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[1] 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 and references

  1. Cf. Alan Hensel's description for details on his applet.
  1. Tree at Wikipedia

External links