Smallest Oscillators Supporting Specific Periods

For discussion of other cellular automata.
wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 18th, 2018, 11:55 pm

I ran my 3 cell oscillator search for a while longer, and as a result here are a few more 3 cell oscillators which fill in a few of the odd period gaps up to p128 and a few higher even periods. No p59 showed up, so I thought I'd give LLS a go. The search I ran specified the initial phase of the oscillator and D4+ symmetry, without which I don't believe the search would have been viable.

Edit: It's worth noting that the bounding box for the p59 search with LLS was probably larger than necessary, so an equivalent search with smaller bbox would probably have been faster, but I wanted to be sure that the search would be successful. [/edit]

I believe only the following periods up to p100 are missing small oscillators (in this thread):
p71 (8 cells), p75 (29 cells), p81, p83, p85, p91 (14 cells), p93, p95, p97 (24 cells), and p99 (56 cells).

p59, 3 cells, found with LLS after 4.5h of search time

Code: Select all

x = 5, y = 1, rule = B2cen3eny4jkqrtwz5ejkry6ci7c8/S02i3-ei4ijnrwy5aijq6-n7e8
obobo!
p77, 3 cells

Code: Select all

x = 5, y = 1, rule = B2cin3acijr4aityz5an6ci7e/S02ein3i4c5y6k7e8
obobo!
p109, 3 cells

Code: Select all

x = 5, y = 1, rule = B2cik3-ceq4cijkw5cejy6a7e8/S1e2ae4aeiqw5ey6ack7e
obobo!
p117, 3 cells

Code: Select all

x = 5, y = 1, rule = B2-ak3cikqy4-aikqt5knqy67e8/S12ikn3cen4acekq5acei6cek8
obobo!
p127, 3 cells

Code: Select all

x = 5, y = 1, rule = B2-an3qy4nrtyz5ejqry6c8/S1e2-in3jq4acekntw5ar6aen8
obobo!
p172, 3 cells

Code: Select all

x = 2, y = 3, rule = B2ce3en4acntwyz5ei6ei/S12ek3jn4enr5jr6e
2o2$bo!
p176, 3 cells

Code: Select all

x = 5, y = 1, rule = B2cin3-iknq4ijkt5ein6-kn8/S1e3-aein4actyz5acnry6k7e
obobo!
p184, 3 cells

Code: Select all

x = 5, y = 1, rule = B2cn3acjy4aceik5ikqry6akn/S01c2-an3einry4eijnqr5aceiy6c7
obobo!
p240, 3 cells

Code: Select all

x = 5, y = 1, rule = B2cei3aeq4ijkryz5jknqy6ai7c/S02ein3-ciny4akty5cknry6i8
obobo!
p248, 3 cells

Code: Select all

x = 2, y = 3, rule = B2cen3kn4aceqry5acjky6en78/S01c2cei3jkry4ceqyz5-ciqr6c7e
o$bo$o!
p286, 3 cells

Code: Select all

x = 5, y = 1, rule = B2in3aeiqy4aekrtz5eikqr6ain7c8/S01e2i3eijq4aeik5cj6ac8
obobo!
p320, 3 cells

Code: Select all

x = 2, y = 3, rule = B2ein3-jn4kn5aijkq6-i78/S01c2-cn3ijqy4eikw5cey6ci7e
o$bo$o!
p392, 3 cells

Code: Select all

x = 2, y = 3, rule = B2cek3cq4ny5-cnr6c7c/S01e2kn3-aeij4atz5knqr6cin7e
2o2$bo!
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 19th, 2018, 10:13 pm

Pushing the envelope a bit further with high, odd period oscillators having 2 cells in minimum phase (using LLS again):

p49, 2 cells

Code: Select all

x = 3, y = 1, rule = B2ai3knr4inty5aejy6c7e/S01e2ei3cik4-enwyz5aeijn6aci7e
obo!
p51, 2 cells

Code: Select all

