Caterloopillar WIP (all speeds < c/4)

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
User avatar
muzik
Posts: 5612
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Caterloopillar WIP (all speeds < c/4)

Post by muzik » April 10th, 2016, 5:18 pm

new page

I feel like this discovery might demotivate anyone who is looking for a c/8 elementary ship, that's my main problem but not a major one

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

Re: Caterloopillar WIP (all speeds < c/4)

Post by dvgrn » April 10th, 2016, 5:47 pm

Apple Bottom wrote:I've started an entry in the LifeWiki for this, too. Since it's missing a picture, I was wondering - would it be OK to use the one from your initial post above? I think it's a great illustration of how the ship works.
I think I was the one that put that illustration together, and it's fine by me if it ends up in the LifeWiki somehow.

Have been watching the Caterloopillar in action, and it's really impressive how many interlocking problems have been solved and wrapped up in a nice neat package. @simsim314, congratulations on getting past all the construction headaches, and I look forward to the Pick A Speed, Any Speed caterloopillar-building script...! The two-halves-building-each-other design is really a work of art, though somewhat mind-bending to think about. Egbert B. Gebstadter will be very pleased.

I found I could get a good sense of how the top part worked -- the gradual creation of the downward-traveling *WSSes -- by running the pattern in LifeHistory for a few thousand generations, and then scrolling down from the top. It gives a nice overview of how the initial block is pushed far to the right by slow salvos, and then gradually converted into each of the downward *WSSes in turn.

After the halfway point the LifeHistory view gets a little tougher to understand -- the target gets pulled leftward, and then starts getting hit by gliders from the now-complete downward-traveling *WSS groups. So in the lower half, it seems as if the interesting action has always happened just above where you're looking.

User avatar
Kazyan
Posts: 1247
Joined: February 6th, 2014, 11:02 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by Kazyan » April 10th, 2016, 6:18 pm

Oh, so this is what you've been doing, Simkin! I was beginning to think you'd found a different hobby to master. :D Excellent work here--we're increasingly able to build things with less and less low-level justification these days. Previous caterpillars have used an obvious "track" reaction, but this one kind of just...works.
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

User avatar
muzik
Posts: 5612
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Caterloopillar WIP (all speeds < c/4)

Post by muzik » April 10th, 2016, 6:26 pm

Can we name the first caterloopillar "Caterloopillar 1"?

User avatar
calcyman
Moderator
Posts: 2932
Joined: June 1st, 2009, 4:32 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by calcyman » April 10th, 2016, 6:45 pm

muzik wrote:Can we name the first caterloopillar "Caterloopillar 1"?
...or c8rloopillar.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
muzik
Posts: 5612
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Caterloopillar WIP (all speeds < c/4)

Post by muzik » April 10th, 2016, 6:51 pm

calcyman wrote:
muzik wrote:Can we name the first caterloopillar "Caterloopillar 1"?
...or c8rloopillar.
gr8 b8 m8 I r8 c/8

But in all seriousness, naming it Caterloopillar 1 would probably help distinguish it from other potential ships with this technology (see how Gemini ships are numbered?)

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 10th, 2016, 6:56 pm

dvgrn wrote: @simsim314, congratulations on getting past all the construction headaches, and I look forward to the Pick A Speed, Any Speed caterloopillar-building script...!
Thanks, me too! Still much work ahead. And thanks for the help of course, and the clarification efforts.
dvgrn wrote: So in the lower half, it seems as if the interesting action has always happened just above where you're looking.
I find it pretty intuitive in both directions, yet admittedly it's somewhat confusing.

To gain some intuition I would suggest to do the following exercise:

look at the recipes in action from the first block in the middle, ignoring the passing forward *WSSs which are just confusing. Focus on single "target", and let the caterloopillar pass, and just observe the slow salvo construction being applied. There is no magic trick - it's just recipes applied one after another, and you don't miss any action if you were watching from the beginning. I find it simpler to just run without LifeHistory, following the target visually.

The single not intuitive thing I can relate to is the presence of *WSS coming from below, which are obviously the result of the recipes applied. I know it looks a bit like back in time, but on the other hand - this is why we use edge shooters in the first place. This kind of design pattern is not new for slow salvo applied in spaceships, I'm sure I saw this before.

User avatar
muzik
Posts: 5612
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Caterloopillar WIP (all speeds < c/4)

