Commit 210e286b authored by Adam P. Goucher's avatar Adam P. Goucher
Browse files

Documentation

parent 3581274d
Pipeline #36472152 passed with stages
in 10 minutes and 10 seconds
This repository contains software for producing self-constructing circuitry
in Conway's Game of Life. The main program is `slsparse.cpp`, which takes
an annotated arrangement of still-lifes (in `infile.mc`) and produces a
glider stream which constructs the arrangement. The glider stream is saved
as both an output pattern, `outfile.mc`, and a textual list of spacings,
`outfile.txt`.
It operates by splitting the pattern into one or more well-separated
**metaclusters** which are processed individually. For each metacluster,
an efficient recipe is found by heuristic-driven dynamic programming. This
recipe is then reordered to reduce the length of the glider stream. Finally,
the glider streams for the separate metaclusters are concatenated in order
to produce a complete synthesis of the original pattern.
There is [a tutorial](http://conwaylife.com/wiki/Tutorials/slsparse) written
by Dave Greene, the content of which will not be needlessly duplicated here.
Several example projects are given in [an article he wrote][1], with the
largest and most ambitious being [a self-replicating metacell][2].
[1]: http://b3s23life.blogspot.com/2018/11/new-tools-for-self-construction.html
[2]: https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/
This repository also contains a script, `isotropic_metafier.py`, to assemble
arbitrary patterns in arbitrary isotropic 2-state 9-neighbour cellular
automata out of these metacells.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment