Page 1 of 4

Caterpillar's little brother research

Posted: December 8th, 2013, 12:38 pm
by codeholic
This topic started here, but probably it deserves a separate thread, especially after I've found a p225 (x5) 17c/45 helix!

Code: Select all

x = 74, y = 66, rule = B3/S23
20b3o$20bo2bo4bo5b3o$20bo6b3o4bo2bo4bo5b3o$15b2o3bo5b2obo4bo6b3o4bo2bo
4bo$16b2o3bobo2b3o5bo5b2obo4bo6b3o$15bo10b3o6bobo2b3o5bo5b2obo$26b3o
11b3o6bobo2b3o$27b2o11b3o11b3o$41b2o11b3o$55b2o10bo$66b3o$65b2obo$65b
3o$52bo13b2o$38bo12b3o$24bo12b3o4b3o3b2obo5b3o$23b3o4b3o3b2obo3bo2bo3b
3o5bo2bo$16b3o3b2obo3bo2bo3b3o7bo4b2o8bo$15bo2bo3b3o7bo4b2o3bo3bo14bo$
6bo11bo4b2o3bo3bo9bo3bo11bobo$5b3o6bo3bo9bo3bo13bo$4b2obo6bo3bo13bo10b
obo25b3o$4b3o11bo10bobo38bo2bo$4b3o8bobo55bo$5b2o66bo$70bobo2$13bo7bo$
12b3o5b3o12bo$12bob2o4bob2o3b3o4b3o12bo$13b3o5b3o3bo2bo3bob2o3b3o4b3o$
13b2o6b2o4bo7b3o3bo2bo3bob2o3b3o$2bo24bo3bo3b2o4bo7b3o3bo2bo$b3o23bo3b
o9bo3bo3b2o4bo$2obo23bo13bo3bo9bo3bo$3o25bobo10bo13bo3bo$3o39bobo10bo$
b2o53bobo7b3o$66bo2bo$66bo$66bo$51b3o13bobo$37b3o5bo5bo2bo5bo$23b3o5bo
5bo2bo3b3o4bo7b3o$17bo5bo2bo3b3o4bo5b2obo4bo6b2obo$16b3o4bo5b2obo4bo5b
3o6bobo3b3o$15b2obo4bo5b3o6bobo2b3o13b2o$5b3o7b3o6bobo2b3o11b3o$5bo2bo
6b3o11b3o12b2o26bo$5bo9b3o12b2o39b3o$5bo3bo6b2o52b2obo$5bo64b3o$6bobo
62b2o3$12b3o$11bo2bo$14bo$14bo$11bobo$b3o$bo2bo$bo$bo3bo$bo$2bobo!

Re: Caterpillar's little brother research

Posted: December 8th, 2013, 1:21 pm
by Extrementhusiast
Why not call it the "Centipede"?

Re: Caterpillar's little brother research

Posted: December 8th, 2013, 1:32 pm
by towerator
Or maybe "worm"?
"C. elegans?"
"protura"?
"ant"?

Re: Caterpillar's little brother research

Posted: December 8th, 2013, 2:48 pm
by Sphenocorona
'Ant' would probably be a bad choice as there is already something called 'Ants'.
If a smaller caterpillar-esque pattern is discovered than 'centipede' then smaller ones could be referred to as 'millipedes'?

Re: Caterpillar's little brother research

Posted: December 14th, 2013, 2:46 am
by David
How about 'Larva'?

Re: Caterpillar's little brother research

Posted: December 14th, 2013, 5:37 am
by Freywa
Caterpillar's real namesake is the brand of heavy machines (i.e. excavators and cranes), all instances of which rely on tank treads to move around. Thus this smaller version could be called the conveyor belt or something similar.

Re: Caterpillar's little brother research

Posted: December 20th, 2013, 11:06 am
by HartmutHolzwart
Besides discussion on naming, has there been any recent progress on constructing a smaller caterpillar?

Anybody looking at how to modify robocat? Would it be an option to redo it as a python script for Golly?


