## Reflectorless Rotating Oscillators (RRO)

For discussion of other cellular automata.

### Reflectorless Rotating Oscillators (RRO)

I found some reflectorless rotating oscillators (RRO) with small periods, I think record breaking (in terms of cells, periods and bounding box).
They are all 2-fold (but 4-cyclic). They have all 3 cells, except the first p32 has 4 cells:

p32
`x = 16, y = 5, rule = B2ce3aejk4aqrtw5-acr6cen78/S12an3cjqy4-ey5akqry6ekn7e82o7b2o\$obo6bobo2\$13bobo\$14b2o!`
`x = 18, y = 5, rule = B2cei3aj4aintwy5ikqy6-ai7e/S012i3-ajn4-eirwy5-ejkq6-a7co10bo\$obo8bobo2\$15bobo\$17bo!`
`x = 18, y = 5, rule = B2e3aikr4kny5cejkn6-kn7c8/S012-n3-acjk4ciwy5aceir6ck7c8o10bo\$obo8bobo2\$15bobo\$17bo!`

p36
`x = 16, y = 5, rule = B2cek3aery4aejqrwy5ceqy6cen7c8/S012ikn3-air4centy5-jkry6-kn7c82bo8bo\$obo6bobo2\$13bobo\$13bo!`
`x = 16, y = 5, rule = B2cek3aj4aiknty5-enqr6ek7c/S012ik3cny4akrtwy5cejky6-an78o8bo\$obo6bobo2\$13bobo\$15bo!`

p40
`x = 16, y = 5, rule = B2e3-cjnr4ak5-cinq67/S12ack3cjr4cjknz5acnqy6-i7eo8bo\$b2o7b2o2\$13b2o\$15bo!`
`x = 18, y = 6, rule = B2cen3acq4-aejnz5-nqy6-c78/S012ik3jnq4-jkntz5-cinq6aek72bo9bo\$obo7bobo3\$15bobo\$15bo!`

p44
`x = 16, y = 5, rule = B2cek3ajkq4aeiqt5-jkr6ce7e/S012ikn3k4aeijrz5cinry6-ai78o8bo\$obo6bobo2\$13bobo\$15bo!`
`x = 16, y = 8, rule = B2ci3-iqry4-ajwz5-jnry6-ac78/S12-ck3ejkry4-kqrwz5ejknq6en7e82o8b2o2\$o9bo3\$15bo2\$14b2o!`

p48
`x = 16, y = 5, rule = B2ce3aejqy4ijrt5aknr6-ei7e/S12-ek3jkq4ceinqwz5ejkry6-i82bo8bo\$2o7b2o2\$14b2o\$13bo!`
`x = 18, y = 8, rule = B2cei3aeky4ceiknrw5ejk6-cn7e8/S012-ac3-aeik4-cewy5-aejy6-an7e2bo9bo\$obo7bobo5\$15bobo\$15bo!`

p52
`x = 20, y = 5, rule = B2cek3-ein4ikqrtwy5-enr6ack78/S012aci3nqy4ejknqwy5-ciqr6-ck7e82bo10bo\$obo8bobo2\$17bobo\$17bo!`

p56
`x = 20, y = 5, rule = B2ce3jkqy4-cnrwz5aeny6-in78/S1e2-c3-ajn4iqry5aekqy6-ci3bo10bo\$obo8bobo2\$17bobo\$16bo!`

p60
`x = 20, y = 9, rule = B2k3acijn4aqty5cejnq6-ck7e/S01e2-a3acikr4ei5-aekr67c3bo10bo\$o10bo\$2bo10bo4\$17bo\$19bo\$16bo!`

p64
`x = 20, y = 9, rule = B2ci3aejqr4aeinqty5jkq6e8/S01e2-en3cjknr4-akwz5jkqr6-ac7o10bo\$obo8bobo6\$17bobo\$19bo!`
My script did not show anything for p28. Larger periods mod 4 very likely exists as well. Maybe we even find an adjustable RRO.

Edit1:
A 2-fold 3 cell p38 oscillator, not sure if it counts as a RRO:
`x = 16, y = 5, rule = B2ce3cej4nrty5ajkry6ae7c/S012ikn3-ik4acey5-aeny6ek7o8bo\$obo6bobo2\$13bobo\$15bo!`
similarly these p30:
`x = 18, y = 7, rule = B2cek3eijkq4eikqry5-cejk6e7c/S12cek3aik4eijy5ajr6cei8bo10bo\$o10bo\$b2o9b2o2\$15b2o\$17bo\$16bo!`
`x = 18, y = 5, rule = B2cek3ejkq4aenqrwy5aknry6ack7/S012k3-einq4cekry5knq6ei7e8o10bo\$obo8bobo2\$15bobo\$17bo!`

Edit2:
A 3 cell p32 naturally:
`x = 18, y = 5, rule = B2c3air4aijr5j6k/S01e2ack3jkr4aky5aijyo10bo\$obo8bobo2\$15bobo\$17bo!`

https://catagolue.appspot.com/object/xp ... r4aky5aijy
https://catagolue.appspot.com/object/xp ... r4aky5aijy

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

2718281828 wrote:I found some reflectorless rotating oscillators (RRO) with small periods, I think record breaking (in terms of cells, periods and bounding box).
They are all 2-fold (but 4-cyclic)...

All except your p60, I think. That one is actually a rare 3-fold RRO, with a period 20 variant:

`x = 31, y = 10, rule = B2k3acijn4aqty5cejnq6-ck7e/S01e2-a3acikr4ei5-aekr67c3bo10bo10bo\$o10bo10bo\$2bo10bo10bo\$28b3o\$28b3o\$29bo\$17bo4bobo3b2o\$19bo2bob2o2bobo\$16bo7bo!`

dvgrn
Moderator

Posts: 5624
Joined: May 17th, 2009, 11:00 pm

### Re: Reflectorless Rotating Oscillators (RRO)

A small 4-fold RRO: (p108, p54, p27)
`x = 55, y = 16, rule = B2-an3cey4-ikrw5eijkn6ekn7c/S012ei3-eiqy4kqrw5ajkry6-e7c32b2o18b2o\$39bo\$32bo6bobo10bo11\$bo19bo19bo10bobo\$54bo\$2o18b2o18b2o!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

2718281828 wrote:A small 4-fold RRO: (p108, p54, p27)
`x = 55, y = 16, rule = B2-an3cey4-ikrw5eijkn6ekn7c/S012ei3-eiqy4kqrw5ajkry6-e7c32b2o18b2o\$39bo\$32bo6bobo10bo11\$bo19bo19bo10bobo\$54bo\$2o18b2o18b2o!`

Amazing! It is also a 3-fold (p36):
`x = 18, y = 18, rule = B2-an3cey4-ikrw5eijkn6ekn7c/S012ei3-eiqy4kqrw5ajkry6-e7c7b2o\$6b3ob2o\$5bob4o\$6b4o7\$14bobo\$14bo\$14b2o2\$3bo2\$2b2o!`

I don't think I've ever seen one where it can function as a 3-fold and a 4-fold. What kind of script are you using? LLS?
Things to work on:
- Find a (7,1)c/8 ship in a Non-totalistic rule (someone please search the rules)
- Find a C/10 in JustFriends
- Find a C/10 in Day and Night
AforAmpere

Posts: 997
Joined: July 1st, 2016, 3:58 pm

### Re: Reflectorless Rotating Oscillators (RRO)

2718281828 wrote:A small 4-fold RRO: (p108, p54, p27)
`x = 55, y = 16, rule = B2-an3cey4-ikrw5eijkn6ekn7c/S012ei3-eiqy4kqrw5ajkry6-e7c32b2o18b2o\$39bo\$32bo6bobo10bo11\$bo19bo19bo10bobo\$54bo\$2o18b2o18b2o!`

AforAmpere wrote:Amazing! It is also a 3-fold (p36)... I don't think I've ever seen one where it can function as a 3-fold and a 4-fold.

Not in regular Moore-neighborhood isotropic CAs, anyway. If you count Larger than Life, the record holder still seems to be the SoldierBugs in Golly's pattern collection, with 1, 2, 3, 4, 6, 8, and 12-fold options.

Seems like it's going to take some luck to get to 5-fold or above outside of Larger than Life, just because the period will have to be divisible by 5 _and_ the RRO has to move unusually quickly while remaining fairly small.

dvgrn
Moderator

Posts: 5624
Joined: May 17th, 2009, 11:00 pm

### Re: Reflectorless Rotating Oscillators (RRO)

AforAmpere wrote:I don't think I've ever seen one where it can function as a 3-fold and a 4-fold. What kind of script are you using? LLS?

Yes, LLS, and it is surprisingly fast for smaller periods up to 20 for a 4-fold, then it becomes slower.

1/2/3/4/5-folds (p120/60/40/30/24)
`x = 110, y = 25, rule = B2ck3-ciky4cjkqrtz5-cijy6an7c/S02ekn3cq4cqz5-kny6-ci784\$103b2o\$6b2o19b2o19b2o19b2o12bobo4b2o10b3o\$85bo18b2o\$6bobo18bobo18bobo18bobo11bo6bobo9bo3\$62bobo\$64b2o\$63bobo\$62bo\$63bo40bobo\$90b3o13b2o\$89b3o15bo\$89b2o14b2o\$90bobo12bo\$41bobo7bo2bo16bo11bobo11bo2bo\$51b2o16bo28bo\$42b2o8b3o14bobo12b2o8b2o3b2o\$52b2o40b2o2b2o!`
`x = 110, y = 22, rule = B2-a3ejkq4nqrtwz5aejkq6ei78/S01e2ikn3jkny4ceijqt5-ciky6-ai7c883bo18bob2o\$4bo21bo21bo21bo21bo12bo\$2bobo19bobo19bobo19bobo12b2o5bobo9b4o3\$61bobo\$61bobo26bo\$90bo\$91bo\$62bobo26bo13bobo\$61b2o27b3o12bobo\$61bobo25b3o\$90b2o\$90bobo12bo\$90bobo\$39bobo8b4o15b2o12bobo12b4o\$39bo43bo12b2o\$51b3o16bo24bob5o!`

This one is only 1/2/3/4-fold (p120/60/40/30)
`x = 89, y = 21, rule = B2-a3cjnq4ack5acein6ak7e/S012aik3-any4jkny5ijqry6-n2\$2bo21bo21bo21bo14bobo\$4bo21bo21bo21bo\$2bobo19bobo19bobo19bobo12b2o3\$61bobo\$61bobo\$61bobo\$61bobo\$61bo\$61b2o\$63bo4\$39bobo8b4o15b2o12bobo\$39bo8b4o31bo\$41bo5b5obo14bobo14bo\$48b3o!`

but it gives me the feeling that there might exists something like adjustable RRO families.
`x = 3, y = 16, rule = B2-a3cjnq4ack5acein6ak7e/S012aik3-any4jkny5ijqry6-nbo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$obo\$3o\$2o!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

Nice finds! It's a bit unfortunate, though, that nearly all of them are in explosive rules. Have you found any more RROs in more stable rules?

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Reflectorless Rotating Oscillators (RRO)

77topaz wrote:Nice finds! It's a bit unfortunate, though, that nearly all of them are in explosive rules. Have you found any more RROs in more stable rules?

I have a couple of other RROs, there exists many... however you are right most of them are explosive (as most rules anyway, in the 5s projects its the same most of them live in explosive rules).

This one is stable (but quite boring):
`x = 101, y = 41, rule = B2-ai3cq4aktz5-jkny6i7c/S01e2-ae3ij4ejkqz5ci6a7c86\$4bo5b3ob2o2b2ob6o2bo4b2o\$4bobobo5bobobob3o3b2obobob2o\$5bob8o2b2o2bobob5o3bobo\$5bob2o2b2ob4ob2o3bo3bo2b2ob2o20bo20bo\$11bob2o5b7ob2obo3bo21bobo18bobo\$6bo2bo4bobobobo3b6o\$4bo4b3obo5bo7bob2ob2o\$5bob3o2bo2b3o2bobobobo4b2o\$4bo3bo2b2o3b2ob2o3b7o4bo\$4b5obo2bobo2b2ob3obob2obo2bo\$4bob7obo3b2ob3o6bo2bo\$5bo4b2ob2o3b5obob2o5b3o\$4bo12bo2b2o2b2ob2ob2ob2o\$12bo6b2ob2o2b3ob3ob2o\$5bob3ob3ob3ob5ob3o3bob2o\$11b3ob2obo2b4o4b2obo2bo\$7b2ob7o2b2ob3ob3o2bob2o57bobo\$9b6ob4ob2obobo4b2o2bo59bo\$4b2ob2o2b2obo2bobo2bo3b3obobo2bo\$5bo2bobob3o2b2o4bobo3bo3bobo\$5bo2bobo2bo2b3obob2o3b3obo2b2o\$4bo2bo4bobobo4bo2bo4b2obo2bo\$4bo3b3o2bo2bo2b2ob5obob3ob2o\$4bobob2obo2bob2ob4o2b2o2bo3b3o\$4bob7o3b2o2bo2bo5b2o\$5bo2bo4b6o5bo3bob3o\$5b2o3b5obo2bo2bob3o3bobobo\$5bobob2obo2b2ob3obobo4b2ob3o\$4bo2bo4bo2bob10o2b7o\$6bobo2b4ob2ob2o2b2ob4ob3o\$5bo2b2ob3ob2obo2bo4bo2b3ob3o\$4bo3bob2o5bo2b2o3bo3bob4o!`

But this one is nicer, here we have a small natural spaceship:
`x = 100, y = 33, rule = B2cn3acr4ijnrwyz5inqr6aci/S01e2-k3cn4aeiknrz5acy6ck7c8\$3bobo2b2o5bobobo4b3ob3o2bo\$3bob2obobo3b2obobobo5b5obo\$2b4obob2ob2o2bo2bo2b3o2b4ob2o\$3bo3b4obob3o4bo2bo2bob5o\$2b5ob4ob3obo4b2ob4o2b2o\$2bob5o4b3o3bo9b2o2bo\$3b3o4b3ob2o4bobobo2bo2bobo24bo18bo\$2bobo2bob3obo4b3ob4o3b2ob2o23bobo16bobo\$4bo2b2o5b2o2b2o2bo4b3obo\$3bob3obo2bobobob3obobobo4bobo\$2b4o2bobobo4bob2ob4o4bo\$2bobo3b2o2b4o2bob2ob5ob4o\$4bo2b2o2bob3obobobob2o2b3ob3o\$3bo4bo2b5obo3b3o2bo2b2obo\$2b6o2bo2bob2obo4b4o3bobo\$3bob4o5bo3bo4b3obo5bo\$3b2obob3o4b3o2b2ob3o4bobo\$2b6ob8o6bo2bob6o54bobo\$2b2obo2b2o2bob2o2bo3bo2bo2bo2bo58bo\$2bo3bobo2bo4bo4bo3bobob3o\$3b2obo2bo2b2o4bob2o2bo4bo\$4b2o2b3obo5bo3bobo2b2o2bobo\$2bo4bo5b3obo2bob8obobo\$2bo2bob2o3b2o2b2obo3b3o4b4o\$3b3o2b3ob2o3bobo2b5obo2bobo\$2bobo2bob6ob3obo4b2o6bo\$7b2o3b2ob3obobob2ob3obo\$2bobob2obo2b4ob2ob2obob4o3bo\$3b7obob2obo3bobo4bobo2bo\$2bobo2b3o5b2o3bobo4b3o2bo\$2bob2obobo7b2ob2o2b2o5b2o\$3b6o2b3ob2ob3obobobobo2b3o!`

It also has this nice natural spaceship (xq20_275se4):
`x = 6, y = 5, rule = B2cn3acr4ijnrwyz5inqr6aci/S01e2-k3cn4aeiknrz5acy6ck7c8b2o\$2o2bo\$b5o\$3b2o\$3bo!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

An interesting natural p256 (https://catagolue.appspot.com/object/xp ... t5-aky67c8), 1,2,4-fold:
`x = 184, y = 53, rule = B2kn3aijnr4aciky/S2n3-cek4aijnt5-aky67c86\$107b3o35bo28b3o\$106b5o32b3o2b4o21b5o\$105bob4o29b6o2b3o21bob4o\$104b2obo2bo28b3obobobo2b2o19b2obo2bo\$104b8o27b3ob4obobo20b8o\$104b5ob2o27b9obobo19b5ob2o\$105b8o27bo2b4o2b2o21b8o\$106b3o32b5o27b3o\$107bobo32b3o29bobo\$108bob2o63bob2o\$106b2o2b2o61b2o2b2o\$106bob4o61bob4o\$107bobobo62bobobo16\$6bobobo62bobobo62bobobo\$6b4obo61b4obo61b4obo\$6b2o2b2o61b2o2b2o61b2o2b2o\$6b2obo63b2obo63b2obo\$8bobo64bobo64bobo29b3o\$9b3o64b3o64b3o27b5o\$5b8o59b8o59b8o21b2o2b4o2bo\$6b2ob5o59b2ob5o59b2ob5o19bobob9o\$6b8o59b8o59b8o20bobob4ob3o\$7bo2bob2o60bo2bob2o60bo2bob2o19b2o2bobobob3o\$7b4obo61b4obo61b4obo21b3o2b6o\$7b5o62b5o62b5o21b4o2b3o\$8b3o64b3o64b3o28bo!`

But I am not sure if it is an RRO due to the interactions in the centre.

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

Slightly off-topic, but that last rule also has possibly the smokiest spaceship I've ever seen:
`x = 12, y = 30, rule = B2kn3aijnr4aciky/S2n3-cek4aijnt5-aky67c83bo\$b5o\$7o\$2obob3o\$bo3bo\$o3bo\$3o\$2bo2\$3bo\$bo2\$bo12\$8bo\$6b5o\$6b2obobo\$6b2ob3o\$6bo4bo\$8bobo!`

It's c/2 orthogonal, but with period 920.

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Reflectorless Rotating Oscillators (RRO)

A 1/2/3/4/5/6 fold RRO:
`x = 132, y = 26, rule = B2-an3-eiky4aiqw5ijnr6ak/S012ik3-acir4kqw5acq6ack7c83\$3bo21bo21bo21bo21bo21bo\$2bo21bo21bo21bo21bo11b2o8bo9bo\$82bobo19bo18b2o\$2bo21bo21bo21bo16bo4bo11bo9bo9bo2bo4\$60bobo63bobo\$61bo26bo22b2o14bo\$63bo25b3o37bo\$89b2o19bo\$61b2o26bo14bobo5bo14b2o\$104bobo4bobo\$89bobo13b2o\$89bobo13b2o2\$39bo8bo2bo14bo16bo14b2o14bo2bo9bo\$49b2o16bobo25bobo17b2o\$39bo11bo31bo11b5o17bo9bo\$38bo43bo43bo!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

two RROs in B2a rules:
p40/p20:
`x = 24, y = 8, rule = B2aci3eqr4iqt5jq6a/S02cek3eikqr4jkrwy5aq6a22bo\$22b2o\$20bo3\$3bo13bo\$2o12b2o\$bo13bo!`

p36/p18:
`x = 15, y = 10, rule = B2ai3aek4k5i/S12cik3cery4ajqrz5aeo12bo\$bo12bo\$bo12bo\$bo12bo3\$9bo\$9bo\$9bo\$10bo!`

Edit1:
p32/p16:
`x = 18, y = 8, rule = B2-en3r4jky5c/S1e2cei3eqy4aknz5jn2bo14bo\$bo14bo\$3o12b3o3\$10b3o\$11bo\$10bo!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

A really rare one:
p60/p20 (1/3 fold)
`x = 31, y = 21, rule = B2acn3cnqr4jnty5ajkn6ak7e/S01e2n3ceqy4-ceqz5cijr6-ei7c3\$4bo15bo\$3bo15bo\$2b3o13b3o5\$25bo\$25b2o\$14b5o4b3o\$16b3o\$16b4o\$18bo\$14bo2bo!`

It fails for the 2 fold:
`x = 3, y = 15, rule = B2acn3cnqr4jnty5ajkn6ak7e/S01e2n3ceqy4-ceqz5cijr6-ei7c2bo\$bo\$3o10\$3o\$bo\$o!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

Any success on a 7-fold yet?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!
muzik

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

### Re: Reflectorless Rotating Oscillators (RRO)

muzik wrote:Any success on a 7-fold yet?

No success so far. The 1/2/3/4/5/6 fold one was already quite difficult to find. It took a couple of hours, many of those p120 work only for 1/2/3/4/5-fold, or even less - as the 'spaceship' has to move fast and has to be small all the time.

Maybe a 7-fold could be find as p(4x35)=p140 oscillator. This would be 1/2/4/5/7-fold. But this would challenge lls. I think it is more promising to find adjustable RROs - but I am not sure if this exists.

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

1/2/3/4:
`x = 125, y = 22, rule = B3aijry4z5ery6cn78/S2-ci3-aky4einrtyz5cejr6cn7c853bo2bo\$4b2o46bobo2bo\$5b2o47b2obo\$4b2o48bob2o\$4bo48b3o\$17b2obo33bo46b2obo\$18b3o81b3o\$19bo83bo3\$62bobo\$62b2o\$62b3o\$63bo2bo\$64bobo\$bo44bo18bo19bo36bo\$3o42b3o14b2o3bo16b3o34b3o\$ob2o41bob2o13b4obo16bob2o33bob2o\$16bo45bo2bo\$15b2o46b3o\$14b2o48bo\$15b2o!`

1/2/4:
`x = 109, y = 33, rule = B3aijry4z5ery6c7c8/S2-ci3-aky4einrtyz5cejr6cn7c829b2o56b2o\$2bo27bo57bo\$5o23bob2o54bob2o\$o3b2o21b2obo54b2obo\$2b3o23b3o55b3o\$3bo25bo57bo22\$3bo25bo31bo44bo\$2b3o23b3o29b3o42b3o\$2bob2o21b2o3bo27bob2o41bob2o\$b2obo23b5o26b2obo41b2obo\$2bo27bo29bo44bo\$2b2o56b2o43b2o!`

Both can fit 5.

EDIT, 1/2:
`x = 13, y = 15, rule = B3aijry4z5y6c7/S2-ci3-aky4-ajkqw5er6cen7c82o\$b2o\$2o\$o8\$12bo\$11b2o\$10b2o\$11b2o!`

Another:
`x = 4, y = 12, rule = B3aijry4z5kry6ci7/S2-c3-aky4-ajkqw5cer6cn782o\$b2o\$2o\$o5\$3bo\$2b2o\$b2o\$2b2o!`

EDIT 2, another 1/2/3/4:
`x = 132, y = 28, rule = B3aijry4ez5y6c7e/S2-ci3-aky4-ajkqw5enr6cn7c49bo\$17bo30b4o45bo\$16b2o29bo4bo43b2o\$15b2o26b3ob2obo2bo41b2o\$16b2o25bobo5b3o42b2o\$43bobo\$64bo\$63b3o\$62bo2b2o\$62bo3bo\$2obo59b2obo\$b3o60b2o\$2bo60b2o\$62bo\$62b2o\$62b2o\$24bo\$23b3o\$23bob2o6\$9b2o38b2o38b2o38b2o\$10b2o38b2o38b2o38b2o\$9b2o38b2o38b2o38b2o\$9bo39bo39bo39bo!`
Things to work on:
- Find a (7,1)c/8 ship in a Non-totalistic rule (someone please search the rules)
- Find a C/10 in JustFriends
- Find a C/10 in Day and Night
AforAmpere

Posts: 997
Joined: July 1st, 2016, 3:58 pm

### Re: Reflectorless Rotating Oscillators (RRO)

1/2/4/5:
`x = 157, y = 27, rule = B3-cknq4ez5cer6c7/S2-ci3-ak4einrtyz5cnr6-ak76b2o\$5bobo2bo13bo47b2o48b2o\$4b2o4b2o11b3o45b2o48b2o\$5b3o3bobo7b2ob2o46b2o48b2o\$7bo3bob3o5b3obo25bob2o18bo49bo\$11b2ob2o9bo25b3o\$23bobo26bo\$23b2o\$b2o\$2o2bo\$2bobo\$3bo\$bob2o\$bo2bo\$b3o6\$24b2o\$23b3o49bo\$23b2o49b3o\$4bo21bo27bo18b2obo27bo49bo\$4b2o18bobo27b2o48b2o48b2o\$5b2o17b3o28b2o48b2o48b2o\$4b2o48b2o48b2o48b2o!`

1/2/4/8:
`x = 44, y = 45, rule = B3-cknq4z5ky6c7/S2-c3-aky4-ajkqw5cjkr6cin7\$14b3o\$14bo\$15bobo\$11b2o2b3o15b2o\$10b2o4b2o14b2o\$11b2o20b2o\$12bo21bo3\$3bob2o\$3b3o33bo\$4bo33b3o\$37b2obo2\$42b2o\$40b2obo\$39b2o2bo\$39b3o9\$2b3o\$o2b2o\$ob2o\$2o2\$3bob2o\$3b3o33bo\$4bo33b3o\$37b2obo3\$9bo21bo\$9b2o20b2o\$10b2o14b2o4b2o\$9b2o15b3o2b2o\$26bobo\$29bo\$27b3o!`

Is this the highest known number that have been fit into an RRO?
Things to work on:
- Find a (7,1)c/8 ship in a Non-totalistic rule (someone please search the rules)
- Find a C/10 in JustFriends
- Find a C/10 in Day and Night
AforAmpere

Posts: 997
Joined: July 1st, 2016, 3:58 pm

### Re: Reflectorless Rotating Oscillators (RRO)

AforAmpere wrote:Is this the highest known number that have been fit into an RRO?

Are we counting the soldier bugs?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!
muzik

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

### Re: Reflectorless Rotating Oscillators (RRO)

muzik wrote:Are we counting the soldier bugs?

Sorry, I meant Non-totalistic-wise.
Things to work on:
- Find a (7,1)c/8 ship in a Non-totalistic rule (someone please search the rules)
- Find a C/10 in JustFriends
- Find a C/10 in Day and Night
AforAmpere

Posts: 997
Joined: July 1st, 2016, 3:58 pm

### Re: Reflectorless Rotating Oscillators (RRO)

Sometimes, I see "1/2/4/5" and wonder why you can't cram three...
Life is hard. Deal with it.
My favorite oscillator of all time:
`x = 7, y = 5, rule = B3/S2-i3-y4i4b3o\$6bo\$o3b3o\$2o\$bo!`

Hdjensofjfnen

Posts: 1089
Joined: March 15th, 2016, 6:41 pm
Location: r cis θ

### Re: Reflectorless Rotating Oscillators (RRO)

AforAmpere wrote:1/2/4/8:
`x = 44, y = 45, rule = B3-cknq4z5ky6c7/S2-c3-aky4-ajkqw5cjkr6cin7\$14b3o\$14bo\$15bobo\$11b2o2b3o15b2o\$10b2o4b2o14b2o\$11b2o20b2o\$12bo21bo3\$3bob2o\$3b3o33bo\$4bo33b3o\$37b2obo2\$42b2o\$40b2obo\$39b2o2bo\$39b3o9\$2b3o\$o2b2o\$ob2o\$2o2\$3bob2o\$3b3o33bo\$4bo33b3o\$37b2obo3\$9bo21bo\$9b2o20b2o\$10b2o14b2o4b2o\$9b2o15b3o2b2o\$26bobo\$29bo\$27b3o!`

This rule has a nifty pushalong for a T-c/2 - if left alone, the bottom half turns into an instance of the RRO:
`x = 7, y = 10, rule = B3-cknq4z5ky6c7/S2-c3-aky4-ajkqw5cjkr6cin72o\$3o\$2o3\$4bo\$4b2o\$3bob2o\$3bobo\$3b2o!`

Hdjensofjfnen wrote:Sometimes, I see "1/2/4/5" and wonder why you can't cram three...

Well, you technically could, but it wouldn't change the period of the overall mechanism.

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Reflectorless Rotating Oscillators (RRO)

77topaz wrote:
Hdjensofjfnen wrote:Sometimes, I see "1/2/4/5" and wonder why you can't cram three...

Well, you technically could, but it wouldn't change the period of the overall mechanism.
In other words, you can fit in three but you can't make them evenly spaced because the overall period doesn't divide by three.

Macbi

Posts: 660
Joined: March 29th, 2009, 4:58 am

### Re: Reflectorless Rotating Oscillators (RRO)

AforAmpere wrote:1/2/4/8:
`x = 44, y = 45, rule = B3-cknq4z5ky6c7/S2-c3-aky4-ajkqw5cjkr6cin7\$14b3o\$14bo\$15bobo\$11b2o2b3o15b2o\$10b2o4b2o14b2o\$11b2o20b2o\$12bo21bo3\$3bob2o\$3b3o33bo\$4bo33b3o\$37b2obo2\$42b2o\$40b2obo\$39b2o2bo\$39b3o9\$2b3o\$o2b2o\$ob2o\$2o2\$3bob2o\$3b3o33bo\$4bo33b3o\$37b2obo3\$9bo21bo\$9b2o20b2o\$10b2o14b2o4b2o\$9b2o15b3o2b2o\$26bobo\$29bo\$27b3o!`

Is this the highest known number that have been fit into an RRO?

Yes. It should be, at least in this 'rule space'. Still, finding a 1/2/3/4/5/6/7 seems to be almost impossible with the actual methods we have.

Another class, OMOS RROs:
1/2/4:
`x = 89, y = 30, rule = B2ce3anry4-ekrw5ajry6-ik/S2-e3-ijr4ackt5eikny6ak\$3bo31bo31bo\$b3o29b3o29b3o\$bobo29bobo29bobo2\$77bo6b2o\$76b2o7bo\$77bo6b3o3\$b3o29b3o29b3o\$2bo31bo31bo5\$49bo31bo\$48b3o29b3o3\$61b3o6bo\$62bo7b2o\$62b2o6bo2\$48bobo29bobo\$48b3o29b3o\$48bo31bo!`

Edit1:
Another one with slightly slower ships (1/2/4, p236/p118/p59):
`x = 89, y = 39, rule = B2cek3acnry4aiqrtz5-anry6ace7c/S1e2ae3ejnqy4cirtwz5cenr6ac8\$5b2o28b2o28b2o\$4bobo27bobo27bobo2\$76b2o5bo\$77bo6bo\$76b2o5b2o2\$4b3o27b3o27b3o\$4bobo27bobo27bobo7\$49bobo27bobo\$49b3o27b3o2\$61b2o5b2o\$61bo6bo\$62bo5b2o2\$49bobo27bobo\$49b2o28b2o!`

2718281828

Posts: 683
Joined: August 8th, 2017, 5:38 pm

### Re: Reflectorless Rotating Oscillators (RRO)

2718281828 wrote:Another class, OMOS RROs:
1/2/4:
`x = 89, y = 30, rule = B2ce3anry4-ekrw5ajry6-ik/S2-e3-ijr4ackt5eikny6ak\$3bo31bo31bo\$b3o29b3o29b3o\$bobo29bobo29bobo2\$77bo6b2o\$76b2o7bo\$77bo6b3o3\$b3o29b3o29b3o\$2bo31bo31bo5\$49bo31bo\$48b3o29b3o3\$61b3o6bo\$62bo7b2o\$62b2o6bo2\$48bobo29bobo\$48b3o29b3o\$48bo31bo!`

Edit1:
Another one with slightly slower ships (1/2/4, p236/p118/p59):
`x = 89, y = 39, rule = B2cek3acnry4aiqrtz5-anry6ace7c/S1e2ae3ejnqy4cirtwz5cenr6ac8\$5b2o28b2o28b2o\$4bobo27bobo27bobo2\$76b2o5bo\$77bo6bo\$76b2o5b2o2\$4b3o27b3o27b3o\$4bobo27bobo27bobo7\$49bobo27bobo\$49b3o27b3o2\$61b2o5b2o\$61bo6bo\$62bo5b2o2\$49bobo27bobo\$49b2o28b2o!`

Wow, those are really impressive! They're OMOSes with spaceships of two different speeds and RROs with multiplicity, at once!

Unfortunately, both rules are explosive, though. Do you have any examples from non-explosive rules?

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Reflectorless Rotating Oscillators (RRO)

77topaz wrote:Wow, those are really impressive! They're OMOSes with spaceships of two different speeds and RROs with multiplicity, at once!

Unfortunately, both rules are explosive, though. Do you have any examples from non-explosive rules?

