## Caterloopillar WIP (all speeds < c/4)

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

Thinking of it, this "spearhead" design could reach orthogonal c/2. Some SL will need to be converted to horizontal *WSS and shot at a second "reading head" which converts the signal back to SL. The time delay can be adjusted, but the limit is c/2.

NoLongerBreathedIn
Posts: 30
Joined: March 25th, 2015, 5:57 pm

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

Is it possible to place the initial target much nearer to the correct lane by simply lengthening the gap between the head of the ship and the first loaf? If not, why?

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

NoLongerBreathedIn wrote:Is it possible to place the initial target much nearer to the correct lane by simply lengthening the gap between the head of the ship and the first loaf?
Definitely possible. I'm avoiding this due to self sufficiency principle, so I wouldn't need to synchronize few reading heads. Now the first reading head is "general" and it doesn't depend on location of other reading heads.

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

While debugging the "Pick a speed" script, I've managed to complete the c/9 caterloopillar (the script itself needs some more work):

It's c252/2268 (=c/9) and a bit smaller than the c/8. Check it out.

Looking at the design of the c/9 it's almost identical to c/8. It's quite surprising that this is possible, at least for such high speeds.

EDIT While on it here is c/11. It's c252/2772.

Kazyan
Posts: 871
Joined: February 6th, 2014, 11:02 pm

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

Once that script is complete, does that mean we now have an explicit construction method for all rational (read: possible) orthogonal speeds below c/4?
Tanner Jacobi

Posts: 1908
Joined: November 8th, 2014, 8:48 pm
Location: Getting a snacker from R-Bee's

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

Could somebody resubmit the currently completed caterloopillars as attached downloadable files as opposed to github pages? My tablet has issues with copy/pasting such massive blocks of text.
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

muzik
Posts: 3512
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

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

BlinkerSpawn wrote:Could somebody resubmit the currently completed caterloopillars as attached downloadable files as opposed to github pages? My tablet has issues with copy/pasting such massive blocks of text.
Another tablet user.

Does it not let you select?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

Kazyan wrote:Once that script is complete, does that mean we now have an explicit construction method for all rational (read: possible) orthogonal speeds below c/4?
I actually did some shortcut - due to it some pretty rare cases are not covered.

To be exact, one needs this property to have a valid speed:

period +/- 2 * step != 0 (mod 8 )

This means that all odd periods will be covered, and some of the even. I will explore the way to avoid this restriction, but the script with this restriction is in advanced stage.

The restriction is allowing twice less slow salvo recipes, now I'm using 16 and in general case it should be 32.
Last edited by simsim314 on April 15th, 2016, 7:29 pm, edited 2 times in total.

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

BlinkerSpawn wrote:Could somebody resubmit the currently completed caterloopillars as attached downloadable files as opposed to github pages? My tablet has issues with copy/pasting such massive blocks of text.
It's over the size limit allowed for attachment.

In chrome you can just chose "Ctrl + S" to save the file.

muzik
Posts: 3512
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

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

I would say that finding a smaller 31c/240 should be high priority at this point.
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

muzik wrote:I would say that finding a smaller 31c/240 should be high priority at this point.
Why?

Posts: 1908
Joined: November 8th, 2014, 8:48 pm
Location: Getting a snacker from R-Bee's

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

muzik wrote:
BlinkerSpawn wrote:Could somebody resubmit the currently completed caterloopillars as attached downloadable files as opposed to github pages? My tablet has issues with copy/pasting such massive blocks of text.
Another tablet user.

Does it not let you select?
"ERROR"
"Bug detected in PasteClipboard!"
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

Here is 2c/9 (1016/4572).

It was somewhat more challenging, as it's the fastest caterloopillar yet, and caterloopillar is growing in size when reaching c/4 and this is c/4.5 so pretty close to maximal speed.

I think I'll try some more speeds to debug it properly , but the script is basically working - as you can see. Although convincing it to work flawlessly start to finish - is harder than I expected.

EDIT 2c/11 (376/2068)

EDIT2 c/12 (98/1176) (minimal population = 125427).
Last edited by simsim314 on April 16th, 2016, 5:02 am, edited 2 times in total.

muzik
Posts: 3512
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

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

simsim314 wrote:
muzik wrote:I would say that finding a smaller 31c/240 should be high priority at this point.
Why?
I don't know how to describe it, but we just do. It's better to have a smaller and less populous ship than that 620901 cell monstrosity.
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

