Challenge: Self-Synthesizing Spaceship (COMPLETED)

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Challenge: Self-Synthesizing Spaceship (COMPLETED)

Post by dvgrn » June 30th, 2017, 7:47 pm

Based on a post by GUYTU6J, in yet another case where I completely failed to give a simple answer to a simple question --

viewtopic.php?f=7&t=2036&p=39994#p39994

… what is the smallest spaceship we can build nowadays that consists of nothing but gliders at some point during its cycle? Or, slightly different question, what’s the smallest set of gliders (i.e., lowest number, lowest population, bounding box doesn't matter) that travels at less than c/4?

I seem to recall there are much older mentions of the idea, but that link is the one that got me thinking about it again. It's a lot easier now that we have bendable construction arms. It may still be a little complicated to put it all together, but when it's done... well, there will never have been a spaceship with a more trivial glider synthesis. Except for the original glider, I suppose.

It looks as if diagonal, orthogonal, and oblique versions are all possible with known technology. Unfortunately it’s hard to tell which one will be the most efficient, without building them all…!

A slow spaceship made out of nothing but MWSSes is also pretty clearly possible, but that would need a lot of hours of new searches to build up single-channel MWSS libraries. And the recipe stream would have to encode a fast G-to-MWSS converter like the one in the Orthogonoid spaceship… which is surprisingly small, but not that small. Probably better to stick with the gliders-only version.

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 1st, 2017, 2:17 pm

The Life Lexicon has been taking priority, so I haven't done much work on this idea lately. I did try to do some calculations on how exactly a single-channel glider stream might contain a recipe that constructs some kind of memory loop that's big enough to hold a complete copy of the recipe that built it.

After sending out two copies of said recipe, with some length of gap in between the two copies, the memory loop will then have to self-destruct in such a way that at some point in the spaceship's cycle, nothing is left but gliders.

The math below could be all wrong, of course. Somebody should please let me know if so...

Long Skinny Loops
To build a far-off 180-degree reflector as the "away" half of our new memory loop, we need a far-off block target for a slow salvo to work with -- so we'd better send a spaceship out and then stop it later.

(Otherwise... say if we have instructions in the recipe to push a target block by some distance D... then as D increases the number of instructions we need in the recipe also increases, so we'll need a bigger D, and it's not clear we'll ever quite catch up. There are ways around that, but let's try the spaceship method first.)

Gliders are c/4 and Corderships are c/12. First we're going to build a Cordership seed and trigger it, and then some time later we'll send out a glider and stop that Cordership... and a bunch more gliders to turn the resulting mess into a 180-degree reflector.

The Math, Part 1
Let’s say the "zero point" is the first possible time that the Cordership-stopping glider could do its work -- which would mean the Cordership would hardly get to travel any distance at all, and of course that's no good. We're going to delay the Cordership-stopping glider by N ticks compared to the zero point.

-- Cordership travels distance N/12
-- glider catches up at c/4 - c/12, which is c/6.
-- glider will arrive when it has effectively traveled N/12fd at c/6
-- 6*N/12 is 0.5N, so the entire resulting memory loop will be roughly length N

That seems to say that this method can't possibly make a gap wide enough to make a glider loop that can hold any more single-channel length than the gap itself. But the gap is supposed to be in the middle of a big recipe. There's no room for any recipe at all -- right?

So if we're build a long skinny loop by sending out and stopping a Cordership, we have to do it a little more cleverly:

Method 1: Parent loop containing recipe sends first copy of recipe, switches output OFF, cycles the recipe one time (or multiple times), re-opens the output channel, sends second copy of recipe. This can be done with some minor trickery involving one-time turners.

Method 2: Parent loop contains two or more 180-degree reflectors next to each other, so that the recipe travels back and forth twice before it gets back to its starting point. This is quite easy, and basically allows a length 2N loop to be built with a gap that's only length N. The only downsides are A) it's twice as much construction, and B) Hashlife won't like it very much.

Alternatively ...

Diamond Loops
Method 3: work in two dimensions, sending a Cordership in two 90-degree directions more or less simultaneously. Then the same gap works for both Corderships:

One Cordership, say in the east, is stopped by a single glider heading NE, in a way that sends a single glider heading NW after a decent delay. The other Cordership in the west is stopped by a glider heading NW, which quickly sends a glider NE to meet the other glider and produce a block target.

-- Or maybe one of those gliders could be replaced by a *WSS heading north? Suggestions welcome...

Then we just send three single-channel Snarkmaker recipes, basically, with a few one-time turners added, and finish up with an inserter/splitter constructor to close the loop. A copy of the whole recipe follows behind and fills the loop. Somewhere toward the beginning maybe we launch a third Cordership, so the child replicator will have a target to chase down (?).

With a gap of length N, I believe that again makes a diamond-shaped loop of length 2N, so we have half the length to pack with recipes, and the other half is the gap. Downside: two or more simultaneous Cordership seeds, and slightly painful synchronization problems making a target in the north corner. Big upside: Hashlife will love the diamond-shaped memory loop, so this spaceship will run relatively fast in Golly.

An Orthogonal Memory Loop Instead? Nah...
While I was at it, I attempted the equivalent calculations for other pairs of spaceships that we know how to build. They're all orthogonal, so I think they might not be too practical. Any crazy idea involving loafers, *WSSes and copperheads would seem to require that the memory loop has orthogonal (MWSS) signals in it instead of gliders. That makes the circuitry much larger. Pretty sure it will be cheaper overall to use two or three Corderships. But here's what I ended up with just for the record:

The Math, Part 2
For a loafer and LWSS, the loafer travels distance N/7 in an N-tick gap time. An LWSS travels at c/4, so the speed difference is 7c/28-4c/28 =3c/28. To close an N/7-cell gap, we’ll need time 28N/3*7 = 4N/3. The resulting loop will be twice that length. If the gap is length N, the space available for a recipe will be N+2/3.

So we can make a good bit more space than the gap length, because the LWSS is less than twice as fast as the loafer, whereas the glider is three times as fast as the Cordership leading it. That suggests that the most space could be created by a loafer following a copperhead…?

Copperhead travels N/10 in an N-tick gap time. Loafer travels at c/7, so speed difference is 10c/70-7c/70 = 3c/70. To close an N/10-cell gap we need time 70N/3*10 = 7N/3. So that creates a 14N/3 loop, of which only length N has to be a gap.

-----------------------------------

Again, any corrections or alternate ideas would be most welcome!

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Challenge: Self-Synthesizing Spaceship

Post by Macbi » September 1st, 2017, 2:29 pm

Why not have a glider travelling parallel to the rest of them some distance away? Then we can just send a glider sideways to hit that one to create our block target. Then to create that glider we'll put a one-use reflector next to our 180-degree reflector, and bounce a glider off that at the appropriate moment.

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 1st, 2017, 2:43 pm

Macbi wrote:Why not have a glider travelling parallel to the rest of them some distance away? Then we can just send a glider sideways to hit that one to create our block target. Then to create that glider we'll put a one-use reflector next to our 180-degree reflector, and bounce a glider off that at the appropriate moment.
Well... I probably don't entirely understand the suggestion, but yes, the plan is something along those lines.

If the all-gliders phase of the spaceship is nothing but parallel gliders, then it's a glider salvo and is never going to turn into anything else without an external trigger.

Something that I think could work would be to have a long string of gliders following a Cordership. The first k gliders hit and stop and clean up the Cordership, leaving behind a few one-time turners that glider k+1 can bounce off of as you describe, producing a single 90-degree glider aimed at glider k+2.

That's when you stop and take a picture of this hypothetical Spaceship Made Out Of Nothing But Gliders.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Challenge: Self-Synthesizing Spaceship

Post by Macbi » September 1st, 2017, 3:53 pm

Well... I probably don't entirely understand the suggestion, but yes, the plan is something along those lines.
I'm giving a way to make a "Long Skinny Loop" without using your method of sending out a cordership and having a glider catch up with it.

I'm imagining that at the moment when our ship is 100% gliders it looks like a long string of gliders all heading in one direction except for one glider at the front that is going in a different direction. Then a glider collides with that one to make a block and the elbow of a constructor arm. Then we can construct things by moving that block around. But we need a long loop to store our memory tape, so we need to create a 180-degree reflector out by the end of it. We can't push our target block out that far using the constructor arm because it would take too long.

My idea is to instead add a single glider travelling parallel to the rest of them, but as far away from them as we want the 180-degree reflector to be. Then we can send a glider out from our constructor arm to hit that glider at exactly the position where we want the reflector to be built. Their collision will form a block which we can build the rest of the reflector around.

How to we create this lone glider so far away in the first place? When we build our 180-degree reflector we'll put a one-time 90-degree reflector next to it. Then at the appropriate time we send a glider out from our constructor arm and bounce it off the reflector, thus forming the lone glider we need at the distance we need.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Challenge: Self-Synthesizing Spaceship

Post by Macbi » September 1st, 2017, 4:48 pm

Actually let me expand on an idea I've been thinking about, since we might be able to kill two birds with one stone.

I was thinking about how to make a ship with adjustable speed like the caterloopillar except that it would be able to go faster; preferably as close as we like to the free space limit. That way we could create ships going at any possible speed. I've been thinking about diagonal ships in particular since they're the simplest to make with glider technology. As it turns out the construction I thought of also had the property that it was all gliders at one point of its evolution.

Here's what I was thinking: at the main site of the ship we have a constructor (like the one in the demonoid), a count down timer (like the one I asked about here) and a loop to store the memory tape. The constructor would create a c/4 wickstretcher (probably a crab stretching a tub) in the direction we wanted to go. It would then fire out a bunch of other gliders in the same direction, which will eventually construct the copy of our ship, and then following that its own instruction tape.

Then we wait for exponential aeons while the timer ticks down. While this is happening the wickstretcher and gliders are proceeding at c/4, which is what gives our ship its speed. Eventually our timer reaches zero, and sets off a reaction which deletes everything and sets fire to the wick.

In particular we want the wick to burn at c and cleanly (this is indeed possible with the tub shaped wick). The wick will burn up towards the wickstretcher. While this is happening the wickstretcher and gliders continue to travel at c/4. Eventually the flame catches up with the wickstretcher and makes a mess. Our gliders clean up the mess leaving only a single glider (travelling in a different direction from the rest of them, obviously). This is the point at which the ship is all gliders. Then the gliders collide and reconstruct the ship.

Now because a timer of size n takes time O(2^n) to run down we can make the time that the wickstretcher is travelling much longer than the time it isn't. So the overall speed of the ship is as close as we like to c/4.

Of course it would be better to do this all orthogonally, because then we could make it travel vertically as close as we want to c/2, and then change direction and go horizontally as close as we want to c/2, therefore hitting any speed we desire. But that sounds much more complicated.

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 1st, 2017, 5:12 pm

Macbi wrote:How to we create this lone glider so far away in the first place? When we build our 180-degree reflector we'll put a one-time 90-degree reflector next to it. Then at the appropriate time we send a glider out from our constructor arm and bounce it off the reflector, thus forming the lone glider we need at the distance we need.
Can you explain how you'll have constructor-arm elbows in the required place at the right times to send those two gliders -- the Lone Parallel Glider (LPG) and its Target-Block-Making Partner (TBMP)?

If that Lone Parallel Glider is already flying at the critical moment when everything is made of gliders... then everything is traveling parallel and there is no construction arm. The only way to make one is to have the other glider you mentioned:
Macbi wrote:...when our ship is 100% gliders it looks like a long string of gliders all heading in one direction except for one glider at the front that is going in a different direction.
Okay, so we need the One Different Direction (ODD) glider as well as the LPG and the TBMP. If we don't send out a Cordership way ahead of time, where does the ODD glider come from exactly?

The ODD glider has to be roughly one full recipe's distance NE (let's say) from the location of the long skinny memory loop.

