PK22 wrote: July 13th, 2025, 12:42 pm
1). How do self-constructing patterns such as the 0E0P metacell and
SSOL construct a storage mechanism large enough to store their recipe?
2). What would be the easiest/simplest (in terms of knowledge, skill, and effort required) method to create a quadratic replicator smaller (in bounding box and/or population) than the 0E0P metacell? It seems like we have the technology to create a smaller quadratic replicator.
1) construction of memory loops --
0E0P
The 0E0P was completed in 2018, before we had fast crabstretcher technology, which can push the construction site away from the source at speeds approaching c/4. In the 0E0P, long-distance target and elbow pushes were done by building and shooting down Corderships, which travel at c/12. This meant a lot of gaps in the recipe that were basically just waiting for a Cordership to get far enough away -- and for that and other reasons, the recipe ended up being very long.
The 0E0P had to build its storage mechanism with a pair of subroutines that were repeated many times to construct a tightly packed "nucleus", a back-and-forth glider path with Snark reflectors along its edges. The size of the 0E0P was chosen to be the smallest possible size that was big enough for a diamond-shaped nucleus to fit inside that could hold the entire recipe.
0E0P's Smaller Sibling?
There's been enough progress in self-constructing circuitry since 2018 that a significantly smaller-in-bounding-box 0E0P metacell could be constructed, especially if it was designed to be simpler and less ambitious about the number of different rules it could be programmed to emulate. But it still wouldn't run in Golly well, because the tightly packed back-and-forth streams in the nucleus can't be simulated efficiently in HashLife.
So ... there's a rebuild of the 0E0P metacell
somewhat in progress at the moment, but one big idea being investigated is actually to make the bounding box enormously larger, not smaller -- in such a way that there don't have to be any tightly packed boustrophedonic streams, and so it
will run well in Golly regardless of the size.
SSOL
The self-synthesizing oblique loopship uses pretty much the latest technology to build its memory loops. c/4 crabstretchers can extend a construction arm at nearly the same speed as the glider-stream data that the loop will eventually contain. So it's fairly easy to set up a single-channel recipe that creates a diamond-shaped loop -- you don't have to wait around for a long time for the construction to be finished before you can start using it.
The SSOL design follows the common pattern where a second copy of the recipe follows directly behind the first. The second copy of the recipe enters the loop, goes around it twice while emitting two copies of itself in two different directions -- and then the memory loop blocks itself off, shuts down and self-destructs.
2) other options for quadratic replicators --
We do already have a smaller-by-population quadratic replicator, Pavgran's
DOGun SaGaQR. It uses double crabstretchers in a clever way to quickly create all of the target objects needed for universal construction -- see the animation in the last RLE block in
Pavgran's post here.
DOGun SaGaQR is 64 times larger in bounding box area than the 0E0P metacell, but it has less than a twentieth of the population, and runs enormously faster in Golly.
It's definitely possible now to build a quadratic replicator smaller than DOGun SaGaQR. We could save a tiny bit by removing its ability to shapeshift. But we could save a lot more by doing some fresh research into
making single-channel recipes more efficient, in a number of different ways. Besides the ones mentioned in the link, it would probably be helpful to rebuild Snarkmaker recipes -- there are known ways to cut the current cost of a Snarkmaker by more than half.
A Hideous Option That Hasn't Been Tried Yet
It's technically possible to build a quadratic replicator that is smaller than the 0E0P metacell
and runs about as well in Golly HashLife as DOGun SaGaQR does. The trick would be to build a memory loop that isn't just a simple diamond-shaped loop. But instead of a tight back-and-forth path like the 0E0P (which HashLife can't handle) the idea would be to keep the glider stream circulating in the same direction -- spiraling in toward the center, let's say, and then crossing back to the outside again.
There would be some loss of efficiency from having to be very careful about lining up the gaps in single-channel sub-recipes so that the whole recipe could pass through itself safely. And the place where all the crossings happen would still cause a lot of trouble for HashLife -- but it would be tolerable, unlike a stack of N tightly spaced back-and-forth streams which is about N times as bad as a single set of crossings (in terms of the total number of hashtiles needed).
So the population record and the bounding-box record and maybe the time-for-a-metacell-to-complete-a-cycle-in-Golly record for quadratic replicators
could all be broken by the same hypothetical pattern. But the new 0E0P design with just a huge simple diamond-shaped loop seems much more elegant, so nobody so far has really buckled down to finish a new design that minimizes the bounding box.
I think we'd all much rather be able to see the replicator "run away" in Golly ... once you're zoomed out to a scale where you can see a whole replicator, it just doesn't make much difference (either to Golly or to someone looking at Golly) how many powers of two the zoom level is set to.