The minimum rule for the first one is non-explosive, the other not so much:
`x = 185, y = 139, rule = B2ce3anr4aijntyz5ajry6ace/S2-e3-ijr4ackt5eikny6ak101bo31bo31bo\$99b3o29b3o29b3o\$99bobo29bobo29bobo2\$175bo6b2o\$174b2o7bo\$175bo6b3o3\$99b3o29b3o29b3o\$100bo31bo31bo5\$147bo31bo\$146b3o29b3o3\$159b3o6bo\$160bo7b2o\$160b2o6bo2\$146bobo29bobo\$146b3o29b3o\$146bo31bo50\$2b3obo2bo2b5o2b2o2bo2b2o2b2o2b3obob4ob2o8b8o\$o2bobo2b3o4b4o2b3o2b4o2b2o5bob2o3b7obob3ob2o\$2obob2ob3o3b2o2b2ob2obob4o3bobob3o2b5obo2bo3bob2obo2bo\$2bo2bobo2b4obo2bob3obobo3b3o7b2obo5b2ob3obob2o2bo\$2ob2obo2bo3bobo2b2o2bob4o2b2o2bo2bo2bo4bob4o8bobobo\$bo2bobob2obob4o4b5ob3o2bob5o5b3obo5b2ob4o\$2b2obob6o6bob9obo2b4obo2b3o2bo2b2obo2bobo4bo\$2b3o2bobo2b3o3bobob2o4bob3o2b5ob4o2b9obobo\$o2bobo3b2o2bo3bo4b2obo4bo2bo3b2ob3o2bob8o4bo\$ob3o4bo2bo2b5ob3o3b4o2bobo4bo2b2o2bob2o2b2o3b2ob2o\$b2o2b2obobob3ob2obob2ob2o3b3o3bob3obobobob3ob2o2b2ob2ob2o\$bo6bo5bo2b3o4b2ob2ob2ob2ob5obo5bobob5ob5o\$bo2bo2bo2bob3o3b3ob2o2bo3bo4bo3b2ob3obob2o5bobo\$2obo2bobo2bo2b5o3b2o2b2obob2o2bob3obo2b2obo2b2o6b2ob3o\$bob2ob3obo3bo2b5ob2ob2o4bob6o3b5o3bo2b2o4b2obo\$ob7o3bob3obo2bo4b2obo3bobobobob3ob3o3bo2bo3bobo2bo\$obo2bo2b2o3bob3o6b2o4b6o6bobobobo3bo7b4o\$bo3bo3bobobo2bo2bob2obob3obobob2obo2b2ob3obobob3o3b2o3bo\$o2bo3b3ob2o5bobo3b2o3b3o2b2ob3ob5o4b2o2bob8o\$5obobo3bo3bo2bo2b3o3b2ob2o3bobob2o4b2o2bo2b6obo\$obo2bobob3o3b2obo2bobo3b3o2bob4o2bo3bobob2obob3obo2b2obo\$3obobob2o2b9o3bo5b2ob3o2bob2obobo2b2o2b4ob2o4bo\$b3o3bob2o3bo2bo2bo2bob2obob3ob3obo4b2o3bo2b2o4b3o2bo\$3o6bobo3bo6b2obob2obo2bo3b3obo4bobo4bo4b2o3bo\$o2b7o2bob2o2b3o2bobo2bo2b4obo3b2ob2o4b2o5bob5o\$o5bob4o2bo2b4obo5b2ob3ob2o4b3o4bo2b6o2b4o\$ob2ob2ob3o5bo5b2o5b2obo3bo2bobob4obob3obobobo3b2o\$2bo2b2ob6o8b2ob2obob6o3b3o5bo3b4obo3bo\$2obobo5b2obo4bo2bobo2bobob4o8bo3bo2b3ob3o2b3obo\$2o5bo3bobob3o2b2o6bo3bo2b3o3b3obo2b3obob3ob2obobo\$7obo2bo2bobo3bo2bo3b5o6bo2bo4b5obo2b5obobo\$o2b2o4bo2bob2o3bobo2b3ob6obo4bob2ob6obo4bo2bobo\$5obo4b5obob2ob3obo2b4obo2b2ob3obob3o4bobo3b4o\$2o2b3o3b3o3b2ob3obobo2b7ob3obob2o6bo2bobo3b2o2bo\$2b2obo3bob2o3b4ob3o2bo4bo7bobobo3b2obo5bo2b2o\$bo5bob2ob4o2bo2b2o2b3o2bobo4bo6b2o4bo4b2ob5o\$2bo2b3o2bob5o2b2ob3obob2o4b2o2b2ob5o4b2obo2b5o2bo\$b6o6bo3b3o7b4o5bob3o4b2obo3bo2bo4b3o\$b5obo4b2o3bo3b4ob3o2b3obobo5bob2obo6bob2obobo\$3b2ob2o3bob4ob2ob2obob3o3bo4bo3b4o4b7o5bobo\$b2obob2o2bobo4bobo2bo3b3o2b2o3bob2o3b3o2bobo2bo3b2ob2obo\$2b2o3b6obob3o5b4obob5o2bo2b2obob2ob2o5bob2o2bo\$3bo3bob3obob3obo3b2o2bo10b2o2bob2o2bob2o2bo2b5obo\$2o4bob3o3b2o2bo2b2o2b3o4b2o6b2o2b2ob3o2b2ob4o3bo\$o3bob3o2bo2b2o2bob2obo5b3o4bobo4bobob3ob2o3bo2b2obo\$5bob2ob4o7bobob3obo4bo2bob2ob2ob2o2b2obob2o2b3obo\$bob2o3bo4b5o2bo2bob6o8b3o7b2o7b2obo\$b2ob2o3bobo3bob3obo2bo4bo3b2o2b4obo3bobob2o3b2o5bo\$o2bo7b2obo2bo2b2obo3bob2ob3ob3ob2ob2o3b2obo2b3obo\$obobob2o3bob6o2bo2b2ob2ob2obo2bo4bob2o2bobo2b6ob2obo\$obo3b3obo4bob2obob3ob2o4b2obo2b2o3bob2o2bo4bob3o2b3o\$3bobob4ob3ob3o3b2o2bobobob3o2bo3b2o2bobo4b2o2b3ob2obo\$bo4b2o2bo2bo3bob4ob2o2b2ob2obo2b2obo2b5o4bobo7bo\$2bo2b3obobo2b2obo2bobo5b6obob2o3b2o2bo2bob2o2bobo4bo\$4ob5o3b5ob3obobo5b3o2bo3b2o2b3obob2o2b2ob3obo\$bobob5o4b3ob2o2b2ob3o5bobob3o3b3obob2obo5b2o3bo\$4b2o3b2ob2ob2o3bob5obo2b4ob3obob6ob2o2b4obo3b2o\$b2ob2obo3b2o3bob3obo5b2obo2bo4bo4b5o3b4ob3o2bo\$bo2bobo6bo2bo2b2ob3o7b2o2b4obo2b4ob3obobobobo2bo\$o3bob3obob2o4bo2b2ob3o2b2ob6o2bo3bo2b4o2bobobobob2o\$ob3ob3obobo5b2obo2b4obob2o3b2o3bo5b2ob2o2bo3bob3o\$2b4ob2ob2obo2bob3o2b4obo2bo5b3o3b3obobob3o3bob3o\$obob2obobo5bo2b2o2b2obobob3o2b2o4bo3bob3o2b2o3b2o2bob2o\$ob2ob2ob2o2b4o2b2ob3o2b5obobobo2b3obo3b2o2bob2obo4bobo!`

