dvgrn wrote:I'd be tempted to build an edge-shooter with adjustable clearance, though of course it would be bigger than your version: build a clock and a spark-making bait by colliding an LWSS with some number of gliders, and then send the trigger glider in at the right time.

Woah, sounds scary. I have never been able to find any clock syntheses except for the symmetric one with 6 gliders. Making a clock with only LWSS and gliders and then triggering it sounds hard indeed.

Well, yes. But not impossible, and an edge-shooting clock factory would be kind of nice to have.

There are clock recipes that amount to just blinker + preblinker + preTL, so at worst it could be done with an initial LWSS plus a slow salvo, to build and trigger a small clock-seed constellation:

If there's a slow salvo involved it would be a pretty silly-looking edge-shooting factory, I suppose, and would have a horribly high recovery time. But maybe a better idea will turn up.

EDIT: A quick look at Catagolue turned up a rough upper limit for the complexity of a slow-salvo clock recipe. I don't really know how many gliders this would translate to, but it would be a two-digit number anyway:

chris_c wrote:In terms of Cartesian co-ordinates my script uses a slope of 1 in 3 and I consider this to be the cleanest way of doing things because of the existence of the following 4 glider inserter...EDIT: P.S. Cartesian slope 3 simply corresponds to a one tick advancement for each lane. Slope 2 corresponds to 2 ticks advancement every 3 lanes. That is another reason I favour slope 3 over slope 2.

Thanks for the pointer. I'll try reworking my minimal enumeration of cases with a 1-in-3 slope. Hopefully there's some more beautiful simplicity to be found there... there certainly didn't seem to be much of that at 1-in-2.

dvgrn wrote:EDIT: A quick look at Catagolue turned up a rough upper limit for the complexity of a slow-salvo clock recipe. I don't really know how many gliders this would translate to, but it would be a two-digit number anyway:

dvgrn wrote:Thanks for the pointer. I'll try reworking my minimal enumeration of cases with a 1-in-3 slope. Hopefully there's some more beautiful simplicity to be found there... there certainly didn't seem to be much of that at 1-in-2.

I have a script that tells me the minimum delay for a recipe on any given lane. For the 8 glider clock synthesis here:

The data for lanes -6, ... , +6 are separated by backslashes because they deserve special treatment. If two gliders are separated by 6 lanes then it is impossible for them to be within +/-6 ticks of each other. Similarly, for 5 lanes it is impossible to be within +/-8, for 4 lanes +/-10, 3 lanes +/- 12 and less than 3 lanes +/-13.

So because the clock inserter is perfect on lanes -6, ... , +6 we can actually knock down the minimum delays "for free" to:

The fact that these numbers all satisfy "timing" <= "lane number" (with lane -6 being the only place where equality is obtained) means that selection along a 1-in-3 front will always work (as previously mentioned, a 1-in-3 slope corresponds to a one tick advancement per lane).

I had thought that you could get a 90-degree glider out by sparking the other phase of the clock, but drat bother humbug that doesn't work.

Five small still lifes is still pretty good to get something as rare as a clock... but it's certainly not good enough to have a reasonable-sized slow salvo recipe. There don't seem to be any clocks in Paul Chapman's slow-salvo database, so double-digit slow gliders are pretty definitely needed to build one.

dvgrn wrote:Five small still lifes is still pretty good to get something as rare as a clock... but it's certainly not good enough to have a reasonable-sized slow salvo recipe. There don't seem to be any clocks in Paul Chapman's slow-salvo database, so double-digit slow gliders are pretty definitely needed to build one.

Picking up a topic from last year, for no particularly good reason:

I'm working out the last details of a way to convert any glider-synthesis recipe to a (definitely sub-optimal) version of the recipe in which no glider is within N cells of any other glider, for any N you might want to choose.

Any glider synthesis is made up of no more than four unidirectional salvos of gliders coming from infinity, so they can be rewound until they're a zillion ticks apart -- no problem there.

To build each unidirectional salvo, it seems simplest to just use the clock insertion reaction for each glider in turn.

The usual way of building clocks needs two sets of three synchronized gliders close to each other. There are lots of ways to generate those three-glider groups from widely spaced gliders, but it starts getting a little messy.

I think there's a simpler angle of attack: we just need a recipe for a clock insertion that consists of gliders coming in in opposing slow pairs, with all gliders perpendicular to the unidirectional salvo. Then each clock insertion site can be separated by at least N-plus-a-few cells diagonally from the previous insertion site, and every glider pair can be trivially moved at least N cells diagonally from the preceding pair, and I think that takes care of everything.

After a very quick survey of slow-salvo clock-seed recipes -- there still don't seem to be any -- I came across gmc_nxtman's 3sL clock seed, which easily converted into a clock insertion recipe with 14 slow opposing glider pairs:

Does anyone have a slightly cleaner clock seed, that could make a lower final glider count possible? I'm doing a lot of silly fiddling around in this recipe. It seems pretty clear that this opposite-pairs restriction isn't a particularly limiting one, so really the job should be possible with something like eight or ten gliders. (?)