Here's why I think that's true. The memory loop was oriented SW/NE, if I'm understanding this idea correctly. But it has to have self-destructed after the recipe unspooled from it, or we don't have a spaceship made entirely out of gliders after all. At the critical moment, the recipe is all strung out in a straight line, with the ODD glider aimed at the front of it and about to hit it... and this other LPG glider a few thousand cells below the top row, and way off to the NE. The LPG has to have already gotten past the one-time reflector, or again we have something in the universe that isn't a glider.

-- It's quite possible that this will work somehow, but I don't see it yet. Probably need a nice series of time-lapse diagrams showing all the distances and stages.

Another Idea

It should be possible to set up the memory loop self-destruct so that it produces three gliders, just as the SW end of the loop is destroyed...

and those three gliders collide just after the Critical Moment and produce a northbound LWSS...

and that speed-c/2 LWSS catches up with the TBMP glider and makes a target block, at a point that geometry seems to guarantee is plenty far enough away. Twice as far away as we really need to hold the recipe, in fact.

(But we may need the extra delay to give a Cordership time to travel to produce the ODD glider -- unless I'm not seeing some obvious better way to do that. Which, again, is quite possible.)

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 1st, 2017, 5:42 pm

Macbi wrote:Actually let me expand on an idea I've been thinking about, since we might be able to kill two birds with one stone.
Reading through the crab-tubstretcher blueprint, I think the part of the problem I'm worried about is unchanged: can you really build a memory loop big enough to hold the entire recipe that builds the memory loop, without launching a Cordership or two?

-- Of course, if you're planning on building a crab-tubstretcher anyway, then the cost of half a dozen Corderships will turn out to be negligible in comparison.

Unofficial cost analysis:

We have a one-glider Cordership seed, which is really a simple 1G-to-3G seed, for three nicely separated gliders, bolted on to a much smaller three-synchronized-glider Cordership seed.

But it looks like a crab-tubstretcher currently needs something like sixteen synchronized gliders hitting a big pseudo-still-life-plus-a-couple-of-toads constellation, And some of those synchronized gliders are pretty close together and may be a bit expensive to make a 1G seed for.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Challenge: Self-Synthesizing Spaceship

Post by Macbi » September 1st, 2017, 6:13 pm

I'll need to sleep on it. But for now I think I might have noticed a maths mistake.
dvgrn wrote:-- Cordersship travels distance N/12
-- glider catches up at c/4 - c/12, which is c/6.
-- glider will arrive when it has effectively traveled N/12fd at c/6
-- 6*N/12 is 0.5N, so the entire resulting memory loop will be roughly length N
The glider catches up a distance of N/12 at a relative speed of c/6, therefore taking time N/2. But its absolute speed is c/4, so the distance it actually travelled is N/8 and the memory loop will have length N/4. Even worse!

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 2nd, 2017, 9:04 am

.
.
.
EDIT: see the Wait, wait! post farther down the thread.
.
.
.
Macbi wrote:I'll need to sleep on it. But for now I think I might have noticed a maths mistake.
...
The glider catches up a distance of N/12 at a relative speed of c/6, therefore taking time N/2. But its absolute speed is c/4, so the distance it actually travelled is N/8 and the memory loop will have length N/4. Even worse!
Hmm... that's very plausible math. N/8 certainly looks more reasonable as an Achilles-and-the-Tortoise infinite sum of decreasing distances than N/2, if the first segment is only N/12.

Let's see -- the glider catches up to where the Cordership was in 4*N/12 = N/3 ticks. The Cordership has moved on N/12/3 = N/36 cells by then, so the next terms are N/9, N/27, ... and indeed the infinite sum adds up to N/2. But that's a number of ticks, not a distance in cells, so the glider travels N/2/4 = N/8 cells.

So all my other math about LWSSes, loafers, and copperheads is probably also wrong in the same way. Will go back and fix that eventually.

Meanwhile, here's another variant on the Lone Parallel Glider idea, from advertising the problem elsewhere:
In [url=http://conwaylife.com/forums/viewtopic.php?f=11&t=3071&p=50364#p50364]another thread[/url], dvgrn wrote: It may turn out that the idea of a Lone Parallel Glider will turn into Two Parallel Salvos, somewhat analogous to the Gemini. Why waste all that time reaching way over to the side to build a big enough memory loop, when there could be another cooperating salvo over there already, building its half of two loops?

Then each salvo would use one of the loops to get itself back from haploid to diploid again, after which both loops self-destruct and we move on to the all-gliders stage in the next cycle.
The "haploid" and "diploid" terminology is going to be useful, I think. At the Critical Moment when the spaceship is all gliders, there are going to be two complete copies of the recipe(s), strung out behind each other. One copy gets used up building the memory loop, and the memory loop has to store the other copy and send it out twice.

It doesn't seem as if there's any way to avoid this diploid DNA structure, is there? Unless there's always a glider splitter in the universe somewhere, which contradicts the all-gliders requirement.

-- Except if there are a bunch of gliders that are about to crash together and build a glider splitter, I suppose... but that would need a seed almost as complicated as a crab-tubstretcher seed, so it doesn't seem like a good idea to spend time on that option.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Challenge: Self-Synthesizing Spaceship

Post by Macbi » September 3rd, 2017, 2:49 pm

I wrote out a huge post and then realised right at the end that it wasn't going to work. :oops: :o :) I'll put it below in quote form:
Macbi wrote:
dvgrn wrote:The "haploid" and "diploid" terminology is going to be useful, I think. At the Critical Moment when the spaceship is all gliders, there are going to be two complete copies of the recipe(s), strung out behind each other. One copy gets used up building the memory loop, and the memory loop has to store the other copy and send it out twice.
I think I agree, but just to be clear: I think the two copies of the recipe aren't exactly the same. The first copy of the recipe will be arranged so as to actually do construction (so for example if we were using the same construction arm as in the Demonoid then this recipe would be mostly consist of pairs of gliders one following closely behind the other). We could call this the "Construction Recipe". Whereas the second copy of the recipe would be arranged so that it could be fed as instructions into some machinery (so for example if our machinery was two edge-shooters, as in the Demonoid, then we would need to have two parallel lines of gliders). We could call this the "Instruction Recipe".
dvgrn wrote:We have a one-glider Cordership seed, which is really a simple 1G-to-3G seed, for three nicely separated gliders, bolted on to a much smaller three-synchronized-glider Cordership seed.

But it looks like a crab-tubstretcher currently needs something like sixteen synchronized gliders hitting a big pseudo-still-life-plus-a-couple-of-toads constellation, And some of those synchronized gliders are pretty close together and may be a bit expensive to make a 1G seed for.
Yeah I agree that tubstretchers would be costly. I only mentioned them because
  1. I thought it would be neat to make an adjustable-speed spaceship that went very fast.
  2. I wasn't sure that a Cordership based design could work. I thought that maybe we could never produce a big enough gap between launching the Cordership and launching the glider that chases it.
I've now realised that a Cordership design can work. In fact if we use
dvgrn wrote:Two Parallel Salvos, somewhat analogous to the Gemini. Why waste all that time reaching way over to the side to build a big enough memory loop, when there could be another cooperating salvo over there already, building its half of two loops?
then I think it should all work fairly easily. Let me describe a blueprint.

Just before the Critical Moment, we have the following situation:
  • A Cordership closely followed by ...
  • a long line of Construction gliders followed by ...
  • a Big Gap followed by ...
  • a long line of Instruction gliders ...
  • AND a big copy of all of this running parallel to it some distance away (but I'll only describe what happens in one "half").
Then pretty soon the first few of the Construction gliders will hit the Cordership and start clearing up the mess to turn it into a single glider. This is the Critical Moment. Then they'll hit this glider and start turning it into useful things. The very first thing they should do is to make a new Cordership and send it on its way (making sure to leave something behind to use as a starting point for further constructions). We want to make the Cordership straight away because we want as much time as possible to pass before we make the glider to chase it. Then we want some more Consturction gliders to make the elbow and target of a construction arm. Then the rest of the Construction gliders will be aligned with this elbow and will create the rest of our machinery.

Then our completed machinery will just sit there for a while corresponding to the Big Gap between the two sets of gliders. This is to give the Cordership the correct amount of time before we fire the glider that chases after it.

The machinery will contain a construction arm and two edge-shooters firing towards it, as in the Demonoid. The Instruction gliders will arrive in two streams (one for each edge-shooter) and will enter a circuit which reflects them 90-degrees (towards the other half of the spaceship) and causes their edge-shooter to fire. (I'm assuming this will be as easy to arrange as for the Demonoid, where they are reflected 180-degrees and cause the edge-shooter to fire. But I'm not an expert so for all I know this is unworkable because 90-degrees is way more difficult for some reason.)

These instructions will be what produce the next round of Construction gliders. The first few Construction gliders have to destroy and clean up the Cordership, make a new Cordership, and make a (far) construction arm. I imagine these gliders will have to be on lots of different parallel tracks, and will therefore each need several instructions to our (near) construction arm to produce them. But after that the rest of the Construction gliders will be aligned to hit the far construction arm. So we can just make our near construction arm delete itself and then fire these gliders directly from the edge-shooters.

After all of the Instruction gliders have passed through the system (i.e. we have fired all the Construction gliders) we will have to wait a while for the Instruction gliders to arrive from the other half of our spaceship. This is what produces the Big Gap. Then when they do arrive we just pass them through some 90-degree reflectors and send them on their way. The two halves of our spaceshipe will each have to be slightly different so that the two sets of Instruction gliders don't crash when they crossover. But that will turn out to be okay if we give each of them the recipe for the other. Our spaceship will overall do a glide-reflect.

Last but not least there better be a Deletion glider (at the end of the Instruction gliders but on a different lane) that triggers some deletion circuitry. We'll place a one-time reflector so that it can follow the Instruction gliders over to the other half, but when it gets there it will trigger the deletion and of course create a copy of itself in the appropriate place.

Okay, so how will all the timings work out? Let's say the Cordership gets a distance C away before the first glider is fired after it. The sequences of Construction and Instruction gliders will be about the same length, let's call this L. And let's say the Big Gap has length G, and that the two halves of our ship are separated by distance D.

By the time the glider catches the Cordership they will be a distance of 3C/2 from where they launched. So in order for our ship to be all gliders at the Critical Moment we are going to want to have
  • 3C/2 > L + G + L
and because the Cordership is launched at the front of the Construction gliders, and the glider chasing it is launched at the front of the Instruction gliders, we'll have
  • C = L + G
... but of course that calculation is wrong, because the Cordership only travels at 1/3 the speed of a glider. So we have
  • 3C = L + G
Subtracting this from 3C/2 > L + G + L gives -3C/2 > L, which is a contradiction since C and L are positive. So my initial suspicion (b.) was correct! (At least for this design.) That Cordership is just too damn slow.

Perhaps we can fix this by also delaying the Instruction gliders before they enter the edge-shooters? Bounce them between the halves, then feed them through the shooters, then bounce them back again? Or maybe do something using one of those timer circuits I mentioned?

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 3rd, 2017, 5:57 pm

Macbi wrote:I think the two copies of the recipe aren't exactly the same. The first copy of the recipe will be arranged so as to actually do construction (so for example if we were using the same construction arm as in the Demonoid then this recipe would be mostly consist of pairs of gliders one following closely behind the other). We could call this the "Construction Recipe". Whereas the second copy of the recipe would be arranged so that it could be fed as instructions into some machinery (so for example if our machinery was two edge-shooters, as in the Demonoid, then we would need to have two parallel lines of gliders). We could call this the "Instruction Recipe".
That's all reasonable for a construction using 10hd or 0hd Demonoid machinery, but have you inspected the new single-channel constructions? There are a couple of these in Golly 3.0's pattern collection -- Hashlife/triple-Snark-wick-extruder.rle.gz, and Life/Signal-Circuitry/single-channel-spiral-growth.rle.gz.

In these patterns, the construction arm is run by a single stream of gliders, with individual gliders separated by a long enough distance that they can be safely reflected by syringes or Snarks. I had been assuming a single-channel design for the Self-Synthesizing Spaceship -- that way the two copies of the recipe can be exactly the same.

If we use single-channel (which seems like a good idea -- it's enormously simpler than the old two-lane constructors) then let's just say a "Standard Recipe" is the stream of gliders that builds the halves of two memory loops. The Standard Recipe SW will be a little different from the Standard Recipe NE, but they'll both be about the same length. The "Full Recipe" will just be two Standard Recipes in a long line.

Looks to me like the Two Parallel Salvos design will allow a sufficiently long gap to be created fairly easily, but it might need a trick I haven't tried to describe in detail yet: a one-time signal traveling back and forth between the two sides of the memory loops, as many times as necessary to let the Cordership travel a Full Recipe distance.
Macbi wrote:...and because the Cordership is launched at the front of the Construction gliders, and the glider chasing it is launched at the front of the Instruction gliders...
I don't think this is quite right. Seems to me the Gap is entirely inside the Construction recipe, so the Cordership gets launched right at the beginning of that recipe, and the following glider is launched very near the end of it. The Instruction recipe has to get treated as information-to-be-copied, so ordinarily it wouldn't launch anything.

We can cheat a little if we need to, come to think of it -- launch one glider, or N gliders using a freeze-dried salvo, by setting up a one-time turner chain that's triggered by the very first signal flowing into the memory-loop circuit. But more about that in a future post.
Macbi wrote:... but of course that calculation is wrong, because the Cordership only travels at 1/3 the speed of a glider. So we have
  • 3C = L + G
Subtracting this from 3C/2 > L + G + L gives -3C/2 > L, which is a contradiction since C and L are positive. So my initial suspicion (b.) was correct! (At least for this design.) That Cordership is just too damn slow.
Don't you have to fit D into that equation somewhere, though? Well, maybe not -- the bigger D is, the longer you have to wait before the Construction and Instruction gliders are all strung out in one straight line between the (self-destructed) memory loop and the receding Cordership. I thought for a while that moving the two Parallel Salvos farther apart would provide the necessary adjustability, but now I'm pretty sure that isn't true.
Macbi wrote:Perhaps we can fix this by also delaying the Instruction gliders before they enter the edge-shooters? Bounce them between the halves, then feed them through the shooters, then bounce them back again? Or maybe do something using one of those timer circuits I mentioned?
The timer circuits are a possibility, but I still think it's worth avoiding them. It's true that they only take log(N) space to set up an N-tick delay, but it's still going to need a lot of semi-Snarks -- to the point where semi-Snarks will be by far the majority of the circuitry that would need to be built.

... I've gotten to the stage where I can't really think very clearly without some diagrams to talk about -- so I'll build a few of those next. More shortly (I hope).

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 4th, 2017, 11:09 pm

dvgrn wrote:I've gotten to the stage where I can't really think very clearly without some diagrams to talk about -- so I'll build a few of those next. More shortly (I hope).
It looks to me as if one memory-loop-length of extra delay won't be enough to give the Corderships enough time -- the spaceship will work, but at the Critical Moment the memory loops won't have self-destructed yet, so the spaceship will not be made out of nothing but gliders.

However, if you build in a delay of two memory-loop lengths -- which is just a matter of adding a couple more still lifes to the yellow one-time turner circuits shown below -- then it looks like there might be just enough room:

Code: Select all

x = 1191, y = 442, rule = LifeHistory
B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B179.B189.B
214.B5$B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B
179.B189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B
124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B5$B
189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B179.B189.B
214.B5$B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B
179.B189.B214.B2$1011.A$1012.2A$1011.2A$B189.B139.B124.B149.B179.B
189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B4$1020.2A$B189.B139.B
124.B149.B179.B189.B44.A.A167.B$1020.A$1023.C$1024.C$1025.C$B189.B
139.B124.B149.B179.B189.B50.C163.B$1027.C$1028.C$1029.C$1030.C$B189.B
139.B124.B149.B179.B189.B55.C158.B$1032.C$1033.C$1034.C$1035.C$B189.B
139.B124.B149.B179.B189.B60.C153.B$1037.C$1038.C$1039.C$1040.C$B189.B
139.B124.B149.B179.B189.B65.C148.B$1042.C$828.4E211.C$828.2E214.C$
828.E.E214.C$B189.B139.B124.B149.B179.B42.E2.E143.B70.C143.B$832.E
214.C$837.2E132.A76.C$835.5E132.2A75.C$833.3E3.2E130.2A77.C$B189.B
139.B124.B149.B179.B46.5E2.2E134.B75.C138.B$831.2E2.2E215.C$831.3E
219.C$832.3E219.C$833.2E220.C$B189.B139.B124.B149.B179.B189.B80.C133.
B$647.4E406.C$647.2E409.C$647.E.E409.C$647.E2.E329.2A78.C$B189.B139.B
124.B149.B45.E133.B189.B4.A.A78.4C125.B$656.2E322.A80.2C$654.5E324.D
77.C.C$652.3E3.2E324.D76.C2.C$651.5E2.2E325.D79.C$B189.B139.B124.B
149.B44.2E2.2E129.B189.B10.D203.B$650.3E334.D$651.3E334.D$652.2E335.D
$990.D$B189.B139.B124.B149.B179.B189.B15.D198.B$992.D$993.D$994.D$
995.D$B189.B139.B124.B149.B179.B189.B20.D193.B$997.D$998.D$999.D$
1000.D$B189.B139.B124.B149.B179.B189.B25.D188.B$1002.D$788.4E211.D$
499.4E285.2E214.D$499.2E287.E.E214.D$B189.B139.B124.B43.E.E103.B179.B
2.E2.E183.B30.D183.B$499.E2.E289.E214.D$503.E293.2E209.D$508.2E285.5E
209.D$506.5E282.3E3.2E209.D$B189.B139.B124.B48.3E3.2E93.B179.B6.5E2.
2E174.B35.D178.B$503.5E2.2E279.2E2.2E215.D$502.2E2.2E283.3E219.D$502.
3E287.3E219.D$503.3E287.2E220.D$B189.B139.B124.B48.2E99.B179.B189.B
40.D173.B$607.4E406.D$607.2E409.D$607.E.E409.D$607.E2.E409.D$B189.B
139.B124.B149.B5.E173.B189.B45.4D165.B$616.2E403.2D$614.5E402.D.D$
612.3E3.2E401.D2.D$611.5E2.2E405.D$B189.B139.B124.B149.B4.2E2.2E169.B
105.C83.B130.C83.B$610.3E279.B214.B$611.3E279.C214.C$612.2E280.B214.B
$895.C214.C$B189.B139.B40.4E80.B149.B179.B110.B78.B135.B78.B$371.2E
524.C214.C$371.E.E524.B214.B$371.E2.E524.C214.C$375.E524.C214.C$B189.
B139.B49.2E73.B149.B179.B115.C73.B140.C73.B$378.5E519.C214.C$376.3E3.
2E519.C214.C$375.5E2.2E520.C214.C$374.2E2.2E525.C214.C$B189.B139.B43.
3E78.B149.B179.B120.C68.B145.C68.B$375.3E529.C214.C$376.2E530.C214.C$
459.4E446.C214.C$459.2E449.C214.C$B189.B139.B124.B3.E.E143.B179.B125.
C63.B150.C63.B$459.E2.E449.C214.C$463.E449.C214.C$468.2E444.C214.C$
466.5E444.C214.C$B189.B139.B124.B8.3E3.2E133.B179.B130.C58.B155.C58.B
$463.5E2.2E445.C214.C$462.2E2.2E450.C214.C$462.3E454.C214.C$463.3E
454.C214.C$B189.B139.B124.B8.2E139.B179.B135.C53.B160.C53.B$922.C214.
C$923.C214.C$924.C214.C$925.C214.C$B189.B40.4E95.B124.B149.B179.B140.
C48.B165.C48.B$231.2E694.C214.C$231.E.E694.C214.C$231.E2.E694.C214.C$
235.E694.C214.C$B189.B49.2E88.B124.B149.B179.B65.D79.C43.B90.D79.C43.
B$238.5E609.B79.C134.B79.C$236.3E3.2E609.D79.C134.D79.C$235.5E2.2E
610.B79.C134.B79.C$234.2E2.2E615.D79.C134.D79.C$B189.B43.3E93.B4E120.
B149.B179.B70.B79.4C35.B95.B79.4C35.B$235.3E93.2E524.D78.2C134.D78.2C
$236.2E93.E.E524.B77.C.C134.B77.C.C$331.E2.E524.D76.C2.C134.D76.C2.C$
335.E524.D79.C134.D79.C$B189.B139.B9.2E113.B149.B179.B75.D113.B100.D
113.B$247.E90.5E74.E154.E289.D214.D$248.E87.3E3.2E74.E154.E289.D214.D
$245.E3.E85.5E2.2E71.E3.E150.E3.E289.D214.D$248.E85.2E2.2E78.E154.E
291.D214.D$B189.B53.4E82.B3.3E77.4E37.B113.4E32.B179.B80.D108.B105.D
108.B$242.E3.2E4.E82.3E74.E3.2E4.E144.E3.2E294.D214.D$245.E.E88.2E77.
E.E152.E.E295.D214.D$240.E6.E2.E3.E155.E6.E2.E3.E140.E6.E296.D214.D$
243.E169.E154.E301.D214.D$B189.B47.E10.4E77.B77.E10.4E32.B107.E41.B
179.B85.D103.B110.D103.B$48.A192.E5.E3.2E158.E5.E3.2E143.E305.D214.D$
49.2A185.E13.E.E153.E13.E.E138.E311.D214.D$48.2A189.E5.E6.E2.A153.E5.
E6.E2.A138.E15.A174.A118.D75.A138.D75.B$234.E13.E5.3A147.E13.E5.3A
132.E19.3A172.3A118.D73.3A138.D73.3B$B189.B46.E5.E9.2A.2A72.B76.E5.E
9.2A.2A27.B106.E15.2A.2A22.B147.2A.2A27.B90.D71.2A.2A22.B115.D71.2B.
2B22.B$232.E13.E5.2A3.2A143.E13.E5.2A3.2A128.E19.2A3.2A168.2A3.2A118.
D69.2A3.2A138.D69.2B3.2B$235.E5.E16.2A145.E5.E9.D6.2A130.E15.D6.2A
166.D6.2A118.D67.D6.2A138.D74.2B$230.E13.E12.2A141.E13.E5.D6.2A126.E
19.D6.2A166.D6.2A120.D65.D6.2A140.D72.2B$233.E5.E14.A2.A145.E5.E9.D4.
A2.A130.E15.D4.A2.A166.D4.A2.A122.D63.D4.A2.A142.D68.B2.B$B4.B4.B4.B
4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B
4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B2.E.B4.B4.B.
E2.B4.B3.ABA3.B4.B2A2.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B
4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B2.E.B4.B4.B.E2.B2.D.B3.ABA3.B4.B2A2.B4.
B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B2.E.B
4.B4.B4.B2.D.B3.ABA3.B4.B2A2.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B
4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B2.D.B3.ABA3.B4.B5A
4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.BD3.
B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B2.D.B3.ABA3.B4.B5A4.B4.B4.B4.B4.B4.
B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.BD3.B4.B
4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B4.B3.3B3.B4.6B4.B4.B$231.E5.E16.2A6.4E
2A133.E5.E9.D6.2A6.4E2A118.E15.D6.2A6.4E2A154.D6.2A10.2A114.D59.D6.2A
10.2A134.D66.2B10.2B$226.E13.E13.4A6.2E2.A127.E13.E5.D6.D4A6.2E2.A
112.E19.D6.D4A6.2E2.A152.D6.D4A8.A.A114.D57.D6.D4A8.A.A134.D65.4B8.B.
B$57.2A170.E5.E27.E.E.E.A129.E5.E9.D6.D10.E.E.E.A114.E15.D6.D10.E.E.E
.A150.D6.D13.A2.A114.D55.D6.D13.A2.A134.D76.B2.B$57.A.A164.E13.E26.E
4.A123.E13.E5.D6.D13.E4.A108.E19.D6.D13.E4.A148.D6.D14.A3.A114.D53.D
6.D14.A3.A134.D75.B3.B$B56.A132.B4E32.E5.E27.E9.A58.B66.E5.E9.D6.D10.
E9.A13.B96.E15.D6.D10.E9.A8.B137.D6.D20.A13.B100.D51.D6.D20.A8.B125.D
79.B8.B$60.C130.2E29.E13.E27.E2.4E.A119.E13.E5.D6.D14.E2.4E.A104.E19.
D6.D14.E7.A144.D6.D22.A114.D49.D6.D22.A134.D79.B$61.C129.E.E31.E5.E
27.E9.2E2.A121.E5.E9.D6.D10.E9.2E2.A106.E15.D6.D10.E13.A142.D6.D24.A
114.D47.D6.D24.A134.D79.B$62.C128.E2.E25.E13.E27.E5.E.E.E.A115.E13.E
5.D6.D14.E5.E.E.E.A100.E19.D6.D14.E11.A140.D6.D26.A114.D45.D6.D26.A
134.D79.B$63.C131.E27.E5.E27.E12.E4.2A116.E5.E9.D6.D10.E12.E4.2A101.E
15.D6.D10.E17.2A137.D6.D28.2A113.D43.D6.D28.2A133.D79.2B$B63.C125.B9.
2E16.E13.E27.E5.E8.3A52.B57.E13.E5.D6.D14.E5.E8.3A7.B87.E19.D6.D14.E
14.3A2.B132.D6.D29.3A7.B105.D41.D6.D29.3A2.B130.D78.3B2.B$65.C132.5E
18.E5.E27.E13.E4.2A.2A112.E5.E9.D6.D10.E13.E4.2A.2A97.E15.D6.D10.E18.
2A.2A133.D6.D29.2A.2A113.D39.D6.D29.2A.2A133.D76.2B.2B$66.C129.3E3.2E
12.E13.E27.E5.E8.2A3.2A106.E13.E5.D6.D14.E5.E8.2A3.2A91.E19.D6.D14.E
14.2A3.2A131.D6.D29.2A3.2A113.D37.D6.D29.2A3.2A133.D74.2B3.2B$67.C
127.5E2.2E15.E5.E27.E13.E2.A2.A5.2A108.E5.E9.D6.D10.E13.E2.A2.A5.2A
93.E15.D6.D10.E16.A2.A5.2A129.D6.D27.A2.A5.2A113.D35.D6.D27.A2.A5.2A
133.D70.B2.B5.2B$68.C125.2E2.2E14.E13.E27.E5.E7.A.A5.2A104.E13.E5.D6.
D14.E5.E7.A.A5.2A89.E19.D6.D14.E13.A.A5.2A129.D6.D28.A.A5.2A115.D33.D
6.D28.A.A5.2A135.D69.B.B5.2B$B68.C120.B3.3E20.E5.E27.E13.E4.2A6.A51.B
56.E5.E9.D6.D10.E13.E4.2A6.A6.B86.E15.D6.D10.E18.2A6.A.B127.D6.D29.2A
6.A6.B110.4D28.D6.D29.2A6.A.B135.4D65.2B6.B.B$70.C124.3E14.E13.E27.E
5.E9.4A3.A4.C99.E13.E2.4D6.D14.E5.E9.4A3.C89.E16.4D6.D14.E15.4A3.C
126.4D6.D30.4A3.C118.2D26.4D6.D30.4A3.C138.2D67.4B$71.C124.2E10.E6.E
5.E27.E13.E12.A6.B94.E6.E5.E9.2D5.D10.E13.E12.B86.E6.E15.2D5.D10.E26.
B129.2D5.D37.B119.D.D27.2D5.D37.B139.D.D72.B$72.C135.E.E13.E27.E5.E
25.C93.E.E13.E5.D.D4.D14.E5.E16.C87.E.E19.D.D4.D14.E22.C129.D.D4.D37.
C120.D2.D25.D.D4.D37.C140.D2.D$73.C134.2E3.E5.E27.E13.E23.B92.2E3.E5.
E9.D2.D3.D10.E13.E4.C7.B88.2E3.E15.D2.D3.D10.E18.C7.B129.D2.D3.D29.C
7.B125.D23.D2.D3.D29.C7.B145.D68.B$B73.C115.B15.2A4E3.E6.E27.E5.E29.C
43.B45.2A4E3.E6.E5.D6.D14.E5.E5.C2.C7.C11.B75.2A4E16.D6.D14.E11.C2.C
7.C6.B100.5A17.D6.D26.C2.C7.C11.B115.5A17.D6.D26.C2.C7.C6.B140.5B69.B
$75.C130.2A7.E.E27.E13.E27.B88.2A7.E.E16.D10.E13.E2.C.C7.B88.2A26.D
10.E16.C.C7.B108.2A26.D27.C.C7.B128.2A26.D27.C.C7.B148.2B64.B$76.C
131.A2.E3.2E3.E27.E5.E33.C89.A2.E3.2E3.E12.B14.E5.E7.2C7.C91.A24.B14.
E13.2C7.C109.A.A24.B28.2C7.C129.A.A24.B28.2C7.C149.B.B24.B$77.C131.A.
E3.4E24.E13.E31.B89.A.E3.4E13.D10.E13.E4.4C4.B93.A22.D10.E18.4C4.B
110.A2.A22.D29.4C4.B130.A2.A22.D29.4C4.B150.B2.B60.B$78.C131.A.E.E31.
E5.E37.C89.A.E.E16.B14.E5.E8.C7.C95.A20.B14.E14.C7.C111.A3.A20.B29.C
7.C131.A3.A20.B29.C7.C151.B3.B20.B$B78.C110.B20.A.E3.E2.4A17.E13.E35.
C38.B50.A.E3.E2.4A6.D10.E13.E4.C7.C16.B80.A8.4A6.D10.E18.C7.C11.B105.
A8.4A6.D29.C7.C16.B120.A8.4A6.D29.C7.C11.B145.B8.4B56.B$80.C131.A9.2A
20.E5.E41.C89.A9.2A5.B14.E5.E8.C7.C99.A9.2A5.B14.E14.C7.C119.A9.2A5.B
29.C7.C139.A9.2A5.B29.C7.C159.B9.2B5.B$81.C131.A.E5.A.A15.E13.E39.C
89.A.E5.A.A4.D10.E13.E4.C7.C101.A7.A.A4.D10.E18.C7.C121.A7.A.A4.D29.C
7.C141.A7.A.A4.D29.C7.C161.B7.B.B$82.C131.A4.2A2.A18.E5.E45.C89.A4.2A
2.A3.B14.E5.E8.C7.C103.A4.2A2.A3.B14.E14.C7.C123.A4.2A2.A3.B29.C7.C
143.A4.2A2.A3.B29.C7.C163.B4.2B2.B3.B$83.C131.A2.2A17.E13.E43.C89.A2.
2A6.D10.E13.E4.C7.C105.A2.2A6.D10.E18.C7.C125.A2.2A6.D29.C7.C145.A2.
2A6.D29.C7.C165.B2.2B$B83.C105.B25.3A21.E5.E49.C33.B55.3A21.E5.E8.C7.
C21.B85.3A21.E14.C7.C16.B110.3A36.C7.C21.B125.3A36.C7.C16.B150.3B61.B
$8.A76.C130.2A6.A10.E13.E47.C88.2A6.A10.E13.E4.C7.C108.2A6.A10.E18.C
7.C128.2A6.A29.C7.C148.2A6.A29.C7.C168.2B6.B$9.2A75.C130.2A4.A14.E5.E
53.C88.2A4.A14.E5.E8.C7.C110.2A4.A14.E14.C7.C130.2A4.A29.C7.C150.2A4.
A29.C7.C170.2B4.B$8.2A77.C130.2A2.A10.E13.E51.C88.2A2.A10.E13.E4.C7.C
112.2A2.A10.E18.C7.C132.2A2.A29.C7.C152.2A2.A29.C7.C172.2B2.B$88.C
130.3A14.E5.E57.C88.3A14.E5.E8.C7.C114.3A14.E14.C7.C134.3A29.C7.C154.
3A29.C7.C174.3B$B88.C100.B29.A10.E13.E55.C28.B59.A10.E13.E4.C7.C26.B
89.A10.E18.C7.C21.B114.A29.C7.C26.B129.A29.C7.C21.B154.B59.B$90.C143.
E5.E61.C101.E5.E8.C7.C131.E14.C7.C166.C7.C186.C7.C$91.C138.E12.E59.C
96.E12.E4.C7.C128.E17.C7.C166.C7.C186.C7.C$92.C135.E.E.E5.E65.C93.E.E
.E5.E8.C7.C127.E.E.E14.C7.C166.C7.C186.C7.C$93.C136.2E9.E63.C94.2E9.E
4.C7.C130.2E14.C7.C166.C7.C186.C7.C$B93.C95.B35.E3.4E2.E69.C23.B65.E
3.4E2.E8.C7.C31.B95.E3.4E11.C7.C26.B139.C7.C31.B154.C7.C26.B214.B$95.
4C140.E67.C101.E4.C7.C146.C7.C166.C7.C186.C7.C$95.2C131.E6.E72.C89.E
6.E7.C7.C131.E14.C7.C166.C7.C186.C7.C$17.2A76.C.C135.E.E.E.4A66.C93.E
.E.E.4A7.C143.4A7.C163.4A7.C183.4A7.C203.4B$17.A.A75.C2.C136.2E4.2A
67.C94.2E4.2A6.C146.2A6.C166.2A6.C186.2A6.C206.2B$B16.A81.C90.B40.E3.
4E.A.A68.C18.B70.E3.4E.A.A5.C36.B109.A.A5.C31.B134.A.A5.C36.B149.A.A
5.C31.B174.B.B37.B$20.D218.A2.A69.C96.A2.A4.C146.A2.A4.C166.A2.A4.C
186.A2.A4.C206.B2.B$21.D211.E4.2A73.C89.E4.2A6.C146.2A6.C166.2A6.C
186.2A6.C206.2B$22.D214.2A75.C92.2A6.C146.2A6.C166.2A6.C186.2A6.C206.
2B$23.D214.2A3.2A70.C92.2A3.2A148.2A3.2A168.2A3.2A188.2A3.2A208.2B3.
2B$B23.D165.B48.2A.2A72.C13.B78.2A.2A41.B108.2A.2A36.B133.2A.2A41.B
148.2A.2A36.B173.2B.2B36.B$25.D214.3A74.C92.3A152.3A172.3A192.3A212.
3B$26.D214.A76.C92.A154.A174.A194.A214.B$27.D291.C$28.D291.C$B28.D
160.B130.C8.B124.B149.B179.B189.B214.B$30.D211.D79.C$31.D211.B79.C$
32.D211.D79.C$33.D211.B79.C$B33.D155.B55.D79.C3.B124.B149.B179.B189.B
214.B$35.D211.B79.4C$36.D211.D78.2C$37.D211.B77.C.C$38.D211.D76.C2.C$
B38.D150.B60.D78.BC123.B149.B179.B189.B214.B$40.D211.D$41.D211.D$42.D
211.D$43.D211.D$B43.D145.B65.D73.B124.B149.B179.B189.B214.B$45.D211.D
$46.D211.D$47.D211.D$48.D211.D$B48.D140.B70.D68.B124.B149.B179.B189.B
214.B$50.D211.D$51.D211.D$52.D211.D$53.D211.D$B53.D135.B75.D63.B124.B
149.B179.B189.B214.B$55.4D208.D$55.2D211.D$55.D.D211.D$55.D2.D211.D$B
58.D130.B80.D58.B124.B149.B179.B189.B214.B$140.C131.D$141.B131.D$142.
C131.D$143.B131.D$B143.C45.B85.D53.B124.B149.B179.B189.B214.B$145.B
131.D$146.C131.D$147.B131.D$148.C131.D$B148.C40.B90.D48.B124.B149.B
179.B189.B214.B$150.C131.D$151.C131.D$152.C131.D$153.C131.D$B153.C35.
B95.D43.B124.B149.B179.B189.B214.B$155.C131.4D$156.C130.2D$157.C129.D
.D$158.C128.D2.D$B158.C30.B100.D38.B124.B149.B179.B189.B214.B$160.C$
161.C$162.C$163.C$B163.C25.B139.B124.B149.B179.B189.B214.B$B164.C24.B
139.B124.B149.B179.B189.B214.B$166.C$167.C$168.C$169.C$B169.C19.B139.
B124.B149.B179.B189.B214.B$171.C$172.C$173.C$174.C$B174.C14.B139.B
124.B149.B179.B189.B214.B$176.C$177.C$178.C$179.C$B99.D79.C9.B139.B
124.B149.B179.B189.B214.B$101.B79.C$102.D79.C$103.B79.C$104.D79.C$B
104.B79.4C.B139.B124.B149.B179.B189.B214.B$106.D78.2C$107.B77.C.C$
108.D76.C2.C$109.D79.C$B109.D79.B139.B124.B149.B179.B189.B214.B$111.D
$112.D$113.D$114.D$B114.D74.B139.B124.B149.B179.B189.B214.B$116.D$
117.D$118.D$119.D$B119.D69.B139.B124.B149.B179.B189.B214.B$121.D$122.
D$123.D$124.D$B124.D64.B139.B124.B149.B179.B189.B214.B$126.D$127.D$
128.D$129.D$B129.D59.B139.B124.B149.B179.B189.B214.B$131.D$132.D$133.
D$134.D$B134.D54.B139.B124.B149.B179.B189.B214.B$136.D$137.D$138.D$
139.D$B139.D49.B139.B124.B149.B179.B189.B214.B$141.D$142.D$143.D$144.
D$B144.4D41.B139.B124.B149.B179.B189.B214.B$145.2D$145.D.D$145.D2.D$
149.D$B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B179.
B189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B
149.B179.B189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B5$B189.B
139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B
5$B189.B139.B124.B149.B179.B189.B214.B5$B189.B139.B124.B149.B179.B
189.B214.B5$B189.B139.B124.B149.B179.B189.B214.B!
I think that a two-times-memory-loop delay also allows more space to be created if necessary, by moving the two parallel salvos farther away from each other. Next we'll have to definitely confirm that, presumably with a diagram that has actual labels and some supporting math.

... But How Can It Be Done With Just One Recipe?
I'm also still interested in figuring out what the smallest single-salvo solution is. Clearly it can be done by launching Corderships in two directions, and/or by building enough reflectors -- either bounce the recipes back and forth with banks of 180-degree reflectors, or have several sets of reflectors so the recipe winds around a loop several times, maybe in a double spiral like the one in the triple wickstretcher.

(If it's only a single spiral there will be signal crossing problems somewhere. Not signal crossing problems as awful as in the original Gemini by any means, and they were perfectly solvable there... but it seems like it might be a headache worth avoiding. On the other hand, Hashlife will be much happier if the recipe never doubles back on itself.)

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 12th, 2017, 1:21 pm

Leaving aside the design with two parallel recipes for the moment, this is a follow-up to the problem of making a memory loop starting with just one stream of gliders hitting a block (or a Cordership, or a glider).
dvgrn wrote:
Macbi wrote:I'll need to sleep on it. But for now I think I might have noticed a maths mistake.
...
The glider catches up a distance of N/12 at a relative speed of c/6, therefore taking time N/2. But its absolute speed is c/4, so the distance it actually travelled is N/8 and the memory loop will have length N/4. Even worse!
Hmm... that's very plausible math. N/8 certainly looks more reasonable as an Achilles-and-the-Tortoise infinite sum of decreasing distances than N/2, if the first segment is only N/12.
Wait, wait! Now I think I was right the first time...

Recap
The question was: can you add a long chunk of empty space into a single-channel recipe, to allow a Cordership to travel far enough away to anchor the far end of a memory loop? The memory loop has to end up being big enough to include the gap and the rest of the recipe that builds the two ends of the memory loop.
  • We insert a gap into a long recipe.
    The gap's total diagonal length is N cells.
    The last glider before the gap launches a Cordership.
    The first glider after the gap follows the Cordership, eventually catching it.
    Let's call the first glider after the gap the PGG -- Post-Gap Glider.
    The PGG travels length N to reach where the Cordership was launched.
    At speed c/4, the PGG will take 4N ticks to travel distance N.
    In that time the Cordership will travel distance 4N/12 = N/3 cells.
    The PGG now has to catch up to that point, traveling N/3 distance in 4N/3 ticks.
    In that time, the Cordership travels 4N/3/12 = N/9 cells.
    N/3+N/9+N/27... converges to N/2.
The total size of the memory loop is 2*(N/2) = N, the length of the gap. With the setup described, there's only room in the memory loop to hold the gap, leaving no space for the rest of the recipe.

-- But at least the memory loop isn't length N/4, so inserting a gap doesn't actually make things worse! The mistake seems to have crept in due to thinking of N as a length of time in the very first step, when it's really a distance. I said at the end of the above quote, "... if the first segment is only N/12" -- but gliders don't travel at lightspeed, so the first term in the infinite sum is actually N/3.

Finding a Little More Space
But hang on a minute. There might be an unnecessary assumption in my walkthrough. I say "The last glider before the gap launches a Cordership" -- but that's not actually a requirement.

Instead, we can launch the Cordership as quickly as possible, and then spend as much time as we want building the near end of the memory loop. When that's all done, we send a glider immediately to shoot down the Cordership.

According to the above calculations, if we put the Near-End Adjacent Reflectors recipe into the gap, then the resulting memory loop will have just enough room for ... the Near-End Adjacent Reflectors recipe. There still won't be room for the Cordership Launcher recipe or the Far-Away Reflectors recipe, but at least there's room for something.

It looks like adding just two more 180-degree reflectors will be enough to allow for a memory loop big enough to hold its entire recipe. The recipe will bounce back and forth twice between near-end and far-end reflectors. The NEAR recipe has to be at least as long as the FAR recipe plus the Cordership Launcher recipe, plus any other recipes we might need. Total length of the doubled-back memory loop will be|NEAR|*2.

I'm Probably Still Wrong Somehow
Can somebody please triple-check my math, because clearly I'm not very good at it?

Back to Two Dimensions
Corollary: it seems as if the 2D option should work after all -- launch two Corderships at 90 degrees, then build the South corner reflector, then chase down the two Corderships with gliders and use them make targets at West and East corners, and then collaborate to build a target at the North corner.

The total length of the resulting loop is |S|*2, so we can usefully add a gap inside the S corner recipe, to extend |S| until it's as long as |Corderships-launcher| + |W| + |E| + |N| combined.

... Right?

There are actually ways of using freeze-dried slow salvos to encode most or all of the West, East, and North recipes inside the South recipe, but that might be more of a headache than it's worth.

Orthogonalternatives
Might not actually need two Corderships. A suitably delayed *WSS launched from South Corner could meet up with a glider from West Corner (created right after the Cordership destruction) to make a target at North Corner. And a *WSS launched from West Corner after that could meet up with the first glider sent from North Corner toward East Corner, to make a target at East.

The timing of all this is a bit of a nightmare -- it would be a lot easier to just do the Hashlife-unfriendly double 1D memory loop.

And, Setting Our Sights a Little Bit Higher --
An implementation of either a 1D or a 2D design would suddenly get us a surprisingly large fraction of the way to a working quadratic-growth replicator...!

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Challenge: Self-Synthesizing Spaceship

Post by Macbi » September 13th, 2017, 4:26 am

Can somebody please triple-check my math, because clearly I'm not very good at it?
I think it's good. The difficulty was whether N was a time or a distance. If the gap has length N cells then the loop has size N; if the gap takes N ticks for a glider to traverse then the loop has size N/4. These differ by a factor of 1/4, which is the speed of the glider.

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » September 15th, 2017, 10:58 pm

Macbi wrote:I think it's good. The difficulty was whether N was a time or a distance. If the gap has length N cells then the loop has size N; if the gap takes N ticks for a glider to traverse then the loop has size N/4. These differ by a factor of 1/4, which is the speed of the glider.
Okay, on to the next step. I think the following pattern, with a few additions, might be a workable quadratic replicator:

Code: Select all

x = 542, y = 571, rule = LifeHistory
329.BA210.B$326.B.BA.A51.A156.2B$325.2A2B2A.B13.2A33.3A155.3B$325.2AB
.6B11.A15.A17.A9.2A3.2A141.4B$326.B3.6B7.BA.A15.3A15.2A7.B2AB.B2AB
139.4B$329.7B3.3B.B2A19.A12.4B4.B3.3B2.2B139.4B$328.16B20.2A11.3B4.4B
.3B.3B139.4B$328.16B20.B11.13B.7B5.2A130.4B$328.15B19.3B9.23B5.A130.
4B$328.16B16.6B4.8B.19B.BA.A129.4B$328.18B11.10B2.29B.B2A129.4B$329.
20B2.2B3.44B130.4B$329.32B2A37B129.4B$329.9B.22B2A37B128.4B$330.7B2.
60B128.4B$330.7B2.58B129.4B$330.6B4.59B126.4B$330.7B10.4B.13B4.25B3.
2A125.4B$330.6B12.3B5.B.7B4.B4.20B3.A125.4B$329.7B13.4B15.2A7.15B6.3A
121.4B$330.5B16.2A15.A12.11B8.A120.4B$329.6B16.A17.3A8.13B127.4B$328.
9B15.3A16.A7.15B125.4B$327.7B.2A17.A23.16B124.4B$326.4B5.A41.17B123.
4B$325.4B7.3A39.16B122.4B$324.4B10.A40.13B123.4B$323.4B52.5B2A2B.3B
122.4B$322.4B55.3B2A2B2.4B119.4B$321.4B56.8B3.2A118.4B$320.4B56.8B4.A
118.4B$319.4B57.8B5.3A114.4B$318.4B58.7B8.A113.4B$317.4B59.7B121.4B$
316.4B61.6B7.A112.4B$315.4B62.6B6.A.A110.4B$314.4B64.5B6.A.A109.4B$
313.4B65.6B4.2A.3A106.4B$312.4B65.6B6.B4.A104.4B$311.4B66.7B3.B2AB3A
104.4B$310.4B68.8B.B2A.A105.4B$309.4B69.10B108.4B$308.4B69.3B2A6B107.
4B$307.4B64.2A5.2B2A6B106.4B$306.4B66.A5.10B105.4B$305.4B67.A.AB2.11B
103.4B$304.4B69.2AB.12B102.4B$303.4B72.15B100.4B$302.4B73.16B98.4B$
301.4B74.16B.2B94.4B$300.4B75.18B2A92.4B$299.4B75.17B.B2A91.4B$298.4B
75.4B2.8B.4B.B91.4B$297.4B75.4B4.7B97.4B$296.4B75.4B5.6B97.4B$295.4B
75.4B6.4B98.4B$294.4B75.4B5.A3B99.4B$293.4B75.4B5.A.AB99.4B$292.4B75.
4B6.A.A99.4B$291.4B75.4B8.A99.4B$290.4B75.4B6.3A99.4B$289.4B75.4B7.A
100.4B$288.4B75.4B108.4B$287.4B75.4B108.4B$286.4B75.4B108.4B$285.4B
75.4B108.4B$284.4B75.4B108.4B$285.2B75.4B108.4B$361.4B108.4B$360.4B
108.4B$359.4B108.4B$279.2B77.4B108.4B$279.2B76.4B108.4B$356.4B108.4B$
355.4B108.4B$354.4B108.4B$274.2B77.4B108.4B$274.2B76.4B108.4B$351.4B
108.4B$350.4B54.BA52.4B$349.4B52.B.BA.A50.4B$269.2B77.4B52.2A2B2A.B
13.2A33.4B$269.2B76.4B53.2AB.6B11.A15.A17.4B6.2A3.2A$346.4B55.B3.6B7.
BA.A15.3A14.4B6.B2AB.B2AB$266.B78.4B59.7B3.3B.B2A19.A12.4B4.B3.3B2.2B
$265.2B77.4B59.16B20.2A11.4B3.4B.3B.3B$264.3B76.4B60.16B20.B11.13B.7B
5.2A$263.4B75.4B61.15B19.3B9.23B5.A$262.4B75.4B62.16B16.6B4.8B.19B.BA
.A$261.4B75.4B63.18B11.10B2.29B.B2A$260.4B75.4B65.20B2.2B3.44B$259.4B
75.4B66.32B2A37B$258.4B75.4B67.9B.22B2A37B$257.4B75.4B69.7B2.60B$256.
4B75.4B70.7B2.58B$255.4B75.4B71.6B4.59B$254.4B75.4B72.7B10.4B.13B4.
25B3.2A$253.4B75.4B73.6B12.3B5.B.7B4.B4.20B3.A$252.4B75.4B73.7B13.4B
15.2A7.15B6.3A$251.4B75.4B75.5B16.2A15.A12.11B8.A$250.4B75.4B75.6B16.
A17.3A8.13B$249.4B75.4B75.9B15.3A16.A7.15B$248.4B75.4B75.7B.2A17.A23.
16B$247.4B75.4B75.4B5.A41.17B$246.4B75.4B75.4B7.3A39.16B$245.4B75.4B
75.4B10.A40.13B$244.4B77.2B75.4B52.5B2A2B.3B$243.4B154.4B55.3B2A2B2.
4B$242.4B154.4B56.8B3.2A$241.4B154.4B56.8B4.A$240.4B75.2B77.4B57.8B5.
3A$239.4B76.2B76.4B58.7B8.A$238.4B154.4B59.7B$237.4B154.4B61.6B7.A$
236.4B154.4B62.6B6.A.A$235.4B75.2B77.4B64.5B6.A.A$234.4B76.2B76.4B65.
6B4.2A.3A$233.4B154.4B65.6B6.B4.A$232.4B154.4B66.7B3.B2AB3A$231.4B
154.4B68.8B.B2A.A$230.4B75.2B77.4B69.10B$229.4B76.2B76.4B69.3B2A6B$
228.4B154.4B64.2A5.2B2A6B$227.4B154.4B66.A5.10B$226.4B154.4B67.A.AB2.
11B$225.4B75.2B77.4B69.2AB.12B$224.4B75.4B75.4B72.15B$223.4B75.4B75.
4B73.16B$222.4B75.4B75.4B74.16B.2B$221.4B75.4B75.4B75.18B2A$220.4B75.
4B75.4B75.17B.B2A$219.4B75.4B75.4B75.4B2.8B.4B.B$218.4B75.4B75.4B75.
4B4.7B$217.4B75.4B75.4B75.4B5.6B$216.4B75.4B75.4B75.4B6.4B$215.4B75.
4B75.4B75.4B5.A3B$214.4B75.4B75.4B75.4B5.A.AB$213.4B75.4B75.4B75.4B6.
A.A$212.4B75.4B75.4B75.4B8.A$211.4B75.4B75.4B75.4B6.3A$210.4B75.4B75.
4B75.4B7.A$209.4B75.4B75.4B75.4B$208.4B75.4B75.4B75.4B$207.4B75.4B75.
4B75.4B$206.4B75.4B75.4B75.4B$205.4B75.4B75.4B75.4B$204.4B75.4B77.2B
75.4B$203.4B75.4B154.4B$202.4B75.4B154.4B$201.4B75.4B154.4B$200.4B75.
4B75.2B77.4B$199.4B75.4B76.2B76.4B$198.4B75.4B154.4B$197.4B75.4B154.
4B$196.4B75.4B154.4B$195.4B75.4B75.2B77.4B$194.4B75.4B76.2B76.4B$193.
4B75.4B154.4B$192.4B75.4B154.4B$191.4B75.4B154.4B$190.4B75.4B75.2B77.
4B$189.4B75.4B76.2B76.4B$188.4B75.4B154.4B$187.4B75.4B154.4B$186.4B
75.4B154.4B$185.4B75.4B75.2B77.4B$184.4B75.4B75.4B75.4B$183.4B75.4B
75.4B75.4B$182.4B75.4B75.4B75.4B$181.4B75.4B75.4B75.4B$180.4B75.4B75.
4B75.4B$179.4B75.4B75.4B75.4B$178.4B75.4B75.4B75.4B$177.4B75.4B75.4B
75.4B$176.4B75.4B75.4B75.4B$175.4B75.4B75.4B75.4B$174.4B75.4B75.4B75.
4B$173.4B75.4B75.4B75.4B$172.4B75.4B75.4B75.4B$171.4B75.4B75.4B75.4B$
170.4B75.4B75.4B75.4B$169.4B52.2A21.4B75.4B75.4B$168.4B52.B2AB19.4B
75.4B75.4B$167.4B54.2B19.4B75.4B75.4B$166.4B54.2B3.5B11.4B75.4B75.4B$
165.4B54.B2AB.9B5.B.4B75.4B75.4B$164.4B55.A.A21B75.4B77.2B$163.4B57.A
.21B74.4B$162.4B59.22B73.4B$161.4B61.21B72.4B$160.4B62.20B72.4B75.2B$
159.4B64.16B2.B2A69.4B76.2B$158.4B67.10B.B4.BA.A67.4B$157.4B68.8B11.A
66.4B$156.4B69.7B12.2A64.4B$155.4B69.11B74.4B75.2B$154.4B70.12B72.4B
76.2B$153.4B71.12B71.4B$152.4B73.11B70.4B$151.4B72.4B.8B69.4B$150.4B
73.2A4.7B68.4B75.2B$149.4B75.A4.7B67.4B76.2B$134.A13.4B73.3A6.6B66.4B
$134.3A10.4B74.A8.7B64.4B$137.A8.4B84.8B62.4B$136.2A7.4B86.8B60.4B75.
2B$136.5B3.4B87.8B59.4B75.4B$138.3B2.4B87.6B2.B2A56.4B75.4B$128.2A7.
9B88.7B.BA.A54.4B75.4B$128.A8.8B90.6B4.A53.4B75.4B$125.2A.A.B3.10B91.
6B4.2A51.4B75.4B$125.A2.3AB.2B2A7B91.6B56.4B75.4B$126.2A2.BA3B2A7B90.
8B54.4B75.4B$128.4A12B89.8B54.4B75.4B$128.A.2B3.7B.B2A87.9B52.4B75.4B
$129.3AB2.7B.BA.A86.9B51.4B75.4B$132.A3.5B5.A85.10B50.4B75.4B$127.5A
4.5B5.2A84.3B2A5B49.4B75.4B$127.A10.4B84.2A3.4B2A5B48.4B75.4B$129.A9.
4B84.A3.11B47.4B75.4B$128.2A10.4B83.A.A12B46.4B75.4B$141.4B83.2A2.8B
47.4B75.4B$B141.4B87.7B46.4B75.4B$2B141.4B87.6B45.4B75.4B$3B141.4B86.
6B2.2A40.4B75.4B$4B141.4B84.9BA.A38.4B75.4B$.4B141.4B82.9B3.A37.4B75.
4B$2.4B141.4B81.9B3.2A35.4B75.4B$3.4B141.4B80.9B39.4B75.4B$4.4B141.4B
79.9B38.4B75.4B$5.4B141.4B77.11B36.4B75.4B$6.4B141.4B76.11B24.A10.4B
75.4B$7.4B141.4B74.12B24.3A7.4B75.4B$8.4B141.4B72.14B4.B21.A5.4B75.4B
$9.4B141.4B70.4B.10B3.3B19.2A4.4B75.4B$10.4B141.4B69.15B2.6B17.9B6.2A
67.4B$11.4B141.4B66.2AB.13B.7B2.4B13.6B7.A67.4B$12.4B141.4B64.A.AB.
29B2.2B2.B3.6B5.2A.A66.4B$13.4B141.4B63.A4.45B4.A2.A66.4B$14.4B141.4B
61.2A4.46B3.B2A66.4B$15.4B141.4B65.21B2A13B2A14B66.4B$16.4B141.4B64.
21B2A13B2A13B66.4B$17.4B141.4B62.51B66.4B$18.4B141.4B62.26B5.B.17B65.
4B$19.4B141.4B62.20B2.B10.15B65.4B$20.4B141.4B58.B.B.20B12.15B64.4B$
21.4B141.4B56.2A24B12.13B64.4B$22.4B141.4B55.2A24B10.13B65.4B$23.4B
141.4B55.2B.12B2.5B2.B2A6.A.2A4.8B63.4B$24.4B141.4B56.13B3.4B2.BA.A3.
3AB2A6.6B62.4B$25.4B141.4B53.B.11B14.A2.A4.B8.5B61.4B$26.4B141.4B51.
2A12B14.2A2.3A.2A9.B.B60.4B$27.4B141.4B50.2AB.10B20.A.A9.3B60.4B$28.
4B141.4B50.B4.6B.B2A18.A.A9.B2AB58.4B$29.4B141.4B56.4B.BA.A18.A11.2A
58.4B$30.4B141.4B53.5B5.A89.4B$31.4B141.4B52.2A8.2A87.4B$32.4B141.4B
52.A96.4B$33.4B141.4B48.3A96.4B$34.4B141.4B7.A39.A97.4B$35.4B141.4B6.
3A134.4B$36.4B141.4B8.A132.4B$37.4B141.4B6.A.A130.4B$38.4B141.4B5.A.A
B128.4B$39.4B141.4B5.A3B126.4B$40.4B141.4B6.4B123.4B$41.4B141.4B5.6B
120.4B$42.4B141.4B4.7B118.4B$43.4B141.4B2.8B.4B.B110.4B$44.4B141.17B.
B2A108.4B$45.4B141.18B2A107.4B$46.4B140.16B.2B107.4B$47.4B139.16B109.
4B$48.4B138.15B109.4B$49.4B135.2AB.12B109.4B$50.4B133.A.AB2.11B108.4B
$51.4B132.A5.10B108.4B$52.4B130.2A5.2B2A6B107.4B$53.4B135.3B2A6B106.
4B$54.4B135.10B105.4B$55.4B134.8B.B2A.A100.4B$56.4B132.7B3.B2AB3A97.
4B$57.4B131.6B6.B4.A95.4B$58.4B131.6B4.2A.3A95.4B$59.4B130.5B6.A.A96.
4B$60.4B128.6B6.A.A95.4B$61.4B127.6B7.A95.4B$62.4B125.7B102.4B$63.4B
124.7B8.A92.4B$64.4B123.8B5.3A91.4B$65.4B122.8B4.A93.4B$66.4B122.8B3.
2A91.4B$67.4B121.3B2A2B2.4B90.4B$68.4B118.5B2A2B.3B91.4B$69.4B117.13B
90.4B$70.4B115.16B87.4B$71.4B113.17B86.4B$72.4B113.16B85.4B$73.4B105.
A7.15B84.4B$74.4B87.2A13.3A8.13B84.4B$75.4B85.B2AB6.2A3.A12.11B8.A75.
4B$76.4B85.3B5.B2AB2.2A7.15B6.3A74.4B$77.4B85.B7.3B3.B4.20B3.A76.4B$
78.4B82.5B3.2B.B4.25B3.2A74.4B$79.4B79.4BA43B73.4B$80.4B77.4BABA40B
74.4B$81.4B76.4BABA7B.34B71.4B$82.4B76.4BA44B69.4B$83.4B77.47B68.4B$
84.4B78.45B67.4B$85.4B77.13B.29B.B2A64.4B$86.4B77.12B2.8B.19B.BA.A62.
4B$87.4B75.13B6.23B5.A61.4B$88.4B75.12B8.13B.7B5.2A59.4B$89.4B75.8B.B
10.3B4.4B.3B.3B66.4B$90.4B74.8B13.4B4.B3.3B2.2B64.4B$91.4B73.5B18.2A
7.B2AB.B2AB62.4B$92.4B71.6B18.A9.2A3.2A62.4B$93.4B70.7B18.3A74.4B$94.
4B70.5B21.A73.4B$95.4B69.5B94.4B$96.4B66.2B2D2BD93.4B$97.4B60.2A2.4B
3DB92.4B$98.4B58.A.A7BD4B89.4B$99.4B57.A3.11B88.4B$100.4B55.2A3.4B2A
5B87.4B$101.4B60.3B2A5B86.4B$102.4B59.10B85.4B$103.4B59.9B84.4B$104.
4B58.9B83.4B$105.4B57.8B83.4B$106.4B57.8B81.4B$107.4B57.6B81.4B$108.
4B56.6B4.2A74.4B$109.4B55.6B4.A74.4B$110.4B53.7B.BA.A73.4B$111.4B52.
6B2.B2A73.4B$112.4B52.8B74.4B$113.4B51.8B73.4B$114.4B49.8B73.4B$115.
4B39.A8.7B73.4B$116.4B38.3A6.6B73.4B$117.4B40.A4.2B3D2B72.4B$118.4B
38.2A4.4BD2B71.4B$119.4B37.4B.4B3DB70.4B$120.4B38.11B69.4B$121.4B36.
12B68.4B$122.4B35.12B67.4B$123.4B34.11B67.4B$124.4B34.7B9.2A58.4B$
125.4B33.8B8.A58.4B$126.4B33.9B3.BA.A57.4B$127.4B32.11B.B2A57.4B$128.
4B30.14B58.4B$129.4B27.B.15B56.4B$130.4B25.2A15B56.4B$131.4B24.2A13B.
B2A53.4B$132.4B24.14B.BA.A51.4B$133.4B23.11B7.A50.4B$134.4B24.10B6.2A
48.4B$135.4B22.12B54.4B$136.4B21.12B53.4B$137.4B20.11B53.4B$138.4B17.
2A.9B53.4B$139.4B16.A3.8B52.4B$140.4B13.A.A3.8B51.4B$141.4B12.2A5.7B
50.4B$142.4B17.7B50.4B$143.4B17.6B49.4B$144.4B16.D2B2D2B47.4B$145.4B
15.B3D4B2.2A41.4B$146.4B12.4BD7BA.A39.4B$147.4B11.11B3.A38.4B$148.4B
10.5B2A4B3.2A36.4B$149.4B9.5B2A3B41.4B$150.4B8.10B40.4B$151.4B7.9B40.
4B$152.4B6.9B39.4B$153.4B6.8B38.4B$154.4B4.8B38.4B$155.4B4.6B38.4B$
156.4B3.6B37.4B$157.4B2.6B36.4B$158.4B.7B34.4B$159.4B.6B33.4B$160.9B
33.4B$161.8B32.4B$162.8B30.4B$163.7B8.A20.4B$164.6B6.3A19.4B$164.2B3D
2B4.A21.4B$164.2BD4B4.2A19.4B$164.B3D4B.4B18.4B$164.11B19.4B$164.12B
17.4B$164.12B16.4B$165.11B15.4B$168.9B13.4B$167.10B.2B9.4B$156.3B4.B.
16B7.4B$156.28B3.4B$155.2A33B$155.2A32B$156.B.30B$158.29B$160.26B$
161.B5.18B$170.14B$170.14B$171.2B4.5B$170.2B5.4B$169.B2AB3.4B$170.2A
3.4B$174.4B$173.4B$172.4B$171.4B$170.4B$169.4B$168.4B$167.4B$166.4B$
165.4B$164.4B$163.4B$162.4B$161.4B$160.4B$159.4B$158.4B$157.4B$156.4B
$155.4B$154.4B$153.4B$152.4B$151.4B$150.4B$149.4B$148.4B$147.4B$134.
2A10.4B$135.A9.4B$133.A10.4B$133.5A5.4B5.2A$138.A4.4B5.A$135.3AB2.7B.
BA.A$134.A.2B3.7B.B2A$134.4A12B$132.2A2.BA3B2A7B$131.A2.3AB.2B2A7B$
131.2A.A.B3.10B$134.A8.8B$134.2A7.9B$144.3B2.4B$142.5B3.4B$142.2A7.4B
$143.A8.4B$140.3A10.4B$140.A13.4B$155.4B$156.4B$157.4B$158.4B$159.4B$
160.B3A$161.A3B$162.A3B$163.4B$164.4B$165.4B$166.4B$167.4B$168.4B$
169.4B$170.4B$171.4B$172.4B$173.4B$174.4B$175.4B$176.4B$177.4B$178.4B
$179.4B$180.4B$181.4B$182.2B2A$183.BABA$184.A3B$185.4B$186.4B$187.4B$
188.4B$189.4B$190.4B$191.4B$192.4B$193.4B$194.4B$195.4B$196.4B$197.4B
$198.4B$199.4B$200.4B$201.4B$202.4B$203.4B$204.4B$205.4B$206.4B$207.
4B$208.4B$209.4B$210.4B$211.4B$212.4B$213.4B$214.4B$215.4B$216.4B$
217.4B$218.4B$219.4B$220.4B$221.4B$222.4B$223.4B$224.4B$225.4B$226.4B
$227.4B$228.4B$229.4B$230.4B$231.4B$232.4B$233.4B$234.4B$235.4B$236.
4B$237.4B$238.4B$239.4B$240.4B$241.4B$242.4B$243.4B$244.4B$245.4B$
246.4B$247.4B$248.4B$249.4B$250.4B$251.4B$252.4B$253.4B$254.4B$255.4B
$256.4B$257.4B$258.4B$259.4B$260.4B$261.4B$262.4B$263.3B$264.2B$265.B!
The few additions would be

1) a couple of eaters and half a dozen blocks, added to prevent the replicator's great-great-grandchildren's Corderships from crashing into the replicator's leftover circuitry (which in this kind of quadratic-growth model doesn't need to be cleaned up -- no self-destruct circuitry required).

2) a series of boats or eaters or other one-time turners, to lead a SHUTDOWN signal around the memory loop twice, just ahead of the first glider. Its job will be to shut off the output glider streams after two copies of the input construction recipe have been sent.

3) One or more eater seeds, triggered by the SHUTDOWN signal, in the right place to close off the two outputs of the memory loop at the right time -- or else directly absorb the entire recipe as it starts its third cycle through the memory loop.

The next step is to design a single-channel recipe that builds and triggers two simultaneous Cordership seeds, exactly on the lines followed by the output glider streams.

Then a single-channel construction recipe can follow those two Corderships and convert them into single clean elbow blocks.

EDIT: There's also

4) Probably change the Herschel-conduit connection to adjust the memory-loop timing. It's not entirely clear yet, but it seems as if the loop should have a length (in ticks) that's 0 mod 8. It will take some careful timing work to stop the NE-traveling Cordership at a precise power-of-two distance, and start the next construction at a precise power-of-two time. But offhand it seems as if that should be possible.

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » January 21st, 2018, 3:41 pm