`x = 205, y = 155, rule = B2cek3acnry4aiqrtz5-anry6ace7c/S1e2ae3ejnqy4cirtwz5cenr6ac125b2o28b2o28b2o\$124bobo27bobo27bobo2\$196b2o5bo\$197bo6bo\$196b2o5b2o2\$124b3o27b3o27b3o\$124bobo27bobo27bobo7\$169bobo27bobo\$169b3o27b3o2\$181b2o5b2o\$181bo6bo\$182bo5b2o2\$169bobo27bobo\$169b2o28b2o68\$2b3obo2bo2b5o2b2o2bo2b2o2b2o2b3obob4ob2o8b8o\$o2bobo2b3o4b4o2b3o2b4o2b2o5bob2o3b7obob3ob2o\$2obob2ob3o3b2o2b2ob2obob4o3bobob3o2b5obo2bo3bob2obo2bo\$2bo2bobo2b4obo2bob3obobo3b3o7b2obo5b2ob3obob2o2bo\$2ob2obo2bo3bobo2b2o2bob4o2b2o2bo2bo2bo4bob4o8bobobo\$bo2bobob2obob4o4b5ob3o2bob5o5b3obo5b2ob4o\$2b2obob6o6bob9obo2b4obo2b3o2bo2b2obo2bobo4bo\$2b3o2bobo2b3o3bobob2o4bob3o2b5ob4o2b9obobo\$o2bobo3b2o2bo3bo4b2obo4bo2bo3b2ob3o2bob8o4bo\$ob3o4bo2bo2b5ob3o3b4o2bobo4bo2b2o2bob2o2b2o3b2ob2o\$b2o2b2obobob3ob2obob2ob2o3b3o3bob3obobobob3ob2o2b2ob2ob2o\$bo6bo5bo2b3o4b2ob2ob2ob2ob5obo5bobob5ob5o\$bo2bo2bo2bob3o3b3ob2o2bo3bo4bo3b2ob3obob2o5bobo\$2obo2bobo2bo2b5o3b2o2b2obob2o2bob3obo2b2obo2b2o6b2ob3o\$bob2ob3obo3bo2b5ob2ob2o4bob6o3b5o3bo2b2o4b2obo\$ob7o3bob3obo2bo4b2obo3bobobobob3ob3o3bo2bo3bobo2bo\$obo2bo2b2o3bob3o6b2o4b6o6bobobobo3bo7b4o\$bo3bo3bobobo2bo2bob2obob3obobob2obo2b2ob3obobob3o3b2o3bo\$o2bo3b3ob2o5bobo3b2o3b3o2b2ob3ob5o4b2o2bob8o\$5obobo3bo3bo2bo2b3o3b2ob2o3bobob2o4b2o2bo2b6obo\$obo2bobob3o3b2obo2bobo3b3o2bob4o2bo3bobob2obob3obo2b2obo\$3obobob2o2b9o3bo5b2ob3o2bob2obobo2b2o2b4ob2o4bo\$b3o3bob2o3bo2bo2bo2bob2obob3ob3obo4b2o3bo2b2o4b3o2bo\$3o6bobo3bo6b2obob2obo2bo3b3obo4bobo4bo4b2o3bo\$o2b7o2bob2o2b3o2bobo2bo2b4obo3b2ob2o4b2o5bob5o\$o5bob4o2bo2b4obo5b2ob3ob2o4b3o4bo2b6o2b4o\$ob2ob2ob3o5bo5b2o5b2obo3bo2bobob4obob3obobobo3b2o\$2bo2b2ob6o8b2ob2obob6o3b3o5bo3b4obo3bo\$2obobo5b2obo4bo2bobo2bobob4o8bo3bo2b3ob3o2b3obo\$2o5bo3bobob3o2b2o6bo3bo2b3o3b3obo2b3obob3ob2obobo\$7obo2bo2bobo3bo2bo3b5o6bo2bo4b5obo2b5obobo\$o2b2o4bo2bob2o3bobo2b3ob6obo4bob2ob6obo4bo2bobo\$5obo4b5obob2ob3obo2b4obo2b2ob3obob3o4bobo3b4o\$2o2b3o3b3o3b2ob3obobo2b7ob3obob2o6bo2bobo3b2o2bo\$2b2obo3bob2o3b4ob3o2bo4bo7bobobo3b2obo5bo2b2o\$bo5bob2ob4o2bo2b2o2b3o2bobo4bo6b2o4bo4b2ob5o\$2bo2b3o2bob5o2b2ob3obob2o4b2o2b2ob5o4b2obo2b5o2bo\$b6o6bo3b3o7b4o5bob3o4b2obo3bo2bo4b3o\$b5obo4b2o3bo3b4ob3o2b3obobo5bob2obo6bob2obobo\$3b2ob2o3bob4ob2ob2obob3o3bo4bo3b4o4b7o5bobo\$b2obob2o2bobo4bobo2bo3b3o2b2o3bob2o3b3o2bobo2bo3b2ob2obo\$2b2o3b6obob3o5b4obob5o2bo2b2obob2ob2o5bob2o2bo\$3bo3bob3obob3obo3b2o2bo10b2o2bob2o2bob2o2bo2b5obo\$2o4bob3o3b2o2bo2b2o2b3o4b2o6b2o2b2ob3o2b2ob4o3bo\$o3bob3o2bo2b2o2bob2obo5b3o4bobo4bobob3ob2o3bo2b2obo\$5bob2ob4o7bobob3obo4bo2bob2ob2ob2o2b2obob2o2b3obo\$bob2o3bo4b5o2bo2bob6o8b3o7b2o7b2obo\$b2ob2o3bobo3bob3obo2bo4bo3b2o2b4obo3bobob2o3b2o5bo\$o2bo7b2obo2bo2b2obo3bob2ob3ob3ob2ob2o3b2obo2b3obo\$obobob2o3bob6o2bo2b2ob2ob2obo2bo4bob2o2bobo2b6ob2obo\$obo3b3obo4bob2obob3ob2o4b2obo2b2o3bob2o2bo4bob3o2b3o\$3bobob4ob3ob3o3b2o2bobobob3o2bo3b2o2bobo4b2o2b3ob2obo\$bo4b2o2bo2bo3bob4ob2o2b2ob2obo2b2obo2b5o4bobo7bo\$2bo2b3obobo2b2obo2bobo5b6obob2o3b2o2bo2bob2o2bobo4bo\$4ob5o3b5ob3obobo5b3o2bo3b2o2b3obob2o2b2ob3obo\$bobob5o4b3ob2o2b2ob3o5bobob3o3b3obob2obo5b2o3bo\$4b2o3b2ob2ob2o3bob5obo2b4ob3obob6ob2o2b4obo3b2o\$b2ob2obo3b2o3bob3obo5b2obo2bo4bo4b5o3b4ob3o2bo\$bo2bobo6bo2bo2b2ob3o7b2o2b4obo2b4ob3obobobobo2bo\$o3bob3obob2o4bo2b2ob3o2b2ob6o2bo3bo2b4o2bobobobob2o\$ob3ob3obobo5b2obo2b4obob2o3b2o3bo5b2ob2o2bo3bob3o\$2b4ob2ob2obo2bob3o2b4obo2bo5b3o3b3obobob3o3bob3o\$obob2obobo5bo2b2o2b2obobob3o2b2o4bo3bob3o2b2o3b2o2bob2o\$ob2ob2ob2o2b4o2b2ob3o2b5obobobo2b3obo3b2o2bob2obo4bobo!`