dvgrn wrote:The usual way of building clocks needs two sets of three synchronized gliders close to each other. There are lots of ways to generate those three-glider groups from widely spaced gliders, but it starts getting a little messy.

You can chose the clocks to be arbitrarily far apart so I think this three-sided syntheses is sufficient for your needs:

dvgrn wrote:Does anyone have a slightly cleaner clock seed, that could make a lower final glider count possible? I'm doing a lot of silly fiddling around in this recipe. It seems pretty clear that this opposite-pairs restriction isn't a particularly limiting one, so really the job should be possible with something like eight or ten gliders. (?)

It's definitely doable in ten, with a high degree of versatility to boot:

Unfortunately this recipe produces a clock in the wrong orientation for a clock insertion. Clocks are weird. Would have to use 90-degree glider pairs, more along the lines of chris_c's suggestion, to get a usable orientation. Here the bait block has been replaced by a glider, but the resulting reaction isn't quite clean so it doesn't end up saving anything over just building the block:

It makes a fairly decent edgy clock recipe, though, if anyone starts collecting Gemini-style glider-pair recipes again... It would be really interesting to see what a two-arm universal constructor could do these days, running two single-lane construction arms. Basically we'd get two-arm construction efficiency for about the same cost as the one-arm constructor in the 10hd Demonoid (two independent information channels, they couldn't be encoded into one).

But that's another wild tangent for another day, I suppose.

-- Drat. For the proof of construction universality with N-cell-separated gliders, there are too many options now! The 5-glider recipe chris_c posted is probably minimal, in terms of number of gliders. But Extrementhusiast's 10-glider method is really tempting, just because it avoids any kickback math, and the resulting recipes might fit in about the same sized bounding box anyway.

dvgrn wrote:-- Drat. For the proof of construction universality with N-cell-separated gliders, there are too many options now! The 5-glider recipe chris_c posted is probably minimal, in terms of number of gliders. But Extrementhusiast's 10-glider method is really tempting, just because it avoids any kickback math, and the resulting recipes might fit in about the same sized bounding box anyway.

It's relatively simple for just a single salvo, with something like this (rotated by 45 degrees, with down being to center):

One can move the salvo constructions as far away from the center and each other as desired, and one can move the turners as far away from the salvo construction line as desired, in order to get the required minimum distance.

Yes, I've double-checked that all four flips/rotations of the clock was added to wanted results.

dvgrn wrote:Unfortunately this recipe produces a clock in the wrong orientation for a clock insertion.

Yes, I noticed that when I found it. A bit of bad luck, but I'm sure there are other recipes to be found with a longer search.

My search program currently doesn't have a mode where the same intermediate pattern appering in different locations are joined together.Sometimes that's not wanted, but in this case it wouldn't matter, and would speed up the search quite a lot, I think.Let me get back to that later...

I still have trouble sometimes when I try to use simsim314's 90DegFullList and some of the splitter collections. Seems as if most of the labeling is set up so that "0" through "3" are color-preserving turners, and "4" through "7" are color-changing ones. This takes some getting used to -- usually my tookits have sixteen categories, with separate "0" through "7" for the color-preserving and color-changing categories.

Does anyone have a good plan for a way to sort these into a really easy-to-use toolkit, and probably a helper script to go with the toolkit to help pick the correct turner or splitter?

For example, it seems like we could sort all the 90-degree turners into timing order -- not even mod-8 timing, but a (hopefully) continuous range of absolute timings. So if you're looking for a one-time turner for a glider, and you want it to arrive at a specific spacetime location, what you might do is start by putting in a color-changing or color-preserving turner with a timing rating of "zero". Can probably choose the zero points kind of arbitrarily from the middle of whatever contiguous range of timings we find.

Then we check and see how much too slow or too fast the "zero" turner is compared to what we really want. We swap out the turner (using some handy reference marker or other) for another turner in the collection with the appropriate +N or -N rating, and everything's all set -- maybe no need for trombone-slide adjustments in many cases.

The enumeration script I ran yesterday to find switch engines could easily be adapted to dig up an even larger list of clean 90-degree turners than simsim314's collection. I'm thinking eaters should be included, but maybe pseudo-still-life combinations shouldn't be included -- like this one:

And how far down the list of common still lifes should we go for this search? Block, beehive, loaf, boat, tub, pond, ship, longboat -- definitely. Ship-on-ship is next, but it's kind of big -- let's skip it and loaf-on-loaf. Barge? Mango? Both are more common than the fishhook eater, and we certainly need plenty of eaters in self-constructing circuitry.

Okay, so include barge, mango, and eater. I guess that might be the obvious place to stop -- long barge and aircraft carrier are significantly less common and therefore a bit harder to slow-construct, and after that comes bigger stuff like paperclip and integral sign, and those start to be awkward as well as expensive.

Maybe a good long-term goal should be a script that knows enough about one-time turners to take any glider recipe and compile it into a still-life seed constellation. It would be nice if it was Hersrch-like and could try different signal path combinations and pick out the smallest ones. But probably something a little more basic would be more likely to actually get done --!