Experiments posted yesterday on the QGC thread might also apply nicely here.

Quick review: the plan now is to set up a long line of gliders to shoot down a two-engine Cordership, producing at some point a self-constructing spaceship pattern that has nothing but gliders in it, but that moves much slower than c/4. The spaceship might still move diagonally, or just as likely a slightly oblique near-diagonal. But it might equally well move orthogonally in a glide-reflecting zig-zag.

The all-gliders stage will consist of two inline copies of a single-channel recipe, with the initial Cordership cleanup missing at front end of the first recipe -- plus one glider bounced back from a one-time reflector a short distance to the side. That part is all "easy", as these things go.

Presumably the recipe's first business after cleaning up the old Cordership and getting to the all-gliders self-synthesis stage, would be to build and launch another Cordership, so that it has as much time as possible to get far enough away. It has to travel so far that the memory loop can send out two copies of its recipe, then self-destruct completely leaving just a long stream of gliders, by the time the front end of that glider stream reaches the Cordership.

That's also easy, once the memory loop is built, because we can trivially build one-time circuits that open the output channel and then start the self-destruct sequence at the right time, only after the stored recipe has made one or two or more complete circuits around the loop.

The hard part is building a memory loop with the first copy of the recipe, that's big enough to hold the second copy of the recipe. I could use some help thinking through the math on this.
Last September, dvgrn wrote:Might not actually need two Corderships. A suitably delayed *WSS launched from South Corner could meet up with a glider from West Corner (created right after the Cordership destruction) to make a target at North Corner. And a *WSS launched from West Corner after that could meet up with the first glider sent from North Corner toward East Corner, to make a target at East.
The "suitable delay" seems to be the difficult part, but it looks like it should be possible:

Code: Select all

x = 741, y = 695, rule = B3/S23
29bo$28bobo$28b2o4$25bo$24bobo13b2o$25b2o13b2o3$25bo$24bobo$25b2o3$7bo
4bo$6bobo2bobo38b2o$7b2o3b2o18b2o18bobo$32bobo18bo$b2o30bo$obo$bo19b2o
$20bobo$21bo5$39bo$38bobo$39bo$7b2o$7b2o3$34bo$33bobo$34b2o2$15b2o$15b
2o4$18b2o$18bobo$19bo26$72b3o$72bo$73bo162$269b2o$269b2o14b2o4b2o$285b
2o4b2o5$284b2o$284b2o93$362b2o$362bobo$362bo352$738b2o$738bobo$738bo!
#C [[ STEP 50 AUTOFIT  STOP 4000 ]]
I was hoping to be able to get away with a triangular memory loop, using MWSSes on the north-to-south leg. Can anyone come up with a redesign where that might be possible? As it is, you can see from the two examples that no matter how you adjust things, the loop will only ever be almost big enough to hold the gap between the Corderseed Trigger Glider and the *WSS Trigger Glider -- leaving no place to put the Corderseed construction recipe, among other things.

Supposing we need four corners, what's the best way to do that? My first attempt added another 1/4 loop to the length of the required gap, so that's no good -- the four-corner loop is still only just long enough to store the gap:

Code: Select all

x = 2539, y = 2521, rule = B3/S23
29bo$28bobo$28b2o4$25bo$24bobo13b2o$25b2o13b2o3$25bo$24bobo$25b2o3$7bo
4bo$6bobo2bobo38b2o$7b2o3b2o18b2o18bobo$32bobo18bo$b2o30bo$obo$bo19b2o
$20bobo$21bo5$39bo$38bobo$39bo$7b2o$7b2o2$52b2o$34bo16bobo$33bobo16bo$
34b2o2$15b2o12b2o$15b2o12b2o4$18b2o$18bobo$19bo2$35b2o4b2o$35b2o4b2o5$
34b2o$34b2o17$72b3o$72bo$73bo1223$1322b2o$1322bobo$1322bo612$1896b3o$
1896bo$1897bo604$2537bo$2536b2o$2536bobo!
#C [[ STEP 50 AUTOFIT STOP 13000 ]]
But we can save a 1/4-loop length by sending a second *WSS from the West Corner instead of the South Corner:

Code: Select all

x = 2457, y = 2478, rule = B3/S23
bo$obo$obo$bo11b2o$13b2o3$9b2o$9b2o555$544bo$543bobo$543b2o4$540bo$
539bobo13b2o$540b2o13b2o3$540bo$539bobo$540b2o3$522bo4bo$521bobo2bobo
38b2o$522b2o3b2o18b2o18bobo$547bobo18bo$516b2o30bo$515bobo$516bo19b2o$
535bobo$536bo5$554bo$553bobo$554bo$522b2o$522b2o3$549bo$548bobo$549b2o
2$530b2o12b2o$530b2o12b2o4$533b2o$533bobo$534bo2$550b2o4b2o$550b2o4b2o
5$549b2o$549b2o17$587b3o$587bo$588bo1223$1837b2o$1837bobo$1837bo598$
2455b2o$2454b2o$2456bo12$2411b3o$2411bo$2412bo!
#C [[ STEP 50 AUTOFIT STOP 13000 ]]
The 135-degree G-to-LWSS turner can't really be there the whole time, that's just a placeholder in the above pattern. There will be plenty of time to build it out of the leftover block from the initial glider turner reaction. In fact the rest of the West Corner circuitry can be built as well, before it's time to trigger the 135-degree turner.

That looks like it should work okay. If you make the gap big enough, then eventually the remaining space will be big enough that the whole recipe will fit:

Code: Select all

x = 4377, y = 4398, rule = B3/S23
bo$obo$obo$bo11b2o$13b2o3$9b2o$9b2o1035$1024bo$1023bobo$1023b2o4$1020b
o$1019bobo13b2o$1020b2o13b2o3$1020bo$1019bobo$1020b2o3$1002bo4bo$1001b
obo2bobo38b2o$1002b2o3b2o18b2o18bobo$1027bobo18bo$996b2o30bo$995bobo$
996bo19b2o$1015bobo$1016bo5$1034bo$1033bobo$1034bo$1002b2o$1002b2o3$
1029bo$1028bobo$1029b2o2$1010b2o12b2o$1010b2o12b2o4$1013b2o$1013bobo$
1014bo2$1030b2o4b2o$1030b2o4b2o5$1029b2o$1029b2o17$1067b3o$1067bo$
1068bo2183$3277b2o$3277bobo$3277bo1078$4375b2o$4374b2o$4376bo12$4331b
3o$4331bo$4332bo!
#C [[ STEP 50 AUTOFIT STOP 26000 ]]
-- Or is there possibly a way to use the direct LWSS-making reaction instead?

Code: Select all