On a different issue: Would it now be realistic to build a catterpillar gun? The idea would be to seed the blinker trails first, then feed appropriate pis to the trails as needed. Maybe you'd also need to seed parts of the helix and some of the rest, but ideally, the pis would build it on their own as they do in the complete ship. Nearly every single part can be built by two gliders coming from two universal constructur arms (at least in my simplistic view). Anybody of the construction experts giving that idea a closer look?

Thanks in advance for your insights!

Hartmut

Re: Caterpillar's little brother research

Posted: December 20th, 2013, 11:49 am
by dvgrn
HartmutHolzwart wrote:Anybody looking at how to modify robocat? Would it be an option to redo it as a python script for Golly?
Not yet. It's certainly a possibility, but because of the hard-coded constants littered all around, rewriting the whole thing from scratch might well be an easier job than attempting to reverse-engineer the current code.

In point of fact, I've wanted to tackle this ever since the Caterpillar appeared, to produce an efficient high-level description of the Caterpillar -- a Golly script that could at least construct the current Caterpillar from its component pieces, even if it wasn't up to the task of constructing a new variant Caterpillar with an arbitrary helix.
HartmutHolzwart wrote:On a different issue: Would it now be realistic to build a caterpillar gun?
Not really any more realistic than it was before, no. There doesn't seem to be any particular reason to limit a caterpillar gun to the Spartan pieces needed by a self-constructing U.C., nor to come up with all the migraine-inducing "seed" recipes you'd need to synchronize the active parts of the construction. That would just add yet another layer of complexity.

For example, at some point you have to build thousands of pi climbers at the bottom end of the blinker trails, one right after the other, or maybe several simultaneously -- can't do that directly with a slow salvo, or even a Gemini-style slow glider-pair recipe... So I would think it ought to be much, much easier to make a caterpillar gun out of many copies of, say, a period 2^20 edge-shooting gun.
HartmutHolzwart wrote:The idea would be to seed the blinker trails first, then feed appropriate pis to the trails as needed. Maybe you'd also need to seed parts of the helix and some of the rest, but ideally, the pis would build it on their own as they do in the complete ship. Nearly every single part can be built by two gliders coming from two universal constructor arms (at least in my simplistic view). Anybody of the construction experts giving that idea a closer look?
Well, here's what I wrote in 2005, in response to a similar suggestion from Paul Chapman (though I'm pretty sure he was joking -- I definitely was, especially in the last paragraph):

Actually I think I'd implement it as a glider-to-caterpillar converter -- then I could hook up any period gun I wanted. Unfortunately the "easy" way to build a caterpillar doesn't allow me to use a gun anywhere near the theoretical minimum period: you start out by building the blinker trails, see, and then put the pi climbers in at the bottom of the trails in all the right places -- and then you let the pi climbers generate their gliders and start building the LWSSes and so forth. Which means you have to have a whole bunch of pre-built junk sitting in the right places to suppress the early gliders until the blinker columns are fully populated...

Then your troubles are almost over -- you just have to build blinker trails that are much longer than the final caterpillar, to allow for the extra startup time required by the suppressing junk. And there may be a few unpleasant surprises somewhere with closing the cycle at the tail, or more likely at the head, where you actually have to send in artificial Life support in the form of gliders until the loop becomes self-sustaining (instead of relying on pre-built suppressing junk). But I think that would be a relatively minor problem...

-- I wonder if the blinker trails could be built with a series of slide guns? Come to think of it, if the extra leading blinkers could be constructed in series, just before they're needed, that might bring the minimum repeat time down to around a million generations -- how about p1048576?

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

... What an utterly ridiculous line of speculation.... I should be thinking about useful stuff, like the potential density of caterpillars in infinite sparse random Life universes. The question is, would most of them spring full-grown from the forehead of Zeus -- would you be able to recognize most of them by generation 100, let's say -- or would more of them come into existence later through random glider collisions?

