simsim314 wrote:I'm wondering is there a way to make the construction a bit more "systematic" or "intuitive". This looks complex as hell, and very unique for the specific speed. It would be nice to have more systematic approach for general purposes design.
Some of the concepts port over to a general design for a caterpillar based on an (x,y)c/z crawler, but not as many as would be convenient.
For a crawling reaction that moves (x,y) in z generations by consuming and emitting pattern A, the procedure would be
(1) find the degrees of freedom governing interactions between two tracks (find isomorphic cyclic group if possible) and thoroughly categorize the interaction space
(2) find a mechanism by which any desired alignment of those degrees of freedom can be reached, typically by producing something that travels with velocity other than that of A
(3) find a viable helix
(4) find a viable way of constructing the helix
(5) find a miminal mechanism to leverage (1) and (2) to achieve (4), again using things that are in relative motion.
Since (1) is specific to the reaction, it is a case-by-case basis. Since (4) depends on the velocity, a given synthesis will work only in certain velocity ranges.
The degrees of freedom are the x-separation, y-separation and phase of the pattern A between two tracks. In Gabriel's caterpillar, for a given x-separation there were 17 different y-separations and 2 different phases. C2xC17 is isomorphic to C34, and in C34 the reaction acts as 11, which is a generator, so (2) comes along for free, as long as the x-separation is specified a priori to generate anything useful.
In the waterbear, there are 43 different y-separations accounting for a 1-gen phase delay, and 4 phases. The behavior of two gliders interacting at 90 degrees depends only on the parity of their separation (if you move them 2 cells closer together you get the same interaction 8 gens earlier), so the x-separation has 2 degrees of freedom. Since 43 x 4 - 1 = 171 and C2xC171 is isomorphic to C342, we get to use C342 as our cyclic group. In C342, the reaction acts as 95, which is
not a generator by virtue of having the prime factor 19 in common with 342. So to achieve (2) we need to leave something which has a different velocity than the glider. The beehive turned out to be the cheapest and simplest option, and the 31,2 track was able to create beehives and gliders interchangeably and create any desired element of C342. However, tracks themselves, once created, were constrained to C18 cosets.
(3) and (4) were taken care of by Ivan.
(5) is the step where I believe it is entirely dependent on the reaction characteristics. Depending on the helix, there will usually be a need to multiply the rake periods. In mine, x2 is straightforward to achieve with glider reactions, and it appeared that the miminal setup was with a B consuming every other NE glider to filter a SE stream. Using internal interactions to multiply the period gets messier with each multiple - I saw x2, x3, and x4 here but x3 and x4 would be horrific to use. Even then, x2 was a pain at times and I happily used the debris from earlier syntheses once available.
Gabriel was genius to use the filter and catch-and-throw to achieve x6.
Past that is the nitty-gritty of parity issues, and in the waterbear case, mod 3 issues as well. (The reaction moves the track by 3 hd left, so after establishing that I was constrained to C18 cosets, my reaction within those cosets wasn't even a generator..)
I certainly overcomplicated things prior to the first reset by constructing and destroying an intermediary 31,2 track for every p158 LWSS, a result of tying the synthesis to the track by relying on an input glider. It makes the space between the clusters much more crowded and confusing. The new LWSS synthesis I used after the first reset would be a more appropriate approach in general - making the synthesis rakes entirely from something with a different velocity than pattern A. Here, it was beehives and blocks. In Gabriel's caterpillar, the filter made the effective "pattern A" for x6 streams the MWSS filter, so the catch-and-throw accomplished this general approach by freezing gliders in blonks that were in relative motion with the MWSS.
That's probably the best I can do to summarize a general approach to caterpillar construction. Hope it was accessible. The crawlers themselves have a wide variety of flavors, so it's possible this analysis contains a glaring oversight, but it accurately portrays the caterpillar and waterbear. (I'm afraid I don't know how well it portrays the shield bug and centipede having not studied either in as much depth).
So, "systematic," yes. "Intuitive".. caterpillar construction probably won't ever be obvious, but after enough time spent with this I developed intuition for at least this case and how to circumvent its pitfalls.
Physics: sophistication from simplicity.