How is it more important to improve existing monster (by another smaller monster), than covering new speeds?

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

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

simsim314 wrote:How is it more important to improve existing monster (by another smaller monster), than covering new speeds?
I suppose it really comes down to a difference of opinion. I would personally like to see c/6 and c/7 rakes, if only to fill those holes on the status page. Of course, all of this is moot once you get the generator script running satisfactorily.
-Matthias Merzenich

muzik
Posts: 3512
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

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

simsim314 wrote:How is it more important to improve existing monster (by another smaller monster), than covering new speeds?
Come to think of it, covering speeds is probably more important, but it would just be really satisfying to see the amount of cells on the smallest 31c/240 go down.

Speaking of, what is the most exotic speed you can make?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

muzik wrote:Speaking of, what is the most exotic speed you can make?
There is no limitation on exoticness, I'll try to make some division of high prime numbers.

The problem with exotic speeds, is my current "lazy" implementation - which prefers to make 1000 skip than to use recipe of length 10. This makes the exotic speeds pretty inefficient - but still workable. Some more job needs to be done to improve those cases. I need to limit the amount of allowed skips, and somehow chose between two strategies - moving the block or just waiting.
Sokwe wrote: I would personally like to see c/6 and c/7 rakes, if only to fill those holes on the status page.
I actually was thinking of this point. c/7 is ready (172/1204 with minpop = 201948).

But c/6 belongs to currently unsupported speeds due to the limitation of (period +/- 2 * step) != 0 (mod 8 ) and for c/6 is 6 + 2 * 1 = 8.

NOTE Note that all the limitation and problems pointed out, are just the state of the current implementation and the script which is not matured yet. It's not limitation of the design in any way, and should be possible to solve pretty easily with extra work.

EDIT To muzik request c11/67 (308/1876, population = 359218).
Last edited by simsim314 on April 16th, 2016, 6:32 am, edited 1 time in total.

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

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

Just a minor question:

What is the approximate minimum period reachable with this technique? Are there possible short cuts for specific speeds (I know that your deaign goal was to have a general solution, just interested to get your view)?

Again: Really a breakthrough! Thanks!

Hartmut

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

HartmutHolzwart wrote:What is the approximate minimum period reachable with this technique?
For my implementation the minimal step is 96 and minimal period 892.
HartmutHolzwart wrote:Are there possible short cuts for specific speeds
My design was minimalistic in one sense only - it's simple to implement for many different speeds, with minimal tweaking.

There are many alternatives which could improve specific speeds. In particular one can send gliders to destroy the salvos, thus the only limitation on the period would be the period of the reading head.

A while back, when I was working without self destruct and no generality, periods in 300-400 range ticks were possible (don't trust the numbers, I then didn't knew the complexities of period calculations).

On my opinion this doesn't worth it - twice lower period is still high and it comes with much more headache.

EDIT Just added c/13 it's the smallest caterloopillar yet (minimal = 117090).

I think I'll prepare the script for release - it has issues, but works most of the time well.
Last edited by simsim314 on April 16th, 2016, 4:55 pm, edited 1 time in total.

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

What's interesting, caterloopillar is in the smaller end on the size spectrum. The smallest caterloopillar (c/13 with 117K and c/12 with 125K) is superseded only by the demonoid - which is relatively speaking just tiny (more than 4 times smaller than any other constructible spaceship). The smallest cateloopillars are smaller than Parallel HBK and waterbear.

This is kinda surprising considering no real attempt was made to optimize the size, this result came out of generic script that was encouraged to sacrifices size for simplicity and scriptability.

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

It looks like the script is more or less working, it's in a stage of advanced debugging - so it will work for many speeds.

It's now automatically searching for valid step and period and does not assume anything about them. Notice the script will only try multiplication of the given step and period - it will assert and will not try to make it work, if you give it 8/64 instead of 1/8. The error messages are pretty self explanatory. It will (usually) work if the input is valid.

-----

To install:

2. Copy the rule LifeHistoryNoMark.rule into your golly rules folder!

3*. Although the attached script is working, it was made to fit the attachment limit, so I strongly recommend to download OptimizedEven.txt and OptimizedOdd.txt from the Data folder on github as it has somewhat better slow salvo recipe collection than the attached ones (this will improve the final cell count by 10%).

