Tutorials/Software
A lot of people have been desperate to find new things in Life and be famous, which probably includes YOU. Because of this strange behavior of wanting to become famous, people have created software for searching for things... in Life. You too can use the software that other people have made. Many famous things have been found with software.
Types of Software
There are many types of Life search programs. Some search for exotic spaceships and others search for fancy oscillators. Some can do both and some more.
Row-by-row
These programs discover patterns by extending partial results by one or more rows at a time. The method of traversing the tree of partial results, and of finding ways to extend a given partial result, differs between search programs.
- gfind: this is a well-known breadth-first spaceship finder. It was written in C by David Eppstein, who used it to find the weekender. Paul Tooke used it to find the dragon. It finds extensions of partial results by means of de Bruijn graphs.
- zfind: this is a recent program made by the user 'zdr', who used it to find the Copperhead. It differs from gfind in that partial extension is performed by a memory-intensive lookup table, making it suitable for narrow spaceships of relatively high periods.
- ofind: a breadth-first oscillator search program by David Eppstein, differing from gfind in its handling of stator cells and its approach of extending all phases simultaneously.
- knight.*: similar to gfind, but only stores one phase of the partial. This was written by Tim Coe to find spaceships, and succeeded in discovering the spaghetti monster.
- qfind: parallelised version of zfind, with some features of gfind. Maintained by Matthias Merzenich.
Cell-by-cell
These programs maintain a grid of cells with known or unknown states and perform constraint propagation.
- lifesrc: the canonical search program, by David Bell. The programs JLS and WLS are derivatives thereof.
- Logic Life Search: a Python program by Oscar Cunningham which serves as a frontend to one of several different SAT solvers.
- dr: a search program by Dean Hickerson for finding stabilisations of perturbations moving across a stable background. It can find billiard table oscillators, signals, and eaters. Written in C.
Catalysis
These programs attempt to perturb a reaction by placing catalysts at the edge of the reaction envelope. Their main use is finding new Herschel conduits and other stable technology.
- catalyst: the original catalysis search program by Gabriel Nivasch.
- catgl: Dave Greene's modification of catalyst with the ability to detect and remove escaping gliders. This found the boojum reflector.
- ptbsearch: a catalysis search program by Paul Callahan.
- CatForce: a catalysis search program by Michael Simkin.
- CollisionsSearch: a catalysis search program by 'Guam', written in Delphi.
Soup searchers
Instead of constructing a pattern piecewise, these programs run initial seeds in a cellular automaton and observe the resulting behaviour.
- gsearch: brute-force search of small rectangular soups, with the ability to detect if the pattern evolves into an oscillator, spaceship, replicator, or puffer.
- apgsearch: family of distributed search programs which run pseudorandom soups and report to a centralised server, Catagolue. It found the pufferfish and Rich's p16, in addition to rediscovering many known patterns and providing useful predecessors thereof.
- Random Agar: a soup searcher by Gabriel Nivasch supporting periodic grids, able to find wicks and agars in addition to oscillators.
Glider syntheses
These programs search for glider syntheses of objects.
- Glue: Windows-based slow salvo search program written by Paul Chapman.
- HoneySearch: parallel memory-intensive breadth-first search of slow salvo reactions. It ran over three days on a 72-core machine to produce 13 gigabytes of output data, which was later postprocessed and cleaned to produce the data for slmake.
- slmake / slsparse: a program for assembling slow salvo syntheses of stable constellations by tail recursion. The syntheses are pieced together from the reactions found by HoneySearch. Dave Greene used this program to prepare the data tapes for the Orthogonoid and Hydra.
Hybrid programs
Some software straddles more than one of the above categories:
- ikpx: a heuristic-driven spaceship search program by Adam P. Goucher. It extends partials in a row-by-row fashion, but performs deep lookaheads by locally executing a cell-by-cell search similar to Logic Life Search (and parallelises). It was used to discover the first elementary knightship, Sir Robin.
- Bellman: a search program for conduits and stable reflectors. It constructs catalysts at the edge of the reaction envelope, and shares properties with both catalyst and dr.