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: Complaining about things is good and optimal.
gollark: And yet it's relevant.
gollark: It's totally possible to draw borders using a verifiable deterministic algorithm anyone interested can rerun.
gollark: Under *negative* utilitarianism yes, but bad.
gollark: These are all somewhat arbitrary, but something something is-ought problem.
This article is issued from Conwaylife. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.