x = 48, y = 58, rule = B3/S23
19bo$18bobo5bo$24b2ob2o$18b3o2bo3b2o$24b2ob2o$24b4o$38b2o$38b2o6$14b2o
$o9bo3b3o29b2o$4o5bobo2bo31b2o$o3bo5bo3bo2bo$18bo$2b3o10bobo$16b2o24b
2o$41bo2bo$41bo2bo$41bobo$38b4o$37b2o2b2o$36b6o$32b3o2bo2bo$32bob2o$
24bo10bo$23b2o4bobo$22b2o2bo3b2o$5b2o12b3obob2o$5b2o11bob2o3b2o$24bo$
21b3o$21bo$27bo$27bo2$13b2o$13b2o15$41b3o$41bo$42bo!
But... if we make the horizontal *WSS heading for the east corner directly as in that last pattern, then I don't see a good way to pre-build a turner for the glider headed to the north corner -- it will get there too late, at least unless a really slow glider-producing *WSS+G is used at the north corner. There are a lot of combinations to try, but let's say probably that won't work (unless someone is motivated to do the research).

RakeGuy1246
Posts: 56
Joined: June 26th, 2020, 6:02 pm

Re: Challenge: Self-Synthesizing Spaceship

Post by RakeGuy1246 » July 15th, 2020, 5:28 pm