Besides the utter impracticality (which is never really much of a problem for me) my biggest complaint would probably be that a plain old Caterpillar still runs pretty slowly in Golly. (You can try it out a little more easily in Golly 2.6, by the way -- there's a direct link now in the "Very Large Patterns" collection under Help > Online Archives.) So as a rough estimate, a Caterpillar gun would probably be even more boring to watch than a Gemini gun...!

Re: Caterpillar's little brother research

Posted: December 20th, 2013, 12:48 pm
by towerator
Definitely, the "lepidoptera" (caterpillar gun?) would be painfully slow, and would be based on something like the p90000000 oscillator JS found.

Re: Caterpillar's little brother research

Posted: December 20th, 2013, 1:44 pm
by dvgrn
towerator wrote:Definitely, the "lepidoptera" (caterpillar gun?) would be painfully slow, and would be based on something like the p90000000 oscillator JS found.
We do have lots of really small power-of-two guns now, which Hashlife would like much better -- just start with a P256 Herschel circuit and add a long compact string of semi-Snarks. It takes a mere dozen of them to reach p1048576.

To get an edge-shooter, just run the final output glider through a p8 G-to-H-to-G converter, and you have an incredibly flexible high-period tool to make whatever kind of crazy guns you might want.

I don't know what the hashtile memory use would look like for a period 2^20 Caterpillar gun, but it seems possible that with a modern machine and enough memory, Golly could actually run away with it eventually.

-- But of course the gun is going to be a harder project than the simple glider construction, which should probably come first. So... if someone will just post a complete glider construction of a Caterpillar, I'll happily work on turning that into a gun (!)

Re: Caterpillar's little brother research

Posted: December 20th, 2013, 5:39 pm
by towerator
Remember, the caterpillar is more than 14 millions cells. To my opinion, the caterpillar's synthesis may involve at least 50 millions gliders. this is very rought, considering pis are cheap, but blinkers are millions.

Re: Caterpillar's little brother research

Posted: December 20th, 2013, 9:13 pm
by dvgrn
towerator wrote:Remember, the caterpillar is more than 14 millions cells. To my opinion, the caterpillar's synthesis may involve at least 50 millions gliders.
Yes, that seems about the right level of craziness. I figure I'm pretty safe as long as I demand a complete glider synthesis before I have to do anything!

If worst comes to worst, I'd find it pretty interesting to write a script that automatically builds a high-period gun for an arbitrary salvo of gliders. That doesn't seem impossibly hard, though it might require inventing a few new types of edge shooters or something. Once that was in working order, I'd just have to run it on the four input streams to get a workable Caterpillar gun.

Re: Caterpillar's little brother research

Posted: December 21st, 2013, 3:30 pm
by alex79
Maybe the gun could be called a "butterfly" because it creates caterpillars. And how will such a large gun be viewed?

Re: Caterpillar's little brother research

Posted: December 27th, 2013, 8:51 am
by HartmutHolzwart
Although I admit that a caterpillar gun is out of reach with the current design, let me post a few questions:

1) With respect to the recent progress in glider construction: Is there some room of improvement in the one-sided construction of the helix, e.g. by seeding some still lifes first and thus avoiding a few kickback reactions?

As the clean up with gliders later on is relatively cheap, any left over junk would pose a minor issue.

2) Would it be possible to make the design shorter through the use of more blinker trails? Or through the use of other technology with different spacing that was originally invented but later on not used in the actual construction?

3) How much could be gained through the use of an x5 helix?

4) It seems evident that one would need a new more flexible robocat! Any volunteers? What would be the basis C++ or some scripting language like Python? Could this tool be designed to help with other similar constructions as well?

More questions than answers so far. Feel free to add other maybe more relevant ones. And answers as well.

Re: Caterpillar's little brother research

Posted: January 12th, 2014, 1:28 pm
by HartmutHolzwart
Here is an approach to make codeholic's HWSS synthesis usable for a caterpillar recipe:

Code: Select all