x = 3, y = 1, rule = B2ain3ace4ceijkq5ein6i7e8/S01e2ein3acey4cijk5ci6ac7e
obo!
p53, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ck3acek4einrt5cy6cei8/S01e2eik3e4acjny5iy6ck7e
obo!
The non-prime periods were found with a custom search forcing non-subperiodic solutions. I'm looking forward to the improvements to LLS providing this functionality. However, I think I'll leave this project as it is for now.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: Smallest Oscillators Supporting Specific Periods

Post by 77topaz » February 19th, 2018, 10:22 pm

wildmyron wrote:p53, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ck3acek4einrt5cy6cei8/S01e2eik3e4acjny5iy6ck7e
obo!
Hmm... it's interesting how this oscillator behaves somewhat like a failed replicator (look at generation 9).

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: Smallest Oscillators Supporting Specific Periods

Post by 77topaz » February 21st, 2018, 11:54 pm

A slight diversion, but one related to the purpose of this thread:
  • There are only finitely many range-1 isotropic non-totalistic Life-like cellular automata. A very large number, but a finite one.
  • There are only finitely many arrangements of two live cells in a single rule that could be an oscillator, as two live cells separated by more than one dead cell cannot interact with each other without B0 or B1; with B1, all patterns grow infinitely and so cannot oscillate, and B0 oscillators are excluded from this project because of how different B0 rules are from others.
  • Therefore, there are only finitely many unique two-cell oscillators in range-1 rules without B0.
  • Therefore, there must exist some finite number so that all two-cell oscillators in range-1 rules without B0 have periods equal to or less than that number.
I wonder, what is that maximum period? Is that even calculable with current technology?

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » February 22nd, 2018, 5:02 am

In fact I already figured out a bit about the positioning of the cells and the rules.
If you want a 2-cell high-period oscillator the two cells have to be one cell apart orthogonally. Then you have to have B2i, S0, B2a, S1e. You can't have B0, B1c, B1e, B2c, B3i.
So to search for 2 cell oscillators you can set LLS up with two cells one cell apart in some size of bounding box and enforce the rules I mentioned.
Then all LLS is doing is searching through all remaining rules to find an oscillator of the given period.
77topaz wrote:I wonder, what is that maximum period? Is that even calculable with current technology?
More possible to answer would be "What's the minimum period not achievable?".

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 23rd, 2018, 3:39 am

Macbi wrote:In fact I already figured out a bit about the positioning of the cells and the rules.
If you want a 2-cell high-period oscillator the two cells have to be one cell apart orthogonally. Then you have to have B2i, S0, B2a, S1e. You can't have B0, B1c, B1e, B2c, B3i.
So to search for 2 cell oscillators you can set LLS up with two cells one cell apart in some size of bounding box and enforce the rules I mentioned.
Then all LLS is doing is searching through all remaining rules to find an oscillator of the given period.
This is pretty much the method (and rule restrictions I followed), although I also enforced D4+ symmetry and forgot about the -c option (instead I enforced the center cell on in relevant generations). There is however an alternate set of rule restrictions: here are a few high period oscillators without S0 and with B2c in their rule specification:

p30, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aci4aintw/S1e2ai4ei5y
obo!
p32, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aci4aintw/S1e2ai4ei5y
obo!
p34, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-kn3e4t5iqy6i/S12i3eqy4cerw5iy6c7e8
obo!
p36, 2 cells

Code: Select all

x = 3, y = 1, rule = B2acei4cr5e7e/S1e2cik3enr4aet
obo!
p62, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ek3n4ctw/S12i3ace5i
obo!
Here are a few more reductions down to 2 cells for even periods:

p60, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3q4ceinr5j6ci7e/S01e2ek3-acnq4eiknqr5aeiy7e
obo!
p64, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aik3any4eikt5eiy6e8/S01e2-an3knry4-nqtw5iky7e
obo!
p66, 2 cells

Code: Select all

x = 3, y = 1, rule = B2ai3k4cinqty5ijy7e8/S01e2eik3jry4acint5cijny6ac7e
obo!
p68, 2 cells

Code: Select all

