Caterloopillar WIP (all speeds < c/4)

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

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

Post by simsim314 » April 13th, 2016, 12:56 pm

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: 32
Joined: March 25th, 2015, 5:57 pm

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

Post by NoLongerBreathedIn » April 13th, 2016, 7:36 pm

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?

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

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

Post by simsim314 » April 14th, 2016, 1:37 am

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.

I've tried to answer your question here in length.

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

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

Post by simsim314 » April 15th, 2016, 3:32 pm

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.

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

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

Post by Kazyan » April 15th, 2016, 5:53 pm

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
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

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

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

Post by BlinkerSpawn » April 15th, 2016, 6:04 pm

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]

Image

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

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

Post by muzik » April 15th, 2016, 6:04 pm

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?

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

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

Post by simsim314 » April 15th, 2016, 6:24 pm

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.

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

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

Post by simsim314 » April 15th, 2016, 6:34 pm

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.

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

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

Post by muzik » April 15th, 2016, 6:55 pm

I would say that finding a smaller 31c/240 should be high priority at this point.

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

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

Post by simsim314 » April 15th, 2016, 7:01 pm

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

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

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

Post by BlinkerSpawn » April 15th, 2016, 8:33 pm

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]

Image

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

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

Post by simsim314 » April 15th, 2016, 8:34 pm

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.

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

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

Post by muzik » April 16th, 2016, 4:37 am

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.

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

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

Post by simsim314 » April 16th, 2016, 5:00 am

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

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

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

Post by Sokwe » April 16th, 2016, 5:10 am

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

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

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

Post by muzik » April 16th, 2016, 5:19 am

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?

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

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

Post by simsim314 » April 16th, 2016, 5:40 am

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: 840
Joined: June 27th, 2009, 10:58 am
Location: Germany

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

Post by HartmutHolzwart » April 16th, 2016, 6:16 am

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

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

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

Post by simsim314 » April 16th, 2016, 7:04 am

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.

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

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

Post by simsim314 » April 16th, 2016, 7:40 am

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.

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

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

Post by simsim314 » April 16th, 2016, 11:28 am

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:

1. Download and copy under golly/scripts/python/ folder.

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
(211.28 KiB) Downloaded 647 times
Last edited by simsim314 on April 16th, 2016, 7:35 pm, edited 1 time in total.

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

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

Post by dvgrn » April 16th, 2016, 5:30 pm

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

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

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

Post by simsim314 » April 16th, 2016, 6:21 pm

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
(211.28 KiB) Downloaded 657 times
Last edited by simsim314 on April 16th, 2016, 6:50 pm, edited 2 times in total.

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

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

Post by simsim314 » April 16th, 2016, 6:31 pm

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.

Post Reply