x = 1093, y = 1577, rule = B3/S23
229$739bobo$740b2o$740bo94$668b2o$667bobo$669bo33$735b3o$737bo$736bo
35$801bo$801bobo$801b2o17$749bobo$750b2o$750bo95$839bobo$840b2o$840bo
27$709b2o$708bobo$710bo4$590bobo$591b2o$591bo9$585bobo$586b2o$586bo5$
734bo$733bo$733b3o9$776b3o$778bo$777bo21$484b2o$483bobo$485bo9$844b2o$
843bobo$845bo22$551b3o$553bo$552bo10$873b2o$872b2o$874bo20$619b2o$618b
obo$620bo10$806bo$805b2o$805bobo21$686b3o$688bo$687bo10$738b2o$658bo
78b2o$659b2o78bo$658b2o9$653bo$654b2o$653b2o3$926b3o$926bo2bo$926bo$
666bo259bo3bo$666bobo257bo3bo$666b2o86b2o170bo$753bobo171bobo$755bo10$
671bo$670b2o$670bobo3$884bobo$885b2o$885bo9$926b3o$925bo2bo$928bo$924b
o3bo$924bo3bo$928bo$925bobo$821b3o$823bo$822bo24$926b3o$926bo2bo$926bo
$926bo3bo$926bo3bo$526b2o398bo$525bobo399bobo$527bo$889b2o$888bobo$
890bo23$926b3o$925bo2bo$928bo$924bo3bo$924bo3bo$928bo$925bobo$593b3o$
595bo$594bo2$872b2o$871b2o$873bo20$926b3o$926bo2bo$926bo$926bo3bo$926b
o3bo$926bo$927bobo2$661b2o$660bobo$662bo2$805bo$804b2o$804bobo8$725bob
o$726b2o$726bo9$720bobo203b3o$721b2o202bo2bo$721bo206bo$924bo3bo$924bo
3bo$928bo$721bo203bobo$722b2o$721b2o2$728b3o$730bo$729bo2$737b2o$736b
2o$738bo17$926b3o$926bo2bo$926bo$926bo3bo$926bo3bo$926bo$927bobo27$
926b3o$925bo2bo$928bo$924bo3bo$924bo3bo$928bo$925bobo27$926b3o$926bo2b
o$926bo$926bo3bo$926bo3bo$926bo$927bobo27$926b3o$925bo2bo$928bo$924bo
3bo$924bo3bo$928bo$925bobo20$793bo$794b2o$793b2o5$926b3o$926bo2bo$926b
o$926bo3bo$788bo137bo3bo$789b2o135bo$788b2o137bobo3$794bobo$795b2o$
788bobo4bo$789b2o$789bo20$926b3o$925bo2bo$928bo$924bo3bo$924bo3bo$928b
o$925bobo27$926b3o$926bo2bo$926bo$926bo3bo$926bo3bo$926bo$927bobo27$
926b3o$925bo2bo$928bo$924bo3bo$924bo3bo$928bo$925bobo19$522b3o$524bo$
523bo6$926b3o$926bo2bo$926bo$926bo3bo$926bo3bo$926bo$927bobo20$590b2o$
589bobo$591bo3$860bobo$861b2o$861bo64b3o$925bo2bo$928bo$924bo3bo$924bo
3bo$928bo$925bobo3$855bobo$856b2o$856bo2$862bo$863b2o$856bo5b2o$857b2o
$856b2o11$657b3o$659bo$658bo3$926b3o$926bo2bo$926bo$926bo3bo$926bo3bo$
926bo$927bobo23$725b2o$724bobo$726bo2$926b3o$925bo2bo$928bo$924bo3bo$
924bo3bo$928bo$925bobo25$792b3o$794bo$793bo132b3o$926bo2bo$926bo$926bo
3bo$926bo3bo$926bo$927bobo26$860b2o$859bobo64b3o$861bo63bo2bo$928bo$
924bo3bo$924bo3bo$928bo$925bobo27$926b3o$926bo2bo$926bo$926bo3bo$926bo
$926bo2bo$927bo3$920b2o$918bobo$919bo!
I'd appreciate some help from the specialists to make this more evenly spaced, so that it could actually be used in a new version of robocat.