x = 3, y = 1, rule = B2ai3aen4ajnrt5eikny6ce7e8/S01e2ei3acery4aceirwy5ceky6c
obo!
Edit: (I couldn't resist)
p70, 2 cells

Code: Select all

x = 3, y = 1, rule = B2ain3acr4eijnwy5-jkny6-cn7e/S01e2-ai3-in4jknty5-qr6-in7e8
obo!
p72, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3cjqy4-aet5-q6ace7e8/S01e2ei3aijkr4ackw5acer6ack
obo!
p74, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ck3aeky4eir5jy8/S01e2eik3en4acnqt5ciny6cek7e
obo!
p76, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3enq4eijkq5ceny6ci7e/S01e2eik3cinr4enrt5-jkr6ei
obo!
p78, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3aenq4aiktw5ae6cei8/S01e2ein3-ain4aijkn5ry6ci
obo!
Most of those searches only took a few minutes. For some reason p80 is taking much longer.
[/edit]

Edit 2:
p80, 2 cells (30 mins in lls)

Code: Select all

x = 3, y = 1, rule = B2aei3acen4aciy5einy6i/S01e2in3aejy4acejn5ij6ac7e
obo!
p82, 2 cells (20 mins in lls)

Code: Select all

x = 3, y = 1, rule = B2aei3ekqry4jnr5cej6ci7e8/S01e2eik3ejnr4cirt5jy6ce7e8
obo!
If anyone is curious, this is the method I've been using to find these (example for p78, 2 minutes search time):

Code: Select all

$ python make_lls_grid.py -p 39 -m 90 -f 3 3 5 7 > osc.txt
$ python lls osc.txt -r pB2ai3-i45678/S012345678 --force_at_most 2 -s "D4+" -m -c 0 2 -c 0 6
[/edit]

Edit 3:
p84, 2 cells

Code: Select all

x = 3, y = 1, rule = B2ai3acejq4eky5eijy6ae7e8/S01e2cei3-ciny4-ejqrz5-cejr7e8
obo!
p86, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3cekqy4-acrt5-aeij6-n7e8/S01e2ekn3einr4nqrtwy5-eqr6ack7e
obo!
[/edit]
Macbi wrote:
77topaz wrote:I wonder, what is that maximum period? Is that even calculable with current technology?
More possible to answer would be "What's the minimum period not achievable?".
Even that might be problematic, because there's no easy way to define a limit on what the bounding box of the oscillator is or what its maximum population is. There's probably a way, but I can't see how you rule out an extremely high period oscillator which grows and grows and then suddenly collapses back down to 2 cells. I suspect though that any upper bound would be astronomically larger than the true value.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
Majestas32
Posts: 549
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » February 23rd, 2018, 9:39 am

Well without b0/b1c/b1e a 2 cell osc has to be within a bounding box of 3x3...
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i

Currently looking for help searching these rules.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » February 23rd, 2018, 10:11 am

wildmyron wrote:There is however an alternate set of rule restrictions: here are a few high period oscillators without S0 and with B2c in their rule specification:
Oh! I missed that possibility. :oops:
Majestas32 wrote:Well without b0/b1c/b1e a 2 cell osc has to be within a bounding box of 3x3...
That's not true either, you can escape with 2a.

User avatar
Majestas32
Posts: 549
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » February 23rd, 2018, 11:12 am

I mean in the 2 cell phase
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i

Currently looking for help searching these rules.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 23rd, 2018, 11:38 am

Macbi wrote:
Majestas32 wrote:Well without b0/b1c/b1e a 2 cell osc has to be within a bounding box of 3x3...
That's not true either, you can escape with 2a.
Majestas32 wrote:I mean in the 2 cell phase
True, the minimum population phase is within a 3x3 bounding box, but the upper bound on an oscillator's period is determined by the total number of cells which are active at any time
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: Smallest Oscillators Supporting Specific Periods

Post by 77topaz » February 23rd, 2018, 4:34 pm

Majestas32 wrote:Well without b0/b1c/b1e a 2 cell osc has to be within a bounding box of 3x3...
That's already what I said earlier. But, I think what wildmyron meant is that LLS requires the bounding box of the entire evolution of the oscillator, which could be significantly larger than 3x3 at high periods.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » March 9th, 2018, 10:39 am

I don't have time to write the code right now (anyone else is welcome to) but I think it might be possible to enumerate every 2-cell oscillator.

Start with a fixed 100 by 100 grid with two cells one cell apart horizontally in the middle of it (actually use symmetry to only simulate one quadrant). Store a partial rule which starts with B2a turned on, B01ce turned off and all other transitions unknown.

Then repeat the following procedure recursively. List all the transitions in the current pattern that aren't yet assigned. For each possible assignment to them evolve the pattern one generation. Then if the pattern has returned to its original state (or its rotation) you've found an oscillator. The current partial rule tells you exactly all the rules it works in. Save the rule for this oscillator and backtrack. If instead you reach a pattern that you've seen in a previous generation (or it's rotation) you have some other oscillator and you should backtrack immediately. You should also backtrack immediately if you create a pattern with two adjacent cells on the outer edge. Because of 2a it will explode.

