## Challenge: Self-Synthesizing Spaceship

### Challenge: Self-Synthesizing Spaceship

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.

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.

### Re: Challenge: Self-Synthesizing Spaceship

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

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:

Alternatively ...

Diamond Loops

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.

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!

*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.

**two or more simultaneous Cordership seeds, and slightly painful synchronization problems making a target in the north corner.***Downside:***Hashlife will love the diamond-shaped memory loop, so this spaceship will run relatively fast in Golly.***Big upside:*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!

### Re: Challenge: Self-Synthesizing Spaceship

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.

### Re: Challenge: Self-Synthesizing Spaceship

Well... I probably don't entirely understand the suggestion, but yes, the plan is something along those lines.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.

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.

### Re: Challenge: Self-Synthesizing Spaceship

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.Well... I probably don't entirely understand the suggestion, but yes, the plan is something along those lines.

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.

### Re: Challenge: Self-Synthesizing Spaceship

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.

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.

### Re: Challenge: Self-Synthesizing Spaceship

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)?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.

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:

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?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.

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.)

### Re: Challenge: Self-Synthesizing Spaceship

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?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.

-- 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.

### Re: Challenge: Self-Synthesizing Spaceship

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!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

### Re: Challenge: Self-Synthesizing Spaceship

.

.

.

.

.

.

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:

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.

.

.

**EDIT: see the Wait, wait! post farther down the thread.**.

.

.

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.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!

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:

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.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.

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.

### Re: Challenge: Self-Synthesizing Spaceship

I wrote out a huge post and then realised right at the end that it wasn't going to work. I'll put it below in quote form:

Perhaps we can fix this by also delaying the Instruction gliders

... but of course that calculation is wrong, because the Cordership only travels at 1/3 the speed of a glider. So we haveMacbi wrote:I think I agree, but just to be clear: I think the two copies of the recipe aren'tdvgrn 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.exactlythe 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".

Yeah I agree that tubstretchers would be costly. I only mentioned them becausedvgrn 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.

I've now realised that a Cordership design can work. In fact if we use

- I thought it would be neat to make an adjustable-speed spaceship that went very fast.
- 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.

then I think it should all work fairly easily. Let me describe a blueprint.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?

Just before the Critical Moment, we have the following situation:

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.

- 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 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

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

- 3C/2 > L + G + L

- C = L + G

- 3C = L + G

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?### Re: Challenge: Self-Synthesizing Spaceship

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.Macbi wrote:I think the two copies of the recipe aren'texactlythe 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".

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.

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.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...

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.

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:... but of course that calculation is wrong, because the Cordership only travels at 1/3 the speed of a glider. So we have

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.

- 3C = L + G

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.Macbi wrote:Perhaps we can fix this by also delaying the Instruction glidersbeforethey 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?

... 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).

### Re: Challenge: Self-Synthesizing Spaceship

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.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).

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!
```

... 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.)

### Re: Challenge: Self-Synthesizing Spaceship

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).

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

-- 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...!

Wait, wait! Now I think I was right the first time...dvgrn wrote: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.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!

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.

-- 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...!

### Re: Challenge: Self-Synthesizing Spaceship

I think it's good. The difficulty was whether N was a time or a distance. If the gap has length NCan somebody please triple-check my math, because clearly I'm not very good at it?

*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.

### Re: Challenge: Self-Synthesizing Spaceship

Okay, on to the next step. I think the following pattern, with a few additions, might be a workable quadratic replicator:Macbi wrote:I think it's good. The difficulty was whether N was a time or a distance. If the gap has length Ncellsthen 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.

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!
```

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.

### Re: Challenge: Self-Synthesizing Spaceship

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.

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:

But we can save a 1/4-loop length by sending a second *WSS from the West Corner instead of the South Corner:

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:

-- Or is there possibly a way to use the direct LWSS-making reaction instead?

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).

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.

The "suitable delay" seems to be the difficult part, but it looks like it should be possible: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.

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 ]]
```

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 ]]
```

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 ]]
```

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 ]]
```

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!
```