Re: Caterpillar's little brother research

Posted: January 12th, 2014, 5:01 pm
by HartmutHolzwart
There are a few synthesis problems with codeholics x6 helix that need to be solved. One is between the last ships 50 and 51

Code: Select all

x = 49, y = 181, rule = B3/S23
11$40b3o$39bo2bo$42bo$38bo3bo$42bo$39bobo5$38b3o$37bo2bo$40bo$36bo3bo$
36bo3bo$40bo$37bobo17$40b3o$40bo2bo$40bo$40bo3bo$40bo$41bobo5$38b3o$
38bo2bo$38bo$38bo3bo$38bo3bo$38bo$39bobo17$40b3o$39bo2bo$42bo$38bo3bo$
42bo$39bobo5$38b3o$37bo2bo$40bo$36bo3bo$36bo3bo$40bo$37bobo17$40b3o$
40bo2bo$40bo$40bo3bo$40bo$41bobo5$38b3o$38bo2bo$38bo$38bo3bo$38bo3bo$
38bo$39bobo17$40b3o$39bo2bo$42bo$38bo3bo$42bo$39bobo5$38b3o$37bo2bo$
40bo$36bo3bo$36bo3bo$40bo$37bobo!
I don't see how this can be synthesized one-sided.

Could someone help me out?

Thanks in advance,
Hartmut

Re: Caterpillar's little brother research

Posted: January 12th, 2014, 7:57 pm
by dvgrn
HartmutHolzwart wrote:Here is an approach to make codeholic's HWSS synthesis usable for a caterpillar recipe...I'd appreciate some help from the specialists to make this more evenly spaced.
I'm definitely not a specialist in Caterpillar design, though I'm finally starting to almost understand the mathematics of glider kickbacks, at least.

Here's a tangential idea from the 31c/240 caterpillar thread. If you're going to think about recompiling the Caterpillar anyway with big pieces redesigned, does it make sense to build *WSSes with using small seed constellations constructed with slow unidirectional salvos?

For example, it might take about a dozen 6x backward rakes to convert a single piece of junk into a beacon and blinker, or an eater and blinker. A final trigger glider will throw an HWSS onto the output lane:

Code: Select all

x = 391, y = 356, rule = B3/S23
2bo$obo$b2o7$250bo$248bobo$249b2o115$137b2o$137b2o$139b2o$139b2o6$389b
2o$389bo$387bobo$387b2o2$142bo$142bo$142bo7$390bo$390bo$390bo18$69bo$
70bo$68b3o7$317bo$318bo$316b3o48$137b2o$137b2o$139b2o$139b2o6$389b2o$
389bo$387bobo$387b2o2$142bo$142bo$142bo7$390bo$390bo$390bo77$137b2o$
137b2o$139b2o$139b2o6$137bo251b2o$135bobo251bo$136b2o249bobo$387b2o2$
142bo$142bo$142bo2$385bo$383bobo$384b2o3$390bo$390bo$390bo!
Then there's a leftover piece of junk (blinker, blocks, whatever) to shove around to set up the seed for the next *WSS in the helix. Few or no forward rakes are needed, so I think the backward rakes can pack much more closely together.

Might something like that work, or am I missing an obvious detail?

Re: Caterpillar's little brother research

Posted: January 13th, 2014, 5:30 pm
by HartmutHolzwart
I think that's a great idea! I posted that in the wrong thread...

The challenge is now to put together a synthesis from the original rakes up to the complete ship. It seems a lot of work that Gabriel put into this.

Could we recreate this as several reusable python scripts? that might be a good exercise for creating the 31/240 spaceship.

Re: Caterpillar's little brother research

Posted: January 13th, 2014, 7:01 pm
by dvgrn
HartmutHolzwart wrote:The challenge is now to put together a synthesis from the original rakes up to the complete ship. It seems a lot of work that Gabriel put into this.
I'll say! And David Bell (at the beginning) and Jason Summers (in the middle) as well. The ten-year anniversary of the Caterpillar's launch into Life-space is coming up this year, and I don't recall that anyone has dared to adjust so much as a single cell of the thing -- not even to make a nice simple 17c/45 puffer or rake.