I believe that this will quite quickly produce a list of all possible 2-cell oscillators. It's searching through the whole 2^transitions sized rulespace, but it can eliminate multiple rules at a time because it keeps track for each evolution of only the transitions needed for that evolution to work.
Last edited by Macbi on June 1st, 2018, 4:58 am, edited 1 time in total.

User avatar
Majestas32
Posts: 549
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » March 9th, 2018, 11:06 am

What about 2 cells 1 cell apart diagonally

With B2en and S01c

Or 2 cells 1 apart knightwise

With b2ak and S0
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i

Currently looking for help searching these rules.

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » March 9th, 2018, 11:10 am

I meant to add that all other oscillators can be enumerated by hand.
Majestas32 wrote:What about 2 cells 1 cell apart diagonally

With B2en and S0
I think it's true that such a pattern can't escape its bounding box without acquiring D8 symmetry which it can't then get rid of. So it's easy to enumerate all such oscillators by hand.

User avatar
Majestas32
Posts: 549
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » March 9th, 2018, 11:18 am

Hmmm, yah.

But knightwise maybe? Or since there can't be 3 cells in a row without symmetry then it can't expand either even with b2ak?
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i

Currently looking for help searching these rules.

User avatar
Majestas32
Posts: 549
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » March 9th, 2018, 11:21 am

This means without b2a 2 cells can only be p1, p2, p3, p4, p6, or p8.
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i

Currently looking for help searching these rules.

wwei23

Re: Smallest Oscillators Supporting Specific Periods

Post by wwei23 » April 1st, 2018, 1:36 pm

BlinkerSpawn wrote:3-cell p3:

Code: Select all

x = 3, y = 3, rule = B3jy/S012c
obo2$bo!

Code: Select all

x=3, y=3, rule=B3ey/S01
bob$$obo!
Edit:
I will tabulate everything here:
viewtopic.php?f=12&t=3352&p=58739#p58739
Edit:
A smaller P3 is known. We need a 2 cell P5, and a P7.

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: Smallest Oscillators Supporting Specific Periods

Post by 77topaz » April 2nd, 2018, 4:14 am

p241, 24 cells:

Code: Select all

x = 11, y = 11, rule = B2in34cij7e8/S1e2ekn34ent6i
4bobo$bo7bo$5bo$3bo3bo$o3bobo3bo$2bo5bo$o3bobo3bo$3bo3bo$5bo$bo7bo$4bo
bo!

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » April 2nd, 2018, 1:41 pm

By the way wwei23, the thread you created tabulating the results is missing the ones from this other thread: http://conwaylife.com/forums/viewtopic. ... ic+periods.

wwei23

Re: Smallest Oscillators Supporting Specific Periods

Post by wwei23 » April 2nd, 2018, 1:47 pm

Macbi wrote:By the way wwei23, the thread you created tabulating the results is missing the ones from this other thread: http://conwaylife.com/forums/viewtopic. ... ic+periods.
I do not allow B0 in my tabulations anymore. It causes an infinite average population, which I cannot accept.
Edit:
[Saka]
ABHPZTA HAS DONE IT AGAIN PEOPLEEEEEEÈÉÊËĒĖĘEE!!!!!!!!
[/Saka]
AbhpzTa wrote:p5:

Code: Select all

x = 3, y = 1, rule = B2aei3e/S01e2ci3e4e
obo!
non-B0 p6:

Code: Select all

x = 3, y = 1, rule = B2aci4c5y6c/S1e2k3q4c
obo!
p7:

Code: Select all

x = 3, y = 1, rule = B2aci4c5y6c/S1e2k3iq4c6i
obo!
p21:

Code: Select all

x = 3, y = 1, rule = B2aci3cq4c5y6c/S1e2k3iqy4ce5y6ain8
obo!

Naszvadi
Posts: 1244
Joined: May 7th, 2016, 8:53 am
Contact:

Re: Smallest Oscillators Supporting Specific Periods

Post by Naszvadi » April 2nd, 2018, 2:44 pm

Macbi wrote:All 2 cell populations:

...
p8

Code: Select all

x = 3, y = 3, rule = B2en3cejq4cjkt5jkny6i8/S01c2in3-knr4acknqry5qry6aik
2bo2$o!
...
You probably forgot this 2bit p8: ../forums/viewtopic.php?f=12&t=3020#p53012

Code: Select all

#C Moore neighbourhood still violates symmetry
x = 2, y = 4, rule = B02/S1V
o3$bo!

wwei23

Re: Smallest Oscillators Supporting Specific Periods

Post by wwei23 » April 2nd, 2018, 2:51 pm

Naszvadi wrote:
Macbi wrote:All 2 cell populations:

...
p8

Code: Select all

x = 3, y = 3, rule = B2en3cejq4cjkt5jkny6i8/S01c2in3-knr4acknqry5qry6aik
2bo2$o!
...
You probably forgot this 2bit p8: ../forums/viewtopic.php?f=12&t=3020#p53012

Code: Select all

#C Moore neighbourhood still violates symmetry
x = 2, y = 4, rule = B02/S1V
o3$bo!
I don’t allow B0 in my tabulations.

User avatar
Majestas32
Posts: 549
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » April 3rd, 2018, 12:19 pm

:facepalm:
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i

Currently looking for help searching these rules.

wwei23

Re: Smallest Oscillators Supporting Specific Periods

Post by wwei23 » April 3rd, 2018, 12:48 pm

We have a P55, but not a 2 cell one.
On the tabulations. Red means bad, like a 3-cell oscillator, or a period without an oscillator.

User avatar
2718281828
Posts: 738
Joined: August 8th, 2017, 5:38 pm

Re: Smallest Oscillators Supporting Specific Periods

Post by 2718281828 » April 20th, 2018, 8:16 am

Some oscillators, from snowflakes, with cells 19, 14, 15, 16:

Code: Select all

x = 42, y = 61, rule = B2ci3ai4c8/S02ae3eijkq4iz5ar6i7e
3$11bo$9bo$4bo$22b2o6bo4b2o$7bo2bo11bo12bo$22b2o6bo6bo$4bo$9bo$11bo7$
11bo16bo2$4bo30bo2$5bobo4bo14bo4bobo2$4bo30bo2$11bo16bo7$11bo15bo$29bo
$4bo29bo2$5bobo4bo15bo2bo2$4bo29bo$29bo$11bo15bo5$29bo$11bo15bo$27b2o$
4bo2$5bobo4bo$30bo$4bo$27b2o$11bo15bo$29bo!
I know, the populations are quite high, but they can cover all large integers (esp. all > 100) by shifting one part (either left or right), so we have
for
4N: 19 cells
4N+1: 14 cells
4N+2: 15 cells
4N+3: 16 cells
I think this is not optimal but a start for large period oscillators.

EDIT1:
4N: 7 cells

Code: Select all

x = 9, y = 13, rule = B2ek3cei4acjr5c8/S02ack3kn4aen
5bo2$3bo$o3bo$3bo5$8bo3$3bo!

Post Reply