I might have an idea of how to build this, but i'll need a synthesis of a one-use 90-degree reflector (don't ask why).

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Challenge: Self-Synthesizing Spaceship

Post by AforAmpere » July 15th, 2020, 9:33 pm

RakeGuy1246 wrote:
July 15th, 2020, 5:28 pm
I might have an idea of how to build this, but i'll need a synthesis of a one-use 90-degree reflector (don't ask why).
A boat can do the trick:

Code: Select all

x = 42, y = 19, rule = B3/S23
28bobo$29b2o$29bo5$39b2o$39bobo$8b2o29bo$8bobo$9bo5$3o$2bo$bo!
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

User avatar
Entity Valkyrie 2
Posts: 1756
Joined: February 26th, 2019, 7:13 pm
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by Entity Valkyrie 2 » July 15th, 2020, 11:46 pm

AforAmpere wrote:
July 15th, 2020, 9:33 pm
RakeGuy1246 wrote:
July 15th, 2020, 5:28 pm
I might have an idea of how to build this, but i'll need a synthesis of a one-use 90-degree reflector (don't ask why).
A boat can do the trick:

Code: Select all

x = 42, y = 19, rule = B3/S23
28bobo$29b2o$29bo5$39b2o$39bobo$8b2o29bo$8bobo$9bo5$3o$2bo$bo!
Both boat and eater need only two gliders:

Code: Select all

x = 76, y = 32, rule = B3/S23
12bo49bo$13bo49bo$11b3o47b3o7$18bo$17bo$19b2o52bo$19bobo50bo$20bo52b3o
$75bo6$29bo34bo$28b2o34b2o$28bobo32bobo$obobobobo39bobobobobo2$o7bo39b
o7bo$3b2o46b2o$o3b2o2bo39bo3b2o2bo$3bo47bo$o7bo39bo7bo2$obobobobo39bob
obobobo!
Bx222 IS MY WORST ENEMY.

Please click here for my own pages.

My recent rules:
StateInvestigator 3.0
B3-kq4ej5i6ckn7e/S2-i34q6a7
B3-kq4ej5y6c/S2-i34q5e
Move the Box

RakeGuy1246
Posts: 56
Joined: June 26th, 2020, 6:02 pm

Re: Challenge: Self-Synthesizing Spaceship

Post by RakeGuy1246 » July 16th, 2020, 11:54 am

Entity Valkyrie 2 wrote:
July 15th, 2020, 11:46 pm
AforAmpere wrote:
July 15th, 2020, 9:33 pm
RakeGuy1246 wrote:
July 15th, 2020, 5:28 pm
I might have an idea of how to build this, but i'll need a synthesis of a one-use 90-degree reflector (don't ask why).
A boat can do the trick:

Code: Select all

x = 42, y = 19, rule = B3/S23
28bobo$29b2o$29bo5$39b2o$39bobo$8b2o29bo$8bobo$9bo5$3o$2bo$bo!
Both boat and eater need only two gliders:

Code: Select all

x = 76, y = 32, rule = B3/S23
12bo49bo$13bo49bo$11b3o47b3o7$18bo$17bo$19b2o52bo$19bobo50bo$20bo52b3o
$75bo6$29bo34bo$28b2o34b2o$28bobo32bobo$obobobobo39bobobobobo2$o7bo39b
o7bo$3b2o46b2o$o3b2o2bo39bo3b2o2bo$3bo47bo$o7bo39bo7bo2$obobobobo39bob
obobobo!
Thanks. Now as long as I can find a synthesis for either a boat or an eater, which should be easy tbh, I can begin the first part of my idea.

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Challenge: Self-Synthesizing Spaceship

Post by AforAmpere » July 16th, 2020, 1:04 pm

RakeGuy1246 wrote:
July 16th, 2020, 11:54 am
Thanks. Now as long as I can find a synthesis for either a boat or an eater, which should be easy tbh, I can begin the first part of my idea.
We both posted the synths right in what you quoted.
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

RakeGuy1246
Posts: 56
Joined: June 26th, 2020, 6:02 pm

Re: Challenge: Self-Synthesizing Spaceship

Post by RakeGuy1246 » July 18th, 2020, 1:45 pm

AforAmpere wrote:
July 16th, 2020, 1:04 pm
RakeGuy1246 wrote:
July 16th, 2020, 11:54 am
Thanks. Now as long as I can find a synthesis for either a boat or an eater, which should be easy tbh, I can begin the first part of my idea.
We both posted the synths right in what you quoted.
Yeah I figured that out afterward. Any way to use an eater as a one-use 90 degree reflector, though?

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Challenge: Self-Synthesizing Spaceship

Post by AforAmpere » July 18th, 2020, 2:09 pm

RakeGuy1246 wrote:
July 18th, 2020, 1:45 pm
Yeah I figured that out afterward. Any way to use an eater as a one-use 90 degree reflector, though?
Also already posted. Please look at what people post as responses before asking.
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Challenge: Self-Synthesizing Spaceship

Post by dvgrn » April 5th, 2021, 12:58 am

There have been some recent developments relating to self-synthesizing spaceships (SMOS, or specifically SMOG) that haven't found their way into this thread yet. Should probably put a link or two here.

Back in October, EvinZL posted a suggestion for a non-Hashlife-friendly design for a self-synthesizing spaceship. Seemed pretty workable, and there were maybe some options for making a version of the idea that was Hashlife-friendly.

Something else interesting that has showed up is a workable HNE16T14c Spartan merge circuit that can be constructed with 0-degree gliders. So we can basically have a Snarkmaker-equivalent recipe that builds a single-channel-compatible color-preserving reflector, right on the single-channel lane -- but it's a merge circuit, not just a reflector, and it only costs about 50% more. Could substitute pairs of these, or Snarks (because those are both color-preserving where Scorbie Splitters are color-changing), in 3c and 3d below -- if that turns out to help with Hashlife-friendliness.

The simplest plan I can think of for a really Hashlife-friendly self-synthesizing spaceship / SMOS is still basically a loopship design -- last detailed here, I think, but I've altered it a little to make a SMOS instead of an RRO:

1) Start with a two copies of a single-channel recipe, all on one lane except for one offset "ringmaster" glider following along after the first copy of the recipe.
2) This double recipe is aimed at a single pair of 90-degree gliders that collide to make an elbow target.
3) The first copy of the recipe builds
3a) a single crabstretcher seed, immediately triggered, followed by a 0-degree recipe that builds a and triggers a seed for a two-glider synthesis of a block;
3b) a Scorbie Splitter plus new elbow target on the 90-degree output, and an eater on the 0-degree output, then a Speed Demonoid wick, a gap, and the recipe to light the wick;
3c) same as 3b again;
3d) same as 3c again;
3e) same as 3c again, but this time without the elbow block off to the side. No target is needed after this corner is turned.
4) The second copy of the recipe shows up after the last Scorbie Splitter construction is complete, and enters the newly built memory loop.
5) If I'm right, the gaps in #3b-3d can be adjusted to make a memory loop that's big enough to hold the entire second copy of the recipe.
6) The Ringmaster Glider uses one-time splitters and turners to open up the output on the 3b Scorbie Splitter. Copy #1 of the recipe in the memory loop starts to follow the crabstretcher.
7) The Ringmaster Glider makes one trip around the memory-loop ring, then lights the crabstretcher wick, disables the 90-degree output of the Scorbie Splitter, and sends out a new Ringmaster Glider to follow the crabstretcher. Copy #2 of the recipe in the memory loop also starts to head out after the crabstretcher.
8) The Ringmaster Glider makes a second trip around the memory-loop ring, triggering self-destruct circuits at each corner after Copy #2 has passed through them.
9) By the time the crabstretcher wick burns out and the two new copies of the recipe have escaped, the cleanup will be all done.
10) When the seed at the crabstretcher wick burnout location is triggered, for a moment there will be nothing left but gliders.

That's only 10 steps, if I cheat in the numbering a little bit. Anyone want to invent a simpler blueprint than this?

Post Reply