4. Run Caterlooper.py from golly.

Please tell me if the script is working on your station, report bugs, and suggest features. It's not well polished script yet.
Attachments
Caterlooper.7z
Last edited by simsim314 on April 16th, 2016, 7:35 pm, edited 1 time in total.

dvgrn
Moderator
Posts: 5897
Joined: May 17th, 2009, 11:00 pm
Contact:

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

simsim314 wrote:Please tell me if the script is working on your station, report bugs, and suggest features. It's not well polished script yet.
I think I followed the instructions correctly. At first I got an error about not being able to find "WssData.pkl" in Roaming\Golly. So I uncommented the following two lines temporarily at the bottom of WssReader.py, ran that script, and then re-commented them again:

SaveWssLane("WssLaneData.pkl")
SaveWss("WssData.pkl")

Not sure if WssLaneData.pkl is needed any more or not, but it doesn't seem to have done any harm.

Then things looked much more promising for a while. But for 31c/240, and then again for c/7, the script crashed with an error after several minutes:

Code: Select all

``````---------------------------
Python error:
---------------------------
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\dvgrn\Desktop\L2\golly-2.7-win64\Scripts\Python\Caterlooper.py", line 639, in <module>
if wssFront[i][0] == wssFront[0][0]:
IndexError: list index out of range
``````
The status bar text at the time was "Adjusting the front and the back to be at the same rail".

This was with the OptimizedEven.txt and OptimizedOdd.txt supplied in the 7z archive. Here are the direct links to the 5-megabyte versions: OptimizedEven.txt and OptimizedOdd.txt (it took me a while to see the "Raw" links).

EDIT: The same error happened at c/8 also, using the full OptimizedEven.txt and OptimizedOdd.txt, just after the script successfully saved something -- the tail half, maybe. It looks like it's probably done most or all of the construction work correctly, just isn't able to stick the halves together without running into this error (?)

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

dvgrn wrote:So I uncommented the following two lines temporarily at the bottom of WssReader.py, ran that script, and then re-commented them again
Looks correct to me. I've attached a script with the hot fix to this issue. You could also find the pkl files in the Data folder on GitHub..
dvgrn wrote: the script crashed with an error after several minutes:
First of all some good news - it managed to build the front and the back for you, it's pretty advanced stage already. I would suggest to replace the dir value to something more approachable, so you could see the files created, specifically front and back.

Another important question: what do you see on the screen after the error? Do you see SLs or *WSSs? This usually means the front has collapsed, and I don't see how this could be for c/8.

Another "question/request" - can you switch to base 8 for this test? I kinda tried to be sensitive to this configuration, but who knows...

I would start from verifying the files of the front and back were created and saved properly in the "dir" that you will define.
Attachments
Caterlooper.7z
Last edited by simsim314 on April 16th, 2016, 6:50 pm, edited 2 times in total.

simsim314
Posts: 1702
Joined: February 10th, 2014, 1:27 pm

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

Meanwhile I have ran the script to all periods under 21 (except 5/21 which is still running).

Here is the report:

c/5 : 508/2540, pop = 390897
2c/13 : 216/1404, pop = 218478
3c/13 : 1524/6604, pop = 658860
c/15 : 100/1500, pop = 108728
2c/15 : 152/1140, pop = 188470
c/16 : 98/1568, pop = 106262
3c/16 : 390/2080, pop = 307754
c/17 : 100/1700, pop = 98621
2c/17 : 152/1292, pop = 171658
3c/17 : 324/1836, pop = 265261
4c/17 : 2032/8636, pop = 801673
c/19 : 100/1900, pop = 93555
2c/19 : 104/988, pop = 153619
3c/19 : 228/1444, pop = 228196
4c/19 : 688/3268, pop = 407817
c/20 : 98/1960, pop = 93497
3c/20 : 198/1320, pop = 203690
c/21 : 100/2100, pop = 88972
2c/21 : 104/1092, pop = 144020
4c/21 : 432/2268, pop = 319572

The smallest Caterloopillar now is c/21 with 89K active cells.
The largest which is also the fastest with 802K and speed 4c/17.

EDIT I ran the script for 31/240, and it worked actually surprisingly well - I was expecting a real failure.

31c/240 : 186/1440, pop = 361070

It's obviously not optimized, and it uses way too many SKIP operations.

I think the next step would be introducing some optimization - and hopefully make it work on other stations.