Post by muzik » April 10th, 2016, 7:07 pm

Can someone put this discovery on the front page as well?

User avatar
gameoflifeboy
Posts: 474
Joined: January 15th, 2015, 2:08 am

Re: Caterloopillar WIP (all speeds < c/4)

Post by gameoflifeboy » April 10th, 2016, 7:07 pm

muzik wrote:Can we name the first caterloopillar "Caterloopillar 1"?
I'd prefer something more descriptive, like "C/8 caterloopillar". Like how the p43 Snark glider loop was called "P43 glider loop".

But I don't think separate pages should be made for the C/8 and the spaceship family. Caterloopillar could be a definition page instead of a pattern page, but give a download link to the C/8 spaceship. Or we could take the Gemini route, giving the name "caterloopillar" to the C/8 ship specifically, and mentioning it being part of an infinite family on the same page.

Sokwe
Moderator
Posts: 2643
Joined: July 9th, 2009, 2:44 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by Sokwe » April 10th, 2016, 7:23 pm

Congratulations on this stunning accomplishment!
muzik wrote:I feel like this discovery might demotivate anyone who is looking for a c/8 elementary ship.
I, for one, won't be demotivated. Low-period spaceships are my favorite area of study in Life.

I'm wondering how we should present these results on the status page. Obviously, this gives versatile puffers for (1,0)c/6 and (1,0)c/7, but should we add any new speeds to the list? If so, how many?
-Matthias Merzenich

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 10th, 2016, 7:24 pm

Kazyan wrote:Oh, so this is what you've been doing, Simkin! I was beginning to think you'd found a different hobby to master. Excellent work here
Actually I took some break from CGOL, following only the "big news".
Kazyan wrote:we're increasingly able to build things with less and less low-level justification these days. Previous caterpillars have used an obvious "track" reaction, but this one kind of just...works.
Yes the basic idea is pretty old - attributed to David Bell, who realized that *WSS salvo applied to gliders can action as "core". He thought using gliders bouncing between *WSS salvos to adjust the speed.

Yet the low level thing was the slow salvo *WSS edge shooters, which took about a week of CPU time on 8 cores server. Also Alexey Nigin brought up the strange loop design in the discussions, which cut significantly the design size.

All in all I think it was a combination of simple realizations, low level mining, and design ingenuity.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 10th, 2016, 7:37 pm

Sokwe wrote:Congratulations on this stunning accomplishment!
Thanks!
Sokwe wrote:I'm wondering how we should present these results on the status page.
I would limit for now the result to c/8. We don't have any finished c/6 or c/7 caterloopillars yet. We only have proof of concept, not a "final product".

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 10th, 2016, 7:48 pm

I find the C/8 Caterloopillar as most descriptive.

I also don't think we should have Caterloopillar family page just yet - lets wait for multiple designs to justify them as family. For now at least we should name them with speed prefix/postfix to distinguish ships.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 10th, 2016, 8:00 pm

I've measured the heat to be 236,252.77 using this script:

Code: Select all

import golly as g 

period = 2000
cells = g.getcells(g.getrect())

totalPop = 0.0

for i in xrange(period):
	
	g.run(1)
	new_cells = g.getcells(g.getrect())
	g.putcells(cells, 0, 0, 0, 0, 0, 0, "xor")
	totalPop += int(g.getpop())
	g.new("")
	g.putcells(new_cells)
	cells = new_cells
	g.show(str(i) + "," + str(totalPop / (i + 1)))
	
g.show(str(totalPop / period))

User avatar
codeholic
Moderator
Posts: 1147
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

Re: Caterloopillar WIP (all speeds < c/4)

Post by codeholic » April 11th, 2016, 12:55 am

Sokwe wrote:I'm wondering how we should present these results on the status page. Obviously, this gives versatile puffers for (1,0)c/6 and (1,0)c/7, but should we add any new speeds to the list? If so, how many?
I think time has come to differentiate between elementary and macro-spaceships and puffers on the status page, on the pages for certain speeds and in the spaceship article. Since status for versatile puffers repeats the column for puffers, I suggest to differentiate between them with color (yellow means no versatile puffer).
Ivan Fomichev

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 11th, 2016, 3:42 am

Bringing back the topic of c/2. HartmutHolzwart has found a way to destroy puffer with its own fuse a while back.

This allows the following flow which is only limited by c/2:

1. SL->Glider.
2. Glider->c/2 puffer using *WSS salvos fanouts and timing adjustments.
3. On the back side of the reading head will be two rakes that ignite the fuse, which destroys the puffer.
4. Cleaning the mess and shooting output glider.
5. Converting the output glider back to SL.

EDIT While off topic - talking about oblique direction we could have slow salvo constructor to generate *WSS and glider salvo seeds and shoot them in correct timing, to fit know recipes. Slow salvo is not limited to firing single *WSS at a time, it could build pretty complex seeds, the only problem it has, is that the longer the recipe is - the more far away from the "core" the other direction "core" can be constructed.

EDIT2 More thoughts about oblique direction - I think in our case, it's better not to use the standard recipes, as the "pyramid" created using them will explode exponentially by number of *WSS. Instead we can use dried slow salvo seeds to activate the whole reading head by single glider. This approach will allow us to have linear or quadratic construction time (but not exponential). Having ~100-200 dried seeds is definitely something doable, it's maybe 10-20 times larger than the orthogonal case, but having 5M cells instead of 250K is still well in reasonable range.

Anyone wants to try and generate dried salvo for the reading heads?

User avatar
muzik
Posts: 5612
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Caterloopillar WIP (all speeds < c/4)

Post by muzik » April 11th, 2016, 10:09 am

So a catterloopilar can simulate any orthogonal speed? Nice!



In that case, could a CLP-based 17c/45 ship smaller than the original caterpillar exist?

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

Re: Caterloopillar WIP (all speeds < c/4)

Post by dvgrn » April 11th, 2016, 11:12 am

muzik wrote:So a catterloopilar can simulate any orthogonal speed? Nice!

In that case, could a CLP-based 17c/45 ship smaller than the original caterpillar exist?
Any rational orthogonal speed less than c/4, yes.

17c/45 is greater than c/4, so the fastest Caterloopillar can't keep up with the original Caterpillar.

HartmutHolzwart
Posts: 840
Joined: June 27th, 2009, 10:58 am
Location: Germany

Re: Caterloopillar WIP (all speeds < c/4)

Post by HartmutHolzwart » April 11th, 2016, 11:22 am

Bringing back the topic of c/2. HartmutHolzwart has found a way to destroy puffer with its own fuse a while back.

This allows the following flow which is only limited by c/2:

1. SL->Glider.
2. Glider->c/2 puffer using *WSS salvos fanouts and timing adjustments.
3. On the back side of the reading head will be two rakes that ignite the fuse, which destroys the puffer.
4. Cleaning the mess and shooting output glider.
5. Converting the output glider back to SL.
Currently, this is more a basic idea than a concrete implementation. The first step would be to optimize the blinker puffer eating reaction, searching for a version that is less messy than my proof of concept (just the first thing that happened to work). Then we would need a seed for the blinker puffer + convoy that can be built by the downstream helix.

Still some way to go...

Whether the result will really be smaller than the original caterpillar is still to be proved. At least this method would be much more generic and applicable for a variety of speeds.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 11th, 2016, 11:25 am

muzik wrote:So a catterloopilar can simulate any orthogonal speed? Nice!
Not "any" speed, but it's not limited by c/4.
muzik wrote:In that case, could a CLP-based 17c/45 ship smaller than the original caterpillar exist?
It's not necessary valid speed for the design. But due to the fact that 17 and 45 are odd, my guess is that caterloopillar can be built for this speed.

A rough estimation of the size should be around 200 *WSS which is ~10 times larger than the current c/8 - i.e. 2.5M active cells, still well below the original Caterpillar.

Notice the design is also capable of creating "universal helix", using the same basic flow.
dvgrn wrote:Any rational orthogonal speed less than c/4, yes.
muzik probably refers to my previous post regarding higher speed designs.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 11th, 2016, 11:37 am

HartmutHolzwart wrote: The first step would be to optimize the blinker puffer eating reaction, searching for a version that is less messy than my proof of concept (just the first thing that happened to work).
It's true that maybe another placement of *WSS is valid - but notice the search space there is pretty limited. I might run two *WSS search later on.

The reaction is not that messy - if you acknowledge we can add *WSS sparks to clean and modify it. The most complex part in the design, is the construction of G->puffer using *WSS salvos.
HartmutHolzwart wrote:Whether the result will really be smaller than the original caterpillar is still to be proved.
My estimation of 100-200 *WSS might be optimistic, but in order to get to Caterpillar size we will need ~800 *WSS (and noticing that the main problems is only in forward case we can use as much as ~1600 *WSS).