[Those are listed as existing in Jason's Life Status page, though, so maybe I'm wrong. Or more likely, given they existence of a Caterpillar, they're trivial enough to not need an explicit construction.]
HartmutHolzwart wrote:Could we recreate this as several reusable python scripts? that might be a good exercise for creating the 31/240 spaceship.
Python scripts are my plan for the 31c/240 spaceship, for sure. Will just have to see how reusable the scripts turn out to be -- I think it will be difficult to jump from rakes running on fully asynchronous 31c/240 block trails to Caterpillar rakes with p2 track constraints.

At the moment I don't know exactly how the Caterpillar puts even- and odd-phase gliders on a particular glider lane, for example -- different rakes for different phases, or rephasers between rakes to change the phase of the tracks, or a catch-and-throw trick of some kind? I'd have to spend a lot of time studying Caterpillar catchers and throwers and filters and rephasers and so on to figure out how to make a utility that's general-purpose enough to be useful for both projects. But certainly going through the robocat code again will help with that.

Another irreconcilable detail is that forward glider streams on the outsides of the 31c/240 ship may end up doing a lot of work, reaching forward past the front of the ship, getting reflected, and building reversed forward streams or sideways LWSSes that then construct the initial block trails. Forward glider streams are too slow to work with the original Caterpillar-- but in the 31c/240 they can actually be constructed with slow salvos, just like spaceship streams.

... All in all, it may well make sense to just grit our teeth and write two separate new robocats, apply as many lessons as we can from the easy (31c/240) one to the hard (102c/270) one ... and just make sure to allow for different helix timings (5x, 6x, 7x) and alternate rake designs this time around.

Re: Caterpillar's little brother research

Posted: January 14th, 2014, 4:20 am
by HartmutHolzwart
Just a the usual caveat:

1) All slow salvo approaches used must be edge shooters. Tey must not interfere with the resulting *WSS from the previous cycle

2) if the tracks of two neighbouring *WSS of the given helix overlap, the time window for the activation of the *WSS gets very tight. The faster the constructed ship is, the tighter the helix must be and the more constrained is the construction.

As a modell case, I propose to take the conflict betweeen the last two *WSS in codeholics new x6 17c/45 helix.

@codeholic: Could you modify your search script such that one can impose some restriction to avoid to tightly spaced neighbouring ships?

Re: Caterpillar's little brother research

Posted: January 14th, 2014, 5:59 am
by codeholic
HartmutHolzwart wrote:Could you modify your search script such that one can impose some restriction to avoid to tightly spaced neighbouring ships?
Well, it depends mostly not on my scripts, but on the 'lab' script, written by 'oblique', that systematizes glider-spaceship collisions generated by gencols. I will probably improve it soon, because I'm getting lazy to cherry-pick stuff every time.

Though it may be tricky to formulate restrictions on tightness of the spaceship stream depending on possible syntheses, because every synthesis is quite unique, having certain sparks in certain places at certain time.

Re: Caterpillar's little brother research

Posted: January 14th, 2014, 9:09 am
by HartmutHolzwart
I was simply thinking of discarding any solution where two spaceships don't have a specified a specified distance in x- or y-coordinates.

Re: Caterpillar's little brother research

Posted: January 14th, 2014, 11:39 am
by codeholic
I'll see what I can do once I'm done with a 31c/240 spaceship front and a 2c/7 puffer. So much interesting stuff is going on!

Re: Caterpillar's little brother research

Posted: January 14th, 2014, 9:10 pm
by Sphenocorona
codeholic wrote:I'll see what I can do once I'm done with a 31c/240 spaceship front and a 2c/7 puffer.
I thought we already found a 2c/7 puffer (or do you mean a rake or puffer of some other speed?)

Re: Caterpillar's little brother research

Posted: January 15th, 2014, 1:33 am
by codeholic
Yeah, I meant a versatile puffer.