Here's the script I used to find them, which is a modification of a script by Rhombic:
`# isorule.py# A modification of partialrule.py which returns the isotropic rulespace for a pattern in a format suitable for infoboxes on the wiki.# This simply checks the number of generations you input to see if the pattern's evolution is the same, so it can be used for non-periodic patterns as well.# Shamelessly stolen from Rhombic (Feb 2018) by Ian07 (Jan 2019).import golly as gfrom glife import validintfrom string import replaceHensel = [    ['0'],    ['1c', '1e'],    ['2a', '2c', '2e', '2i', '2k', '2n'],    ['3a', '3c', '3e', '3i', '3j', '3k', '3n', '3q', '3r', '3y'],    ['4a', '4c', '4e', '4i', '4j', '4k', '4n', '4q', '4r', '4t', '4w', '4y', '4z'],    ['5a', '5c', '5e', '5i', '5j', '5k', '5n', '5q', '5r', '5y'],    ['6a', '6c', '6e', '6i', '6k', '6n'],    ['7c', '7e'],    ['8']]# Python versions < 2.4 don't have "sorted" built-intry:    sortedexcept NameError:    def sorted(inlist):        outlist = list(inlist)        outlist.sort()        return outlist# --------------------------------------------------------------------def chunks(l, n):    for i in range(0, len(l), n):        yield l[i:i+n]# --------------------------------------------------------------------def rulestringopt(a):    result = ''    context = ''    lastnum = ''    lastcontext = ''    for i in a:        if i in 'BS':            context = i            result += i        elif i in '012345678':            if (i == lastnum) and (lastcontext == context):                pass            else:                lastcontext = context                lastnum = i                result += i        else:            result += i    result = replace(result, '4aceijknqrtwyz', '4')    result = replace(result, '3aceijknqry', '3')    result = replace(result, '5aceijknqry', '5')    result = replace(result, '2aceikn', '2')    result = replace(result, '6aceikn', '6')    result = replace(result, '1ce', '1')    result = replace(result, '7ce', '7')    return resultclist = []rule = g.getrule().split(':')[0]fuzzer = rule + '9'oldrule = rulerule = ''context = ''deletefrom = []for i in fuzzer:    if i == '-':        deletefrom = [x[1] for x in Hensel[int(context)]]    elif i in '0123456789/S':        if deletefrom:            rule += ''.join(deletefrom)            deletefrom = []        context = i    if len(deletefrom) == 0:        rule += i    elif i in deletefrom:        deletefrom.remove(i)rule = rule.strip('9')if not (rule[0] == 'B' and '/S' in rule):    g.exit('Please set Golly to a Life-like rule.')if g.empty():    g.exit('The pattern is empty.')s = g.getstring('Enter the period:', '', 'Rules calculator')if not validint(s):    g.exit('Bad number: %s' % s)numsteps = int(s)if numsteps < 1:    g.exit('Period must be at least 1.')g.select(g.getrect())g.copy()s = int(s)for i in range(0,s):    g.run(1)    clist.append(list(chunks(g.getcells(g.getrect()), 2)))    mcc = min(clist[i])    clist[i] = [[x[0] - mcc[0], x[1] - mcc[1]] for x in clist[i]]g.show('Processing...')ruleArr = rule.split('/')ruleArr[0] = ruleArr[0].lstrip('B')ruleArr[1] = ruleArr[1].lstrip('S')b_need = []b_OK = []s_need = []s_OK = []context = ''fuzzed = ruleArr[0] + '9'for i in fuzzed:    if i in '0123456789':        if len(context) == 1:            b_need += Hensel[int(context)]            b_OK += Hensel[int(context)]        context = i    elif context != '':        b_need.append(context[0] + i)        b_OK.append(context[0] + i)        context += context[0]context = ''fuzzed = ruleArr[1] + '9'for i in fuzzed:    if i in '0123456789':        if len(context) == 1:            s_need += Hensel[int(context)]            s_OK += Hensel[int(context)]        context = i    elif context != '':        s_need.append(context[0] + i)        s_OK.append(context[0] + i)        context += context[0]for i in [iter2 for iter1 in Hensel for iter2 in iter1]:    if not i in b_OK:        b_OK.append(i)        execfor = 1        # B0 and nontotalistic rulestrings are mutually exclusive        try:            g.setrule(rulestringopt('B' + ''.join(b_OK) + '/S' + ruleArr[1]))        except:            b_OK.remove(i)            execfor = 0        for j in range(0, s * execfor):            g.run(1)            try:                dlist = list(chunks(g.getcells(g.getrect()), 2))                mcc = min(dlist)                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]                if not(clist[j] == dlist):                    b_OK.remove(i)                    break            except:                b_OK.remove(i)                break        g.new('')        g.paste(0, 0, 'or')        g.select(g.getrect())        b_OK.sort()    if not i in s_OK:        s_OK.append(i)        execfor = 1        # B0 and nontotalistic rulestrings are mutually exclusive        try:            g.setrule(rulestringopt('B' + ruleArr[0] + '/S' + ''.join(s_OK)))        except:            s_OK.remove(i)            execfor = 0        for j in range(0, s * execfor):            g.run(1)            try:                dlist = list(chunks(g.getcells(g.getrect()), 2))                mcc = min(dlist)                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]                if not(clist[j] == dlist):                    s_OK.remove(i)                    break            except:                s_OK.remove(i)                break        g.new('')        g.paste(0, 0, 'or')        g.select(g.getrect())        s_OK.sort()    if i in b_need:        b_need.remove(i)        g.setrule(rulestringopt('B' + ''.join(b_need) + '/S' + ruleArr[1]))        for j in range(0, s):            g.run(1)            try:                dlist = list(chunks(g.getcells(g.getrect()), 2))                mcc = min(dlist)                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]                if not(clist[j] == dlist):                    b_need.append(i)                    break            except:                b_need.append(i)                break        g.new('')        g.paste(0, 0, 'or')        g.select(g.getrect())        b_need.sort()    if i in s_need:        s_need.remove(i)        g.setrule(rulestringopt('B' + ruleArr[0] + '/S' + ''.join(s_need)))        for j in range(0, s):            g.run(1)            try:                dlist = list(chunks(g.getcells(g.getrect()), 2))                mcc = min(dlist)                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]                if not(clist[j] == dlist):                    s_need.append(i)                    break            except:                s_need.append(i)                break        g.new('')        g.paste(0, 0, 'or')        g.select(g.getrect())        s_need.sort()g.setrule('B' + ''.join(sorted(b_need)) + '/S' + ''.join(sorted(s_need)))rulemin = g.getrule()g.setrule('B' + ''.join(sorted(b_OK)) + '/S' + ''.join(sorted(s_OK)))rulemax = g.getrule()ruleres = '|isorulemin       = ' + rulemin + '|isorulemax       = ' + rulemaxg.show(ruleres)g.setclipstr(ruleres)g.setrule(oldrule)`

EDIT: So apparently the script messed up for the second one and returned the wrong minimum rule...
Ian07

Posts: 210
Joined: September 22nd, 2018, 8:48 am

Next