EDIT Have found that with single *WSS this puffer can be destroyed only in three ways, all of them use the same puffer but vary in ignition delay:

Code: Select all

x = 1072, y = 69, rule = B3/S23
37bo4b3o492bo4b3o492bo4b3o$36b3o3bo2bo490b3o3bo2bo490b3o3bo2bo$29b3o3b
2obo3bo486b3o3b2obo3bo486b3o3b2obo3bo$29bo2bo2b3o4bo3bo482bo2bo2b3o4bo
3bo482bo2bo2b3o4bo3bo$29bo5b3o4bo486bo5b3o4bo486bo5b3o4bo$29bo3bob3o5b
obo483bo3bob3o5bobo483bo3bob3o5bobo$29bo3bob2o492bo3bob2o492bo3bob2o$
29bo6b2o491bo6b2o491bo6b2o$30bobo8b3o486bobo8b3o486bobo8b3o$41bo2bo
496bo2bo496bo2bo$36bo4bo494bo4bo494bo4bo$36bo4bo3bo490bo4bo3bo490bo4bo
3bo$36bo4bo3bo490bo4bo3bo490bo4bo3bo$41bo499bo499bo$36bo5bobo491bo5bob
o491bo5bobo$36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$36bo499bo
499bo$36bo499bo499bo2$36bo499bo499bo$36bo499bo499bo$36bo499bo499bo2$
36bo499bo499bo$36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$36bo499bo
499bo$36bo499bo499bo2$36bo499bo499bo$o35bo35bo463bo499bo$b2o33bo33b2o
428bobo33bo33bobo428bo34bo34bo$2o69b2o428b2o67b2o430b2o65b2o$36bo464bo
34bo34bo429b2o33bo33b2o$36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$
36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$36bo499bo499bo$36bo499bo
499bo2$36bo499bo499bo$36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$
36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$36bo499bo499bo$36bo499bo
499bo2$36bo499bo499bo$36bo499bo499bo$36bo499bo499bo2$36bo499bo499bo$
36bo499bo499bo$36bo499bo499bo!
As the cleaning is much simpler then conversion of G->puffer, I think searching 2 *WSS is waste of effort - we just need now find a cheap way to clean the mess in one of the 3 ignition timings.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 11th, 2016, 5:56 pm

I've pushed to GitHub all relevant code and data for caterloopillar generation.

I didn't changed the paths, which still point to my local dir names, so you can't use the code out of the box.
But at least all the data and the code is now somewhat centralized in single place.

To run it all together, you'll need to go through the code and change the paths to point to the Data folder. Also I placed the python scripts into golly python folder to allow "import".

I would start from making the forward c/8 caterloopilllar code to run. I think that replacing this line with Caterloopillar/Data folder should be enough, but I might be missing something.

All in all the code is generally well divided and logically named, so except the local env. mess the code is in good shape.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 12th, 2016, 5:32 am

I've an oblique ship design idea for an adjustable speed, that requires only one direction.

As I said before - for oblique design it's probably most efficient to dry the reading heads and activate all the *WSS armada by single glider.

So the idea is to build an upward reading head, that will shoot a slow salvo - that in the final stage creates just another upwards reading head. See attached image.
Attachments
Oblique Readin Head.png
Oblique Readin Head.png (6.32 KiB) Viewed 22079 times
Oblique direction.png
Oblique direction.png (19.86 KiB) Viewed 22079 times
Last edited by simsim314 on April 12th, 2016, 6:20 am, edited 1 time in total.

User avatar
muzik
Posts: 5612
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Caterloopillar WIP (all speeds < c/4)

Post by muzik » April 12th, 2016, 6:08 am

Could that also work with diagonal ships?

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Caterloopillar WIP (all speeds < c/4)

Post by simsim314 » April 12th, 2016, 7:39 am

muzik wrote:Could that also work with diagonal ships?
The slope of the design is between 0 and 180, horizontal, diagonal, or knight direction is straightforward. But the speed limitation might be dependent on the slope i.e. very steep slopes might not work for high speeds, yet I'm not really sure if there is some major limitation for extreme slopes, as we can limit our angle to be inside [0, 45] degrees interval.

Post Reply