## Smallest Oscillators Supporting Specific Periods

For discussion of other cellular automata.

### Re: Smallest Oscillators Supporting Specific Periods

Macbi wrote:All 2 cell populations:

...
p8
x = 3, y = 3, rule = B2en3cejq4cjkt5jkny6i8/S01c2in3-knr4acknqry5qry6aik2bo2$o! ... You probably forgot this 2bit p8: ../forums/viewtopic.php?f=12&t=3020#p53012 #C Moore neighbourhood still violates symmetryx = 2, y = 4, rule = B02/S1Vo3$bo!

Posts: 347
Joined: May 7th, 2016, 8:53 am

### Re: Smallest Oscillators Supporting Specific Periods

Macbi wrote:All 2 cell populations:

...
p8
x = 3, y = 3, rule = B2en3cejq4cjkt5jkny6i8/S01c2in3-knr4acknqry5qry6aik2bo2$o! ... You probably forgot this 2bit p8: ../forums/viewtopic.php?f=12&t=3020#p53012 #C Moore neighbourhood still violates symmetryx = 2, y = 4, rule = B02/S1Vo3$bo!

I don’t allow B0 in my tabulations.

wwei23

Posts: 935
Joined: May 22nd, 2017, 6:14 pm
Location: The (Life?) Universe

### Re: Smallest Oscillators Supporting Specific Periods

:facepalm:

Majestas32

Posts: 524
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

### Re: Smallest Oscillators Supporting Specific Periods

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.

wwei23

Posts: 935
Joined: May 22nd, 2017, 6:14 pm
Location: The (Life?) Universe

### Re: Smallest Oscillators Supporting Specific Periods

Some oscillators, from snowflakes, with cells 19, 14, 15, 16:
x = 42, y = 61, rule = B2ci3ai4c8/S02ae3eijkq4iz5ar6i7e3$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 x = 9, y = 13, rule = B2ek3cei4acjr5c8/S02ack3kn4aen5bo2$3bo$o3bo$3bo5$8bo3$3bo!

2718281828

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

### Re: Smallest Oscillators Supporting Specific Periods

2718281828 wrote:Some oscillators, from snowflakes, with cells 19, 14, 15, 16:
x = 42, y = 61, rule = B2ci3ai4c8/S02ae3eijkq4iz5ar6i7e3$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 x = 9, y = 13, rule = B2ek3cei4acjr5c8/S02ack3kn4aen5bo2$3bo$o3bo$3bo5$8bo3$3bo!

4N: 4 cells (N >= 2)
x = 9, y = 24, rule = B2ei3i/S012ce3j2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo! 4N+2: 4 cells (N >= 2) x = 9, y = 24, rule = B2ei3i/S012ce3j4t2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo!
Iteration of sigma(n)+tau(n)-n [sigma(n)+tau(n)-n : OEIS A163163] (e.g. 16,20,28,34,24,44,46,30,50,49,11,3,3, ...) :
965808 is period 336 (max = 207085118608).
AbhpzTa

Posts: 467
Joined: April 13th, 2016, 9:40 am
Location: Ishikawa Prefecture, Japan

### Re: Smallest Oscillators Supporting Specific Periods

p448 8 cell
x = 4, y = 4, rule = B2in34ce5q/S2-n34cejnyzb2o$o2bo$3bo$b3o! Failed Replicator! x = 4, y = 4, rule = B34ce5cen67c8/S2-i3-jqry4cent5j67c8bo$obo$bobo$2bo!

(That I wish was not failed D:)

jimmyChen2013

Posts: 130
Joined: December 11th, 2017, 3:28 am

### Re: Smallest Oscillators Supporting Specific Periods

i guess the rest of the posts should either improve on the 4n + x populations, or find an oscillator whose population is lower than the 4n + x counterpart.

should we also count the bounding box?
c(>^w^<c)~*
This is Fluffy the cat.
Fluffy wants to discover new things that everyone likes.
Fluffy likes to watch spaceship guns in Golly.
Fluffy knows Natsuki best girl.

Redstoneboi

Posts: 335
Joined: May 14th, 2018, 3:57 am

### Re: Smallest Oscillators Supporting Specific Periods

4 cells for 4N+1 (N>2):
x = 9, y = 22, rule = B2ei3i4r/S012cek3j4t5bo$2bo$o$2bo3$6bo$2bo$o$2bo3$7bo$2bo$o$2bo3$8bo$2bo$o$2bo! so only 4N+3 is missing to be optimized to 4 cells. So far, we have 6 cells for 4N+3: x = 14, y = 28, rule = B2ei3i4r/S012cek3j4t10bo$5bo2bo2$5bo2bo$3bo3$11bo$5bo2bo2$5bo2bo$2bo4$12bo$5bo2bo2$5bo2bo$bo4$13bo$5bo2bo2$5bo2bo$o!

2718281828

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

### Re: Smallest Oscillators Supporting Specific Periods

Does anyone think it might be possible to get any families of oscillators with three cells? I'm imagining that two of the cells are close together and create a spacefiller which evolves until it encounters the third cell. The third cell causes a collapse which sends the spacefiller back to its original state.

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

Macbi wrote:Does anyone think it might be possible to get any families of oscillators with three cells? I'm imagining that two of the cells are close together and create a spacefiller which evolves until it encounters the third cell. The third cell causes a collapse which sends the spacefiller back to its original state.

Two cells are always symmetric, so a 2 cell spacefiller will always expand in at least in two directions. Thus, I think it is not feasible, as a cell would be required on both ends, which makes again 4. However, this might be an option for a 4N+3, 4 cell variant.

If we would use a 2 cells spacefiller with only 1 cell which gets hit, then a fuse could run faster back and catch the other spacefiller (due to symmetry), react and create a cell reflector plus a spaceship on the right line. So I think theoretically this might be feasible, but the reflector itself will still have at least 4 cells, just the predecessor would have 3 cells.

2718281828

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

### Re: Smallest Oscillators Supporting Specific Periods

Macbi wrote:Does anyone think it might be possible to get any families of oscillators with three cells? I'm imagining that two of the cells are close together and create a spacefiller which evolves until it encounters the third cell. The third cell causes a collapse which sends the spacefiller back to its original state.

Here's something that comes fairly close:
x = 10, y = 3, rule = B2cei3aq4aeir5y6i/S01c2i3jry4ent5aj6c7eo$9bo$o!

To fix it, the left side would have to evolve into a spaceship travelling to the right that collides with the leftover dot to produce another quadruple wickstretcher in the original location. It's probably a tall order, but you never know.

Also, an incidental unusual replicator:
x = 10, y = 3, rule = B2cei3aq4aeir5y6i/S01c2i3jry4entw5aj6c7eo$9bo$o!
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce

A for awesome

Posts: 1808
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1

### Re: Smallest Oscillators Supporting Specific Periods

A for awesome wrote:Here's something that comes fairly close:
x = 10, y = 3, rule = B2cei3aq4aeir5y6i/S01c2i3jry4ent5aj6c7eo$9bo$o!

hey a logarithmic almost sawtooth
c(>^w^<c)~*
This is Fluffy the cat.
Fluffy wants to discover new things that everyone likes.
Fluffy likes to watch spaceship guns in Golly.
Fluffy knows Natsuki best girl.

Redstoneboi

Posts: 335
Joined: May 14th, 2018, 3:57 am

### Re: Smallest Oscillators Supporting Specific Periods

To demonstrate that a two cell oscillator can be constructed with any period, first install this Golly rule:

@RULE SO@TREEnum_states=50num_neighbors=4num_nodes=2011 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 492 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 03 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 21 0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 43 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 54 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 61 0 2 1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 83 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 94 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 101 0 2 3 1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 123 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 134 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 141 0 2 3 4 1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 163 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 174 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 181 0 2 3 4 5 1 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 203 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 214 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 221 0 2 3 4 5 6 1 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 243 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 254 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 261 0 2 3 4 5 6 7 1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 283 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 294 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 301 0 2 3 4 5 6 7 8 1 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 323 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 334 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 341 0 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 363 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 374 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 381 0 2 3 4 5 6 7 8 9 10 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 403 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 414 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 421 0 2 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 443 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 454 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 461 0 2 3 4 5 6 7 8 9 10 11 12 1 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 483 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 494 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 501 0 2 3 4 5 6 7 8 9 10 11 12 13 1 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 523 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 534 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 541 0 2 3 4 5 6 7 8 9 10 11 12 13 14 1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 563 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 574 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 581 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 603 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 614 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 621 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 643 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 654 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 661 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 683 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 694 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 701 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 723 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 734 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 741 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 763 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 774 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 781 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 803 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 814 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 821 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 843 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 854 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 861 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 883 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 894 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 901 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 923 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 934 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 941 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 96 963 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 974 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 981 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 1003 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 1014 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 1021 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 1043 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 1054 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 1061 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 108 1083 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 109 1094 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 1101 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 112 1123 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 113 1134 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 1141 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 116 1163 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 1174 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 1181 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 1203 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 1214 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 1221 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 124 1243 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 1254 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 1261 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 1283 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 129 1294 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 1301 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 132 1323 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 1334 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 134 1341 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 36 37 38 39 40 41 42 43 44 45 46 47 48 49 492 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 1363 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 137 1374 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 138 1381 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 1 37 38 39 40 41 42 43 44 45 46 47 48 49 492 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 1403 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 1414 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 1421 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 38 39 40 41 42 43 44 45 46 47 48 49 492 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 1443 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 1454 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 1461 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 1 39 40 41 42 43 44 45 46 47 48 49 492 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 1483 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 149 1494 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1501 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 1 40 41 42 43 44 45 46 47 48 49 492 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 1523 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 1534 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 1541 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 41 42 43 44 45 46 47 48 49 492 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 1563 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 157 1574 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 1581 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 1 42 43 44 45 46 47 48 49 492 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 1603 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 161 1614 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 1621 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 1 43 44 45 46 47 48 49 492 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 164 1643 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 165 1654 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 166 1661 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 1 44 45 46 47 48 49 492 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 168 1683 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 169 1694 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 1701 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 1 45 46 47 48 49 492 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 172 1723 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 173 1734 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 174 1741 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 1 46 47 48 49 492 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 176 1763 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 177 1774 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 178 1781 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 1 47 48 49 492 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 1803 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 1814 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 182 1821 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 1 48 49 492 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 184 1843 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 185 1854 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 186 1861 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 1 49 492 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 188 1883 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 1894 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 1901 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 1 492 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 1923 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 193 1934 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 1941 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 12 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 196 1963 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 197 1974 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 198 1985 3 7 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 103 107 111 115 119 123 127 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199

To construct a period N oscillator (1 <= N < 50) set a cell to state 1 and its northern neighbor to state N.

Brian Prentice
bprentice

Posts: 552
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

### Re: Smallest Oscillators Supporting Specific Periods

bprentice wrote:To demonstrate that a two cell oscillator can be constructed with any period, first install this Golly rule:

rule

To construct a period N oscillator (1 <= N < 50) set a cell to state 1 and its northern neighbor to state N.

Brian Prentice

It's easy to construct rules like this so we're restricting ourselves to 2-state rules
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

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

### Re: Smallest Oscillators Supporting Specific Periods

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

I'll write this up later, but for now enjoy some oscillators:
Period,Minrule,Maxrule1,B2a/S0,B2-ci345678/S0123456782,B2ac/S,B2-i345678/S123456785,B2aci4ej5i/S1e2i3e,B2-ek3-einy45678/S1e2-ac3-y4-c56-i786,B2aci4c5y/S1e2k3kq,B23-aeij4-i56-i78/S1e2ekn34-cq5-i6787,B2-kn3y4c5y/S1e2k3k,B2-k3cknry4-iq56-i78/S1e2ekn3-eiq4-c56788,B2ai3e4irw5i/S012i3aeiky4ej5e6i8,B2-ce3-ai4-e5-y6-c7c8/S012-ac34-cn5-iy6789,B2aci4aez5y6c7e/S1e2k3eik4cey,B2-ek3ckqry4-cijk5-e6-i78/S1e2kn34-iqt5-eij6-ci7810,B2ai3en4ikrw5iy6c8/S012i3aeik4eik5e6i8,B2ain3-ai4-et5678/S012-ac3-jy4-cw5-iy67811,B2ai3eq4irw5in6ci/S012ei3aeir4aejy5ejn6i8,B2-ce3-aijy4-ae5-cey67c8/S012ein3-ky4-cikn5-ci67812,B2ai3er4irw5i7e/S012i3-cjnq4eijnt5ey6ik7e8,B2-ce3-aij4-aet5-cey6-ci7/S012ikn34-ck5-ijn6-c7813,B2ai3eq4jr5i6i/S012ei3aeiky4e5eqr6ci8,B2-ce3-ai4-aeiw5-ey67c/S012-ac34-cir5-ainy67c814,B2ai3en4inrw5i6ci8/S012ei3aeiry4eijrw5acejr6ik8,B2-ce3-aij4-aetz5-y67c8/S012-ac3-kq4-cn5-iny6-ac7c815,B2ai3eqr4jr5ei6ik/S012ei3aeiky4et5eq6ci8,B2-ce3-ai4-aeitw5-y67c/S012-ac34-cir5-ainy6-a7c816,B2ai3ejkn4inrtw5cin6c7e8/S012i3aeiky4eiw5ej6i8,B2ain3-airy4-ae5-ky678/S012ikn34-cjknt5-iy6-ac7817,B2ai3eknr4irtw5i6c7/S012i3aeiky4eijnwy5e6ci8,B2ain3-aijy4-ae5-cey67/S012ikn34-ck5-ijry67c818,B2ai3-acij4iknrw5iq6a/S012i3aeiqy4eint5en6aik8,B2ai3-aij4-aet5-cey6aen7c/S012ikn3-knr4-cky5-cijr6-c7c819,B2aik3enqy4aikrwy5ciy78/S012ei3-cnr4aej5ejn6i8,B2-ce3-aijr4-cet5-q6aen78/S012eik3-cr4-ciny5cejnq6-ac7820,B2ai3en4aknrwy5ceiny6ak8/S012ei3eij4aeir5eijnq6i7e8,B2ain3ceknq4-cei5-jr6-ci78/S012eik3eijnr4-ckt5-ry6-ck7821,B2ai3enq4-ceqtyz5ijry6c8/S012-ac3-cjqy4eijkw5ek6ci8,B2ain3eknqy4-etz5-ceq67c8/S012-ac3-qy4-cnrty5-ijy6-k7c822,B2ai3ekn4cjkr5ainy6cek7e/S012ei3-cqr4eiry5ekqy6i8,B2ain3ceknq4-aeitw5-ceq6-i7/S012-ac3-q4-acjnqt5-ijn6-c7c823,B2ai3enq4aijnrw5ijy6ci8/S012ei3aeik4aejktw5ery6ik7e8,B2-ce3ceknq4-etz5-e6-k8/S012eik3-cry4-cinqy5-aijq6-ac7824,B2ai3er4irw5i6i7e/S012i3-cjnq4eijn5ey6ik7e8,B2-ce3-aij4-aet5-cey6-c7/S012ikn34-ckt5-ijn6-c7825,B2ain3eny4ajkry5-ejqr6aik7e8/S012eik3-ckry4ei5e6-en8,B2ain3-aijr4-eitw5-ejr6-c78/S012eik3-cky4-acjkt5acekq6826,B2ai3ekn4ijrt5i6c/S012i3aeiky4eiwy5e6i8,B2ain3-aijy4-ew5-ey67/S012ikn3-c4-ck5-iy67827,B2ai3enq4aijnrw5cijry6ci8/S012ei3aeikn4aekrw5ekry6ik7e8,B2-ce3eknq4-etz5-e6-k8/S012eik3-cqry4aekrwz5-aijq6-ac7828,B2ai3ejk4airw5ci6c7e8/S012i3aeiky4eijw5ej6i8,B2ain3-aiy4-e5-y678/S012ikn34-cknt5-iy6-c7829,B2ain3anq4aerty5ein6ai/S012ikn3-kqry4aeijkr5aeijn6ci7e8,B2ain3acnq4-jkq5-cjy6-ck7c/S012-ac3-kqy4-cnqty5-y6-a7830,B2ai3ekn4airtw5i6c7e/S012i3aeiky4eijwy5e6i8,B2ain3-aijy4-e5-y67/S012ikn34-cknt5-iy67831,B2ai3nq4aerty5ein6ai/S012ikn3ceijn4aeijkr5eijn6ci7e8,B2ai3cnq4-jkq5einqr6-ck7c/S012-ac3-kqy4-cnty5-ay6-a7832,B2ai3enq4ar5cijk7e8/S012ei3eij4aeiy5eijq6i7e8,B2aik3cenqy4-eint5-y6-c78/S012-ac3-aky4-cjknrt5-y6-c7833,B2ain3cn4eiknqr5i/S012eik3-ackq4ejkr5eij6aci7e8,B2ain3acny4-at5-cny6-ci7c/S012eik3-akq4ejkrw5-y67834,B2ai3ejkn4krt5ciy6ck7e/S012eik3einr4aeitwz5-cnr6ik8,B2ain3-airy4-aei56-ei7/S012-ac3-akq4-cjr56-c7c835,B2ain3kn4ijnry5ijy6ik7e/S012i3eij4-cjnqwz5-ackq6ei7e8,B2ain3ckn4ijnrwy5-cen6-c7/S012in3-knqy4-cn5-a6-c7836,B2ai3ej4irt5ceiy6k8/S012i3eikqy4ej5eiq6ai7e8,B2ain3cejkq4-ace5-j6-ci7c8/S012eik3-acj4-cnty5-jry6-c7837,B2ain3cn4-acnwyz5aikn6c7e/S012i3-ack4ejrtw5eijqr6aik7e8,B2ain3cn4-any5-cjqy6-ai7e/S012ein3-ack4-acikny5-acny6-c7838,B2ai3enq4inrwy5ci6cik8/S012ei3-cjkq4eijrwy5cejkr6ik8,B2-ce3ceknq4-aetz5-y67c8/S012-ac3-jkq4-cn5-ainy6-ac839,B2ain3cn4-acnwyz5aeikn6c7e/S012i3-ackr4ejrtw5eijq6aik7e8,B2ain3cn4-any5-cjqy6-ai7e/S012ein3-ack4ejrtwz5eijkq6-c7840,B2ai3en4-ceijqz5ciy6ak8/S012ei3eij4aeir5eijnq6i7e8,B2ain3ceknq4-cei5-ejr6-ci78/S012eik3eijnr4-ckt5-ry6-ck7841,B2aci3k4arz5ijnry6c78/S1e2kn3ikqry4aeinwy5ainy6i7e,B2aci3kry4-ceinqt5-ce6cen78/S1e2kn3-ejn4-cjkqrt5-eqr6-ac742,B2ai3enq4cinrw5ceij6c/S012ei3aeiry4aejr5-iqry6aik8,B2-ce3-aijr4-aetz5-qy6-ik7c/S012-ac3-ckq4-cinty5-iy6-c843,B2-kn3ekr4r5ijnqy7e8/S12ek3-eikn4-acknqt5cij6-kn7,B2-k3ekr4knqrwz5-er6ekn7e8/S12ekn3-eikn4-acknt5-aery6-kn744,B2ai3cenq4aijnrw5ijy6ci8/S012ei3aeikn4aejkrw5ekry6ik7e8,B2-ce3ceknq4-etz5-ce68/S012eik3-cy4-cinqty5-aijq6-ac7845,B2-ek3kqry4cerz5cijy6ac8/S12kn3aikn4irt5acijr6ai,B2-ek3ckqry4-aikqty5-en6-i7c8/S12kn3aiknr4-cejkn5-enqy6-c7c846,B2ain3eq4inrw5ijk6ci8/S012eik3-jkqr4aejrt5ejny6ik7e8,B2ain3cekq4-aetz5-cy6-k7c8/S012-ac3-kr4-cikny5-aci6-ac7e847,B2-ek3kry4cent5eiy6ac78/S12kn3-ck4-eiqrtw5aiq6aik8,B2-ek3ckry4-aijqry5-jnq6-i78/S12kn3-ck4-eiqrt5-cejy6-c7c848,B2ai3enq4-cekqtz5iy6ci7c8/S012ei3aeik4aektw5ery6i7e8,B2aik3ceknq4-etz5-eq6-k7c8/S012eik3-cqry4-cinqy5-aijq6ein7849,B2ain3en4-acjtz5ejr6ai8/S01e2e3acqry4centyz5-ckqr6ac7e8,B2ain3cen4-acjtz5ejkqr6-c7c8/S01e2e3-eijn4-aijkqr5-qr6-i7850,B2ai3ekn4ijkry5aciq6ci7e/S012ei3-anry4aeij5aeij6i8,B2ain3cekny4-aceqt5-jky67/S012ei3-ay4-ckntyz5-y6-c7c851,B2ain3en4inqrwy5acej6aci8/S01e2e3akqry4acentw5ceiy6c78,B2ain3cen4inqrwy5-iny67c8/S01e2e3akqry4-ijkqrz5-nr6-ai7852,B2ai3ekn4ijkry5aciq6ci7e/S012ei3-anry4aeijz5aeij6i8,B2ain3cekny4-aceqt5-jky67/S012ei3-ay4-cknrty5-y6-c7c853,B2ai3eknq4-acqtyz5an6cin7c8/S01e2e3akqr4acek5einqy6ckn7e,B2ain3eknq4-actz5aknr67c8/S01e2e3akqr4aceknw5-jkr6-ei7e54,B2ai3eny4ijknry5aciq6c7e/S012ei3-aqry4eiz5aeij6i8,B2ain3ceny4-acet5-ky67/S012eik3-aqy4aeiqwz5-y6-c7c855,B2ain3cenq4ainrz5ajqy6ik/S01e2e3ackry4aejk5ceijy6ac7e8,B2ain3cenq4-cekqt5-ein6-c/S01e2ek3ackry4aejkz5-n6-in7856,B2ai3eny4ijknry5aciq6ci/S012eik3ceijk4aeiz5aeij6i8,B2ain3ceny4-aceqt5-ky67c/S012eik3-aqry4aeirwz5-y6-c7c857,B2ai3ekn4eiknrz5ejnqy6aci7c8/S01e2e3ackqr4acejkt5-jkr,B2ain3ekn4-acty5-ir6-k7c8/S01e2e3ackqr4-inqryz5-jr6ekn7c58,B2ai3anq4nrt5in6ei/S012ik3-jknr4aeikry5eij6ci7e8,B2ain3aknqy4-aceijq5cinqr6ein7e8/S012-ac3-j4-cqt5-ny6-a7859,B2ai3ekn4-acjqty5-cijk6aci7c8/S01e2e3-eijn4acejnz5ei6n7c,B2ain3ekn4-acjt5-ij6-k7c8/S01e2e3-eijn4-iqrtwy5acei6ekn7c60,B2ain3cnq4einrt5ijk6e/S012eik3eijqy4aejr5eij6aci78,B2ain3acknq4-ajkqy5-acny6en7c8/S012-ac3-ac4-cinqty5-any67861,B2ai3knq4-acejqz5cery6i7c/S01e2ce3akqry4acekq5jknry6c8,B2ai3cknq4-acejqz5-i6-ac7c/S01e2ce3-eijn4acekqy5-aeiq6-i7862,B2ain3kn4iknqr5eik6ce7c8/S012i3-cjnr4enr5eijry6ai7e8,B2ain3ckn4-ajty5-cjny6-i7c8/S012ei3-cn4enrwz5-an6-c7863,B2aei3cknqy4inqry5acen6cei8/S01e2e3kr4-cijkwy5aeiry6c8,B2aei3cknqy4-acejkw5acekn67c8/S01e2e3kr4-cijy5aeiry6ckn7c864,B2ain3ekny4-aejqtz5ijny6c7e8/S012ei3-jy4eijkw5acer6ei7c8,B2ain3cekny4-aetz5-k6-i78/S012ei3-jy4-cnqrt5-ijny6-ac7c865,B2-ck3k4einqry5n6aci7c8/S01e2ek3ackr4-ceikyz5-ackr6ace7e8,B2-ck3k4-acjtw5knr67c8/S01e2ek3ackr4-ceikyz5-cr6-ik7e866,B2ain3cnq4aeinrt5ij6ce8/S012-ac3-cjkr4aejr5eij6aik7e8,B2ain3cnq4-jkqy5-ceny6-ik7c8/S012-ac3-cj4aejrwz5-nry6-c7867,B2-ck3ckn4einrty5ajny6cik8/S01e2ek3ackr4ekqrtw5aijny6ac,B2-ck3ckn4-acjk5-ei67c8/S01e2ek3ackr4-acijnz5-ce6-i7c68,B2ai3nq4aekrty5eir6ei/S012ikn3ein4-cntwyz5eij6i7e8,B2ai3anqy4-cijnq5-cny6-c7c/S012ikn3aeinr4-cnty5-ry6-ac7869,B2-ck3ckn4einrty5ajny6ci8/S01e2ek3ackr4ekqrtw5aijny6ac,B2-ck3ckn4-acjk5-ei6-k7c8/S01e2ek3ackr4-acijnz5-ce6-i7c70,B2ain3ny4eikqry5ik/S012ik3-kqry4aeikn5einy6i7e8,B2ain3cny4-ajnt5-cjry6aen7c/S012ik3-kqy4-cqrty5-jr6-c7871,B2-ck3cekqy4-ackw5cer6ei/S01e2e3cr4jnrt5ejkqy6cek8,B2-ck3cekqy4-ack5cejr6eik7c/S01e2e3cr4jnqrt5-acin6-ai872,B2ai3acn4-cjkwz5ei6a8/S012-ac3-ckqr4ejk5ein6aci7e8,B2ai3acny4-j5-cjny6-ci8/S012-ac3-cq4ejkqwz5-ay67873,B2-ck3ceq4eijnrt5ckny6-ak7c8/S01e3kr4-aiqtwz5kry6-in8,B2-ck3ceq4-ackwy5-eij6-k7c8/S01e3kr4-aiqt5knqry6-in7c874,B2ai3nqy4ceinqr5ein6e/S012ikn3-jkry4eijkr5eijr6i7e8,B2ai3acnqy4-ajkty5-cy6-ci7c/S012-ac3-jky4-acnqty5-y6-ac7875,B2aei3cekq4-ckqwz5cny6aik7c/S01e3r4acejny5-aiqr6ce7e8,B2aei3cekq4-ck5cnqry6-ce7c/S01e3ar4-ikrtz5-air6-ai7e876,B2ai3nq4aerty5-cqry6ai/S012-ac3ceijn4-cntwyz5eij6ci7e8,B2ai3acnq4-jknq5-cy6-ck/S012-ac3-kqy4-cnty5-nry6-a7877,B2aei3ekq4-cqtwz5aekqy6-kn7c8/S01e3aqr4-aijqyz5aenqy6k8,B2-ck3ekq4-ct5aekqy6-k7c8/S01e3aqr4-aijy5-ijkr6kn7c878,B2ain3nq4-ijz5ceiny6c7e/S012-ac3aeik4enw5aeijk6ai7e8,B2ain3cknq4-ij5-j6-ik7/S012-ac3aeik4enqwz5-nry6-ck7879,B2-ck3eq4-acqwyz5cjnry6-en/S01e2k3ar4-aiqwz5anqy6ae7e8,B2-ck3ceq4-acy5-ei6-e7c/S01e2k3ar4-aiq5anqy6ae7880,B2-ek3r4-cinrwy5cinry6c/S1e2kn3ikqr4-acjryz5aijy6aci7e,B2-ek3r4-cir5-ejq6cek7c/S1e2kn3iknqr4-acry5-enq6-k781,B2-ck3cekny4-acqtwy5cejn6aci8/S01e2e3ar4-ainqr5nr6ce,B2-ck3cekny4-acty5acejn67c8/S01e2e3ar4-ainqr5nr6ace82,B2-ek3kry4ajtyz5-ack6a8/S1e2k3-aejy4cein5aeij6-en7e,B2-ek3kqry4-ceikqr5-c6aen7c8/S1e2k3-aejy4-ajkrtw5-nqy6783,B2-ck3ekqy4-acqwz5cjknr6cei8/S01e2ek3aqr4-aikwz5cijny6ak7e,B2-ck3cekqy4-acw5-aeiy6-a8/S01e2ek3aqr4-aikz5-aekr6ak784,B2aci3kq4aqrty5-acjk6ack7e/S1e2kn3-acey4ceinw5aeijq6-kn7e,B2-ek3kq4-ceikz5-cj6-i7/S1e2kn3-aey4-ajkqrt5-nry6-k785,B2aei3eknqy4-acqwyz5acen6aci7c8/S01e2e3r4-ikqtwz5eiknr6cek7e8,B2aei3eknqy4-acq5-ijky67c8/S01e2e3r4-ikqt5-acjy6-ai7e886,B2aci3kr4ant5einry6ack7e8/S1e2k3-aejy4ceknqr5eiqy6aik7e,B2-ek3ckr4-ceijqz5-cjq6-i78/S1e2ekn3-aejy4-aijtw5-acjn6-c787,B2aei3ekqy4-cqwyz5-ijnr6aci8/S01e3kqr4-ainqt5cejqy6c78,B2aei3ekqy4-cqyz5-ijnr6-ek8/S01e3kqr4-ainqt5-aikr6cn7888,B2-ek3kqry4ce5cijy6c7e8/S12kn3iknr4ikntwy5aijqr6aci,B2-ek3ckqry4cenwyz5-e6-ik78/S12kn3ijknr4-aceqr5-cey67c89,B2aei3-aijr4-acqwyz5aceny6-ek8/S01e2e3kqr4-eikqwz5aikny6c,B2aei3-aijr4-acqy5-ijq6-k7c8/S01e2e3kqr4-eikqw5aikny6acn90,B2aci3r4-aikqw5ceijn7e8/S1e2kn3ijkqr4-nqwz5i7e8,B2aci3kr4-ai5-qy6-ci78/S1e2kn3-aey4-nqw5ciknr6en7e891,B2-ck3cekn4-cktwz5acjny6-kn/S01e2e3cr4cenry5-knr6cek7e8,B2-ck3cekn4-ckt5-eiq67c/S01e2e3cqr4cenryz5-knr6-ai7892,B2-ek3kqry4cer5cijy6c7e8/S12kn3aik4irty5acinq6cik8,B2-ek3ckqry4cerwz5-enr6-ai78/S12kn3aikr4irty5-ejy6-a7c893,B2aei3ceknq4-acwyz5-iq6ci8/S01e3r4cejrt5aeijy6cek78,B2aei3ceknq4-acy5-iq6cin8/S01e3r4-aikny5-cnr6-ai7894,B2aci3kq4ckqyz5ijnry6ac7e/S12ci3-ijqy4ijktwy5eiy6ak7e,B2aci3kq4-aeijrt5-ceq6-ik7e/S12ci3-ijqy4-cenqr5-jnr6-ci7e895,B2-ck3eky4-ckwyz5acen6cik/S01e3qry4cejkr5cejny6ac78,B2-ck3eky4-ckwy5acenq6-an7c/S01e3qry4cejkrz5-aikr6acn7896,B2aci3kq4ikqyz5aeir6aci7e8/S12ce3cejr4-cejnry5ceijn6cei7c,B2aci3kq4ikqwyz5-nqy67e8/S12ce3cejr4-cejnry5-ary6-a7c97,B2-ck3ceknq4-ackqwz5-i6-e8/S01e2e3aqr4-aiknwz5-cjn6ck7e,B2-ck3ceknq4-ackqz5-i6-e7c8/S01e2e3aqr4-aikn5-cjn6ckn7e98,B2ain3en4-acjtz5ejr6ai8/S01e2e3acqry4centz5-ckq6ac7e8,B2ain3cen4-acjtz5ejkqr6-c7c8/S01e2e3-eijn4centwz5-q6-i7899,B2aei3ceqy4-acqw5ejkr6-en7c8/S01e3kr4cejkrt5-ckq6ack8,B2aei3ceqy4-ac5-ciny6-e7c8/S01e3kr4-ainqyz5-ckq6ack7c8100,B2ai3cenq4eijknr5aeknq6cin/S01e2en3akqry4acen5eiy7c8,B2ain3cenq4-actw5-iy6-a7c/S01e2en3-eijn4aceny5-ajqr6ekn7c8101,B2aei3ceknq4-acktwz5cejny6aci8/S01e2e3ar4-aikqr5aeiy6ak7e8,B2aei3ceknq4-ackt5-ik6-e7c8/S01e2e3ar4-aikqr5aeiqy6akn78102,B2ai3cenq4eijknr5acejy6ci8/S01e2e3-eijn4acew5aeij6a,B2ai3cenq4-act5-iq67c8/S01e2e3-eijn4-inqrty5-ny6aek7c104,B2ai3cenq4eijknr5aceny6ci8/S01e2e3-eijn4acejw5eijn6an,B2ai3cenq4-act5-ijq67c8/S01e2e3-eijn4acejwz5-ry6akn7c106,B2ain3en4inqrwy5aej6aci8/S01e2e3akqry4acent5ceiqy6c78,B2ain3cen4inqrwy5-ciny67c8/S01e2e3akqry4-ijkqrz5-nr6-ai78108,B2ai3ekn4-acqtyz5aejkn6ei8/S01e2e3-eijn4aejknz5-aky6kn8,B2ain3cekn4-actyz5-ciy6-ac7c8/S01e2e3-eijn4-ciqrty5-y6ekn8109,B2aei3-aij4-acwyz5-ai6cik/S01e3jr4acejtz5eikny6ck7e8,B2aei3-aij4-acy5-ai6-ae/S01e3jr4-iknqry5eikny6ckn7e8110,B2ai3ceknq4aeinrz5aenqy6-kn7c8/S01e2e3ackry4acekt5aey6ck7e,B2ai3ceknq4-cjktw5-i6-kn7c8/S01e2en3ackry4-ijnqrw5aekny6-i7112,B2ain3eknq4-acjqtw5-ijkr6cik7c8/S01e2e3-eijn4aceknz5aein7e,B2ain3eknq4-acjqt5-ij6-a7c8/S01e2e3-eijn4-ijqrty5-jy6ek7e114,B2ai3cknq4eijknr5en6-kn8/S01e2cek3ackry4-ijqr5-eqr6ckn78,B2ai3cknq4-act5-ijky67c8/S01e2cek3ackry4-ijqr5-eqr6-ai78116,B2ain3enq4inqryz5ny6cei8/S01e2ckn3aqry4aejqt5aijry6cek7c8,B2ain3cenq4-acejkt5-aei67c8/S01e2ckn3acqry4-cikry5-enq6-ai7c8118,B2ai3ekn4-acjqty5-cijk6ci7c8/S01e2e3-eijn4acejnz5cei7c,B2ain3ekn4-acjt5-ij6-k7c8/S01e2e3-eijn4-iqrty5-jnqy6ek7c120,B2ain3cknq4-acjq5cey6i/S01e2cen3-eijn4acekqt5jny6ac8,B2ain3cknq4-acjq5-iq6-ac/S01e2cen3-eijn4-ijnrwz5-aeiq6-i8122,B2ai3ekn4-acjqty5-cijk6aci7c8/S01e2e3-eijn4acejnz5aeir6n7c,B2ain3ekn4-acjt5-ij6-k7c8/S01e2e3-eijn4-iqrty5aeikr6en7c124,B2-ck3q4-acjtz5any6ai7c8/S01e2ek3ackr4ajnqry5ijnr6c7e8,B2-ck3kq4-acjtz5aknry67c8/S01e2ek3ackr4-ceitz5-ceq6-ai7e8126,B2ain3cknq4-acjw5ace6ci/S01e2cen3akqr4cekty5ceijy6ack7c8,B2ain3cknq4-acj5acekn6-n7c/S01e2cen3akqr4-aijnrw5-anq6-ei7c8128,B2ai3knq4-acjqz5cery6i7c/S01e2cen3-eijn4acekqt5jknry6c8,B2ai3cknq4-acjqz5-i6-ac7c/S01e2cen3-eijn4-ijnrwz5-aeiq6-i7c8130,B2ain3cknq4-acjqw5ace6ci/S01e2cen3akqr4cektyz5ceijy6ack7c8,B2ain3cknq4-acjq5acekn6-n7c/S01e2cen3ackqr4-aijnrw5-anq6-ei7c8132,B2aei3eqy4-acqtwy5cejnr6-ek/S01e2ek3r4eknrtw5-acnq6cek78,B2-ck3eqy4-act5-aiy6-ek7c/S01e2ek3r4-acijqy5-cn6-ai78134,B2ai3cnq4eijnrt5aejny6i7c/S01e2cek3akqry4eknqry5ajny6ack,B2ain3cnq4-acqz5-i6-c7c/S01e2-ai3akqry4-acijtw5-ceiq6-i7c8136,B2-ck3ekqy4-actw5-cik6-n/S01e2k3akr4ejkty5-cnq6-in78,B2-ck3cekqy4-act5-cik6/S01e2k3akr4-acinr5-cnq6-i78138,B2aei3ceqy4-ackqyz5ejny6-an/S01e2ek3akr4ejnrty5-ackr6ac7e8,B2-ck3ceqy4-acky5ejnry6-a7c/S01e2ek3akr4-acikqw5-c6-ik78140,B2aei3eqy4-ckqwy5acn6i8/S01e3kr4-iq5-akq6a7c8,B2aei3eqy4-ckq5acnr6ei8/S01e3kr4-iq5-a6an7c8142,B2aei3cekq4-actwyz5cejy6-kn/S01e2ek3cr4ejkt5-anqr6-in78,B2aei3cekq4-act5-inr67c/S01e2ek3cr4ejktz5-nqr6-i78144,B2aei3cnqy4-acjtwy5-aijq6ci8/S01e2ek3ackr4-aeijz5ainry6ce,B2-ck3cnqy4-acjt5-ij6-k7c8/S01e2ek3ackr4-aeij5-cejk6cen7c146,B2-ck3ey4-acqtyz5-aik6-kn8/S01e2k3r4cknr5jkn6ac,B2-ck3ey4-acty5-ik67c8/S01e2k3akr4-aeiqty5ajknq6acn7c148,B2-ck3eky4-ckwz5aekny6cei/S01e3akr4cejky5aceq6e7c8,B2-ck3ekqy4-ck5aekny6-k7c/S01e3akr4-ainrt5aceq6ekn7c8150,B2-ck3ek4-ackwy5ejny6cik8/S01e3ar4ejqrty5-cnqr6ace78,B2-ck3cek4-acky5-cikr6-ae7c8/S01e3ar4-acikn5-cnq6-i78152,B2aei3ceqy4-actwyz5cejnq6ikn8/S01e2ek3akr4ejnt5-ckr6-in78,B2aei3ceqy4-acty5-iky6-ac7c8/S01e2ek3akr4ejntwz5-ck6-i78154,B2-ck3ceq4-acqwz5-aci6aci8/S01e2k3kr4enrtyz5-acn6-in7e8,B2-ck3ceq4-ac5-aci6-ek7c8/S01e2k3kr4-acijk5-acn6-i78156,B2aei3ceqy4-actwyz5cejnq6ikn8/S01e2ek3akr4ejnt5-cr6-in78,B2aei3ceqy4-acty5-iky6-ac7c8/S01e2ek3akr4ejntwz5-c6-i78158,B2aei3cekq4-ckqwz5cny6ik7c/S01e3r4acejny5-iqr6ce7e8,B2aei3cekq4-ck5cnqry6ikn7c/S01e3ar4-ikrtz5-ir6-ai7e8160,B2-ck3eky4-acwyz5-ijkn6cei8/S01e2e3qr4-aiqwz5air6ack7e,B2-ck3ekqy4-acy5-ijn6-k8/S01e2e3aqr4-aiq5aiqr6ack7162,B2-ck3cek4-acwyz5-ainr6cik8/S01e3kqr4-ait5-ek6ekn7e8,B2-ck3cek4-acw5-in6-a7c8/S01e3kqr4-ait5-ek6ekn78164,B2aei3ceqy4-ackwyz5-ikqy6ci/S01e2e3kqr4cekqry5cery6ac78,B2-ck3ceqy4-ackyz5-ikqy6-e7c/S01e2e3kqr4-aijntw5acery6acn78166,B2aei3ceqy4-actwyz5cejn6-ac8/S01e2ek3akr4ejnt5-ckr6-in78,B2aei3ceqy4-acty5-ikqy6-ac7c8/S01e2ek3akr4ejntwz5-c6-i78168,B2-ck3eqy4eijnrt5acekn6-k8/S01e2ek3qr4ceknqr5-jkqr6ace7c8,B2-ck3eqy4-ackz5-ijqy6-k7c8/S01e2ek3qr4-aijtyz5-jkr6-ik7c8170,B2aei3ceqy4-acqw5ejr6cik7c8/S01e2k3kr4cejkrt5-ckq6ack8,B2aei3ceqy4-ac5aejr6-ae7c8/S01e2k3kr4-ainqyz5-cq6ack7c8172,B2-ck3eqy4eijnrt5acekn6-k8/S01e2ek3qr4ceknqr5-jkqr6ac7c8,B2-ck3eqy4-ackz5-ijqy6-k7c8/S01e2ek3qr4-aijtyz5-jkr6acn7c8174,B2aei3eknq4-acqwyz5aceny6-en/S01e2ek3qr4cenqry5ejny6ek7e,B2aei3eknq4-acqy5-ijk6-n7c/S01e2ek3qr4-aijktw5ejny6-ci7176,B2aei3ceknq4-ackwz5ckny6cik7c/S01e2e3qr4acenqy5aeqry6ace7e8,B2aei3ceknq4-ack5cknqy6-an7c/S01e2e3qr4-ijkrtw5aeqry6-ik78178,B2-ck3cenqy4ijknrt5-aikq6-n8/S01e2k3cqr4-aijkn5-jkqr6c8,B2-ck3cenqy4-aceyz5-aiq68/S01e2k3cqr4-aijkn5-jkqr6cen7c8180,B2aei3ceqy4-acqwz5ejr6-e8/S01e3kr4-ainwyz5-ckq6ack8,B2aei3ceqy4-acz5aejqr6-e7c8/S01e3kr4-ainy5-ckq6-ei7c8182,B2-ck3cekny4-actwy5cjnqy6-ek8/S01e2e3ckr4-aikqyz5-cknq6ack7e8,B2-ck3-aijr4-actwy5-eir6-e7c8/S01e2e3ckr4-aikqy5-cknq6-ei7e8184,B2aei3ceqy4-acqwz5ejkr6-e8/S01e3kr4-ainwyz5-ckq6ack8,B2aei3ceqy4-acz5-ciny6-e7c8/S01e3kr4-ainy5-ckq6-ei7c8186,B2-ck3eknqy4-actwyz5-ijkq6aci7c/S01e2e3akqr4-aiqrwz5-cjkq6ak7e8,B2-ck3-aijr4-actwz5-ijq6-e7c/S01e2e3akqr4-aiqrw5-cjkq6akn7e8188,B2-ck3cenq4-ackz5ejnqy6-an8/S01e2e3kr4-inw5ceiry6ce8,B2-ck3cenq4-ackz5-aci6-a8/S01e2e3kr4-inw5-ajnq6-ai7c8190,B2aei3cekn4-ackwz5cejn6cik8/S01e3kqr4-ikntwz5-jr6c7e8,B2-ck3cekn4-ack5-iky6-e8/S01e3kqr4-iknt5-jr6acn7e8192,B2aei3eknq4-acqwyz5ceny6-en/S01e2e3r4-ikrw5-jkn6aek7e8,B2aei3ceknq4-acqyz5-ijqr6-e7c/S01e2e3r4-ikrw5-jkn6-ci78194,B2aei3ceknq4-acktwz5-eik6ci7c8/S01e2ek3akr4-aiqr5aeiny6ak7e8,B2-ck3ceknq4-ackt5-ei6-ae7c8/S01e2ek3akr4-aiqr5-cjqr6akn7e8196,B2aei3eknq4-acqwyz5ceny6cik/S01e2e3r4-ikrw5-jkn6aek7e8,B2aei3ceknq4-acqyz5-ijqr6-ae7c/S01e2e3r4-ikrw5-jkn6-ci78198,B2aei3ceknq4-acktwz5-aiqr6aci8/S01e2e3ar4-aikqr5aeiy6ak7e8,B2aei3ceknq4-ackt5-i6-e7c8/S01e2e3ar4-aikqr5aeiqy6akn78200,B2-ck3cenq4ijknry5ckny6-en8/S01e2ek3kry4acekrt5aceiy6ace,B2-ck3cenq4-acet5cknry6-e7c8/S01e2ek3ckry4-ijnqwy5aceiy6-ik7c202,B2aei3eknq4-acqyz5acnry6aci7c/S01e2e3kry4-aijqwz5-ijkq6ck8,B2aei3ceknq4-acqy5-eik6-k7c/S01e2e3kry4-aijw5-ijk6ckn7c8204,B2aei3ceknq4-acktwz5-aiqr6aci8/S01e2e3ar4-aikqrz5aeiy6ak7e8,B2aei3ceknq4-ackt5-i6-e7c8/S01e2e3ar4-aikqrz5aeiqy6akn78208,B2aei3eknqy4-acwyz5-ij6ci/S01e2en3ry4cejry5cey6cek8,B2aei3eknqy4-acy5-ij6-ak7c/S01e2en3kry4-aikntw5cey6-ai8212,B2aei3eknqy4-acqwyz5-ij6ci/S01e2en3ry4cejry5cey6cek8,B2aei3eknqy4-acqy5-ij6-ak7c/S01e2en3kry4-aikntw5cey6-ai8
All of them have the same starting state.

Period 212:
x = 3, y = 1, rule = B2aei3eknqy4-acqy5-ij6-ak7c/S01e2en3kry4cejqryz5cey6-ai8obo!

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

Did I read that right? 2 cell for everything up to 102?

Majestas32

Posts: 524
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

### Re: Smallest Oscillators Supporting Specific Periods

Majestas32 wrote:Did I read that right? 2 cell for everything up to 102?
Yep. I basically did what I described here, although I only searched within the 7x7 oscillators, and didn't even manage to exhaust all of those.

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

4 cell, period 4N+3 (N>1):
x = 6, y = 4, rule = B2ei3ir4r/S012ce3j5bo$2bo$o$2bo! This completes the proof that all periods can be achieved in at most 4 cells. AbhpzTa wrote:4N: 4 cells (N >= 2) x = 9, y = 24, rule = B2ei3i/S012ce3j2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo!

4N+2: 4 cells (N >= 2)
x = 9, y = 24, rule = B2ei3i/S012ce3j4t2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo! 2718281828 wrote:4 cells for 4N+1 (N>2): x = 9, y = 22, rule = B2ei3i4r/S012cek3j4t5bo$2bo$o$2bo3$6bo$2bo$o$2bo3$7bo$2bo$o$2bo3$8bo$2bo$o$2bo!

EDIT: BlinkerSpawn points out that 2718281828's alleged 4N+1 is actually a 4N+3. The following 4N+1 is needed to complete the proof.
x = 15, y = 4, rule = B2ein3aciq4jkny5any6ck/S012ce3ejnr4jknrwy5-aiky6ci7e14bo$2bo$o2bo\$2bo!
Last edited by Macbi on February 4th, 2019, 11:51 am, edited 1 time in total.

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

I promised to write up an explanation of how I found all those oscillators and then I never did. But in fact the code is pretty much what I described in this comment.
Macbi wrote: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.

The code I used was the following:
#include <iostream>#include <algorithm>#include <string>#include <fstream>const int max_x = 4;const int max_y = 4;const int max_t = 512;const int number_of_transitions = 102;const std::string output_filename = "oscillators-7x7.csv";const std::string log_filename = "log-7x7";const int reporting_interval = 5000000;int transition_from_cells(int parent_0,                          int parent_1,                          int parent_2,                          int parent_3,                          int parent_4,                          int parent_5,                          int parent_6,                          int parent_7,                          int parent_8){  int index = (parent_0<<8)|(parent_1<<7)|(parent_2<<6)|(parent_3<<5)|(parent_4<<4)|(parent_5<<3)|(parent_6<<2)|(parent_7<<1)|parent_8;  static const int lookup_table[512] = {0,1,2,6,1,3,6,13,2,5,4,17,6,14,12,22,1,8,5,16,3,9,14,24,6,16,17,30,13,24,22,35,2,5,7,18,5,15,18,29,4,11,10,27,17,21,28,37,6,16,18,31,14,25,23,41,12,26,28,39,22,40,36,45,1,3,5,14,8,9,16,24,5,15,11,21,16,25,26,40,3,9,15,25,9,19,25,33,14,25,21,34,24,33,40,43,6,14,18,23,16,25,31,41,17,21,27,38,30,34,39,44,13,24,29,41,24,33,41,46,22,40,37,44,35,43,45,49,2,6,4,12,5,14,17,22,7,18,10,28,18,23,28,36,5,16,11,26,15,25,21,40,18,31,27,39,29,41,37,45,4,17,10,28,11,21,27,37,10,27,20,32,27,38,32,42,17,30,27,39,21,34,38,44,28,39,32,47,37,44,42,48,6,13,17,22,16,24,30,35,18,29,27,37,31,41,39,45,14,24,21,40,25,33,34,43,23,41,38,44,41,46,44,49,12,22,28,36,26,40,39,45,28,37,32,42,39,44,47,48,22,35,37,45,40,43,44,49,36,45,42,48,45,49,48,50,51,52,53,57,52,54,57,64,53,56,55,68,57,65,63,73,52,59,56,67,54,60,65,75,57,67,68,81,64,75,73,86,53,56,58,69,56,66,69,80,55,62,61,78,68,72,79,88,57,67,69,82,65,76,74,92,63,77,79,90,73,91,87,96,52,54,56,65,59,60,67,75,56,66,62,72,67,76,77,91,54,60,66,76,60,70,76,84,65,76,72,85,75,84,91,94,57,65,69,74,67,76,82,92,68,72,78,89,81,85,90,95,64,75,80,92,75,84,92,97,73,91,88,95,86,94,96,100,53,57,55,63,56,65,68,73,58,69,61,79,69,74,79,87,56,67,62,77,66,76,72,91,69,82,78,90,80,92,88,96,55,68,61,79,62,72,78,88,61,78,71,83,78,89,83,93,68,81,78,90,72,85,89,95,79,90,83,98,88,95,93,99,57,64,68,73,67,75,81,86,69,80,78,88,82,92,90,96,65,75,72,91,76,84,85,94,74,92,89,95,92,97,95,100,63,73,79,87,77,91,90,96,79,88,83,93,90,95,98,99,73,86,88,96,91,94,95,100,87,96,93,99,96,100,99,101};  // B0-0  // B1c-1 B1e-2  // B2c-3 B2e-4 B2k-5 B2a-6 B2i-7 B2n-8  // B3c-9 B3e-10 B3k-11 B3a-12 B3i-13 B3n-14 B3y-15 B3q-16 B3j-17 B3r-18  // B4c-19 B4e-20 B4k-21 B4a-22 B4i-23 B4n-24 B4y-25 B4q-26 B4j-27 B4r-28 B4t-29 B4w-30 B4z-31  // B5c-32 B5e-33 B5k-34 B5a-35 B5i-36 B5n-37 B5y-38 B5q-39 B5j-40 B5r-41  // B6c-42 B6e-43 B6k-44 B6a-45 B6i-46 B6n-47  // B7c-48 B7e-49  // B8-50  // S0-51  // S1c-52 S1e-53  // S2c-54 S2e-55 S2k-56 S2a-57 S2i-58 S2n-59  // S3c-60 S3e-61 S3k-62 S3a-63 S3i-64 S3n-65 S3y-66 S3q-67 S3j-68 S3r-69  // S4c-70 S4e-71 S4k-72 S4a-73 S4i-74 S4n-75 S4y-76 S4q-77 S4j-78 S4r-79 S4t-80 S4w-81 S4z-82  // S5c-83 S5e-84 S5k-85 S5a-86 S5i-87 S5n-88 S5y-89 S5q-90 S5j-91 S5r-92  // S6c-93 S6e-94 S6k-95 S6a-96 S6i-97 S6n-98  // S7c-99 S7e-100  // S8-101  return lookup_table[index];}std::string rulestring_from_rule(int rule[number_of_transitions]){  static const std::string letters = "cekainyqjrtwz";  static const int numbers_of_letters[9] = {1,2,6,10,13,10,6,2,1};  std::string rulestring = "";  int transition = 0;  for(int BS=0; BS<2; BS++){    if(BS){      rulestring += "/S";    } else {      rulestring += "B";    }    for(int number_of_neighbours = 0; number_of_neighbours <= 8; number_of_neighbours++){      int number_of_letters = numbers_of_letters[number_of_neighbours];      std::string alive = "";      std::string dead = "";      for(int letter_number=0; letter_number < number_of_letters; letter_number++){        char letter = letters[letter_number];        if(rule[transition]){          alive += letter;        } else {          dead += letter;        }        transition++;      }      int number_alive = alive.size();      if(number_alive){        rulestring += std::to_string(number_of_neighbours);        if(number_alive != number_of_letters){          if(number_alive*2 <= number_of_letters){            std::sort(alive.begin(), alive.end());            rulestring += alive;          } else {            std::sort(dead.begin(), dead.end());            rulestring += "-" + dead;          }        }      }    }  }  return rulestring;}std::string minrulestring(int rule[number_of_transitions]){  int minrule[number_of_transitions];  for(int transition = 0; transition < number_of_transitions; transition++){    if(rule[transition] == 1){      minrule[transition] = 1;    } else {      minrule[transition] = 0;    }  }  return rulestring_from_rule(minrule);}std::string maxrulestring(int rule[number_of_transitions]){  int maxrule[number_of_transitions];  for(int transition = 0; transition < number_of_transitions; transition++){    if(rule[transition] == 0){      maxrule[transition] = 0;    } else {      maxrule[transition] = 1;    }  }  return rulestring_from_rule(maxrule);}int cells[max_t][max_y+3][max_x+3];int main(){  std::ofstream output_file;  output_file.open(output_filename);  std::ofstream log_file;  log_file.open(log_filename);  // Grid of cells  for(int x = 0; x < max_x+3; x++){    for(int y = 0; y < max_y+3; y++){      for(int t = 0; t < max_t; t++){        cells[t][y][x] = 0;      }    }  }  cells[0][0][1] = 1;  // Rules which apply at that generation (-1 if undetermined)  int rules[max_t][number_of_transitions];  for(int t = 0; t < max_t; t++){    for(int transition = 0; transition < number_of_transitions; transition++){      rules[t][transition] = -1;    }    rules[t][0] = 0; // B0    rules[t][1] = 0; // B1c    rules[t][2] = 0; // B1e    rules[t][6] = 1; // B2a  }  // Bounding Box  int x_bound[max_t];  int y_bound[max_t];  for(int t = 0; t < max_t; t++){    x_bound[t] = y_bound[t] = 0;  }  x_bound[0] = 2;  y_bound[0] = 1;  // Which transitions need to be set  int new_transitions[max_t][number_of_transitions];  for(int t = 0; t < max_t; t++){    for(int transition = 0; transition < number_of_transitions; transition++){      new_transitions[t][transition] = -1;    }  }  // Number of transitions needing to be set  int number_of_new_transitions[max_t];  for(int t = 0; t < max_t; t++){    number_of_new_transitions[t] = -1;  }  // Integer < pow(2,number_of_new_transitions) to specify in binary which transitions to set  int transitions_to_set[max_t];  for(int t = 0; t < max_t; t++){    transitions_to_set[t] = -1;  }  // Current generation  int t = 0;  // output_file << "Period,Minrule,Maxrule" << std::endl;  bool  completion_flag = false;  int number_of_reports = 0;  int number_of_oscillators = 0;  while(!completion_flag){    for(int count = 0; count < reporting_interval; count++){      if(transitions_to_set[t] == -1){        transitions_to_set[t] = 0;        for(int x=0; x<=x_bound[t]; x++){          for(int y=0; y<=y_bound[t]; y++){            int transition = transition_from_cells(              cells[t][y][x],              cells[t][y][x+1],              cells[t][y+1][x+1],              cells[t][y+1][x],              x==0 ? cells[t][y+1][1] : cells[t][y+1][x-1],              x==0 ? cells[t][y][1] : cells[t][y][x-1],              x==0 ? (y==0 ? cells[t][1][1] : cells[t][y-1][1]) : (y==0 ? cells[t][1][x-1] : cells[t][y-1][x-1]),              y==0 ? cells[t][1][x] : cells[t][y-1][x],              y==0 ? cells[t][1][x+1] : cells[t][y-1][x+1]            );            if((rules[t][transition] == -1) && (new_transitions[t][transition] == -1)){              new_transitions[t][transition] = transition;            }          }        }        //Rearrange new_transitions[t] to get new transitions at the front, and count them        number_of_new_transitions[t] = 0;        for(int transition = 0; transition < number_of_transitions; transition++){          if(new_transitions[t][transition]!=-1){            new_transitions[t][transition] = -1;            new_transitions[t][number_of_new_transitions[t]] = transition;            number_of_new_transitions[t]++;          }        }        if(number_of_new_transitions[t]>30){          log_file << "Possible sign error caused by number_of_new_transitions > 30 (t=" << t << ", " << minrulestring(rules[t]) << ", " << maxrulestring(rules[t]) << ")" << std::endl;        }      }      // Copy rule to next generation      for(int transition = 0; transition < number_of_transitions; transition++){        rules[t+1][transition] = rules[t][transition];      }      // std::cout << "Parent rule:" << minrulestring(rules[t]) << ", " << maxrulestring(rules[t]) << std::endl;      // for(int transition = 0; transition < number_of_transitions; transition++){      //   std::cout << rules[t][transition];      // }      // std::cout << std::endl;      // std::cout << "Parent pattern: (t=" << t << ")" << std::endl;      // for(int y = 0; y<y_bound[t]; y++){      //   for(int x = 0; x<x_bound[t]; x++){      //     std::cout << cells[t][y][x];      //   }      //   std::cout << std::endl;      // }      // Set rule for next generation      for(int i = 0; i < number_of_new_transitions[t]; i++){        rules[t+1][new_transitions[t][i]] = !!(transitions_to_set[t] & (1 << i)); // Check ith bit of transitions_to_set[t]      }      transitions_to_set[t]++;      // Create new Grid      for(int y=0; y<=y_bound[t]; y++){        for(int x=0; x<=x_bound[t]; x++){          int transition = transition_from_cells(            cells[t][y][x],            cells[t][y][x+1],            cells[t][y+1][x+1],            cells[t][y+1][x],            x==0 ? cells[t][y+1][1] : cells[t][y+1][x-1],            x==0 ? cells[t][y][1] : cells[t][y][x-1],            x==0 ? (y==0 ? cells[t][1][1] : cells[t][y-1][1]) : (y==0 ? cells[t][1][x-1] : cells[t][y-1][x-1]),            y==0 ? cells[t][1][x] : cells[t][y-1][x],            y==0 ? cells[t][1][x+1] : cells[t][y-1][x+1]          );          // std::cout << transition << ",";          cells[t+1][y][x] = rules[t+1][transition];          if(cells[t+1][y][x]){            x_bound[t+1] = std::max(x+1,x_bound[t+1]);            y_bound[t+1] = std::max(y+1,y_bound[t+1]);          }        }        // std::cout << std::endl;      }      // Increase current time      t++;      // std::cout << "Child rule:" << minrulestring(rules[t]) << ", " << maxrulestring(rules[t]) << std::endl;      // for(int transition = 0; transition < number_of_transitions; transition++){      //   std::cout << rules[t][transition];      // }      // std::cout << std::endl;      // std::cout << "Child pattern: (t=" << t << ")" << std::endl;      // for(int y = 0; y<y_bound[t]; y++){      //   for(int x = 0; x<x_bound[t]; x++){      //     std::cout << cells[t][y][x];      //   }      //   std::cout << std::endl;      // }      bool backtrack_flag = false;      // Check if pattern is empty      if(!x_bound[t]){        // std::cout << "Empty" << std::endl;        backtrack_flag = true;      }      //Check if pattern is too big      if(!backtrack_flag){        if(t == max_t - 1){          log_file << "Out of time, t=" << t << ", " << minrulestring(rules[t]) << ", " << maxrulestring(rules[t]) << std::endl;          backtrack_flag = true;        }      }      if(!backtrack_flag){        if(x_bound[t] > max_x){          // std::cout << "Out of space (x), t=" << t << ", " << minrulestring(rules[t]) << ", " << maxrulestring(rules[t]) << std::endl;          backtrack_flag = true;        }      }      if(!backtrack_flag){        if(y_bound[t] > max_y){          // std::cout << "Out of space (y), t=" << t << ", " << minrulestring(rules[t]) << ", " << maxrulestring(rules[t]) << std::endl;          backtrack_flag = true;        }      }      //Check if pattern is exploding      // x      if(!backtrack_flag){        if(rules[t][13] == 1){          // >= 2 adjacent          for(int x = 0; x+1<x_bound[t]; x++){            if(              (cells[t][y_bound[t]-1][x] == 1)              && (cells[t][y_bound[t]-1][x+1] == 1)            ){              // std::cout << "Exploding 1" << std::endl;              backtrack_flag = true;              break;            }          }        } else if(rules[t][3] == 0){          // Exactly 2 adjacent          for(int x = 0; x+2<x_bound[t]; x++){            if(              (cells[t][y_bound[t]-1][x] == 0)              && (cells[t][y_bound[t]-1][x+1] == 1)              && (cells[t][y_bound[t]-1][x+2] == 1)              && ((x+3 >= x_bound[t]) || (cells[t][y_bound[t]-1][x+3] == 0))            ){              // std::cout << "Exploding 2" << std::endl;              backtrack_flag = true;              break;            }          }        } else {          //dead,dead,alive,alive,dead,dead          for(int x = 0; x+3<x_bound[t]; x++){            if(              (cells[t][y_bound[t]-1][x] == 0)              && (cells[t][y_bound[t]-1][x+1] == 0)              && (cells[t][y_bound[t]-1][x+2] == 1)              && (cells[t][y_bound[t]-1][x+3] == 1)              && ((x+4 >= x_bound[t]) || (cells[t][y_bound[t]-1][x+4] == 0))              && ((x+5 >= x_bound[t]) || (cells[t][y_bound[t]-1][x+5] == 0))            ){              // std::cout << "Exploding 3" << std::endl;              backtrack_flag = true;              break;            }          }        }      }      // y      if(!backtrack_flag){        if(rules[t][13] == 1){          // >= 2 adjacent          for(int y = 0; y+1<y_bound[t]; y++){            if(              (cells[t][y][x_bound[t]-1] == 1)              && (cells[t][y+1][x_bound[t]-1] == 1)            ){              // std::cout << "Exploding 1" << std::endl;              backtrack_flag = true;              break;            }          }        } else if(rules[t][3] == 0){          // Exactly 2 adjacent          for(int y = 0; y+2<y_bound[t]; y++){            if(              (cells[t][y][x_bound[t]-1] == 0)              && (cells[t][y+1][x_bound[t]-1] == 1)              && (cells[t][y+2][x_bound[t]-1] == 1)              && ((y+3 >= y_bound[t]) || (cells[t][y+3][x_bound[t]-1] == 0))            ){              // std::cout << "Exploding 2" << std::endl;              backtrack_flag = true;              break;            }          }        } else {          //dead,dead,alive,alive,dead,dead          for(int y = 0; y+3<y_bound[t]; y++){            if(              (cells[t][y][x_bound[t]-1] == 0)              && (cells[t][y+1][x_bound[t]-1] == 0)              && (cells[t][y+2][x_bound[t]-1] == 1)              && (cells[t][y+3][x_bound[t]-1] == 1)              && ((y+4 >= y_bound[t]) || (cells[t][y+4][x_bound[t]-1] == 0))              && ((y+5 >= y_bound[t]) || (cells[t][y+5][x_bound[t]-1] == 0))            ){              // std::cout << "Exploding 3" << std::endl;              backtrack_flag = true;              break;            }          }        }      }      // Check if pattern is repeating      // Flipped      if(!backtrack_flag){        for(int t_past = t; t_past >= 0; t_past--){          if(!backtrack_flag){            if(x_bound[t]==y_bound[t_past] && y_bound[t]==x_bound[t_past]){              int equality_flag = true;              for(int x=0;x<x_bound[t];x++){                for(int y=0;y<y_bound[t];y++){                  if(cells[t][y][x] != cells[t_past][x][y]){                    equality_flag = false;                    goto outside_of_loop_0;                  }                }              }              outside_of_loop_0:              if(equality_flag){                backtrack_flag = true;                if(t_past == 0){                  output_file << (2*t) << "," << minrulestring(rules[t]) << "," << maxrulestring(rules[t]) << std::endl;                  number_of_oscillators++;                } else {                  // std::cout << "Repeating" << std::endl;                }              }            }          }        }      }      // Not Flipped      if(!backtrack_flag){        for(int t_past = t-1; t_past >= 0; t_past--){          if(!backtrack_flag){            if(x_bound[t]==x_bound[t_past] && y_bound[t]==y_bound[t_past]){              int equality_flag = true;              for(int x=0;x<x_bound[t];x++){                for(int y=0;y<y_bound[t];y++){                  if(cells[t][y][x] != cells[t_past][y][x]){                    equality_flag = false;                    goto outside_of_loop_1;                  }                }              }              outside_of_loop_1:              if(equality_flag){                backtrack_flag = true;                if(t_past == 0){                  output_file << t << "," << minrulestring(rules[t]) << "," << maxrulestring(rules[t]) << std::endl;                  number_of_oscillators++;                } else {                  // std::cout << "Repeating" << std::endl;                }              }            }          }        }      }      if(backtrack_flag){        while(true){          for(int x = 0; x < x_bound[t]; x++){            for(int y = 0; y < y_bound[t]; y++){              cells[t][y][x] = 0;            }          }          for(int transition = 0; transition < number_of_transitions; transition++){            rules[t][transition] = -1;          }          rules[t][0] = 0; // B0          rules[t][1] = 0; // B1c          rules[t][2] = 0; // B1e          rules[t][6] = 1; // B2a          x_bound[t] = y_bound[t] = 0;          for(int transition = 0; transition < number_of_transitions; transition++){            new_transitions[t][transition] = -1;          }          number_of_new_transitions[t] = -1;          transitions_to_set[t] = -1;          if(t){            t--;          } else {            std::cout << std::endl;            std::cout << "Search complete" << std::endl;            completion_flag = true;            break;          }          if(transitions_to_set[t] < (1 << number_of_new_transitions[t])){            break;          }        }      }      // std::cout << std::endl;      if(completion_flag){        break;      }    }    if(!completion_flag){      number_of_reports++;      std::string progress_string = "";      float progress_float = 0;      float denominator = 1;      for(int t_output = 0; t_output<max_t; t_output++){        if(number_of_new_transitions[t_output]!=-1){          if(t_output){            progress_string += ", ";          }          progress_string += std::to_string(transitions_to_set[t_output] - 1) + "/" + std::to_string(1 << number_of_new_transitions[t_output]);          denominator = denominator/(1 << number_of_new_transitions[t_output]);          progress_float += (transitions_to_set[t_output] - 1)*denominator;        } else {          break;        }      }      std::cout << std::endl;      std::cout << "Number of iterations = " << (number_of_reports*(reporting_interval/1000000)) << " million" << std::endl;      std::cout << "Number of oscillators = " << number_of_oscillators << std::endl;      std::cout << "Progress = " << (100*progress_float) << "\% (" << progress_string << ")" << std::endl;    }  }  output_file.close();  return 0;}
It's written in C++, although I can't remember now why plain C wasn't good enough.
Last edited by Macbi on February 4th, 2019, 5:34 am, edited 1 time in total.

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

@Macbi: Thanks for posting your code. I thought I'd have a go at running it for different size boards. No new periods as yet. It surprised me how dense the results are for odd periods up to the highest odd period found. There's a similar effect for even periods too, but not quite so pronounced.

I had to make a change to the code, as shown in this patch:
@@ -254,7 +254,7 @@             y==0 ? cells[t][1][x+1] : cells[t][y-1][x+1]           );           // std::cout << transition << ",";-          cells[t+1][y][x] = rules[t+1][transition];+          cells[t+1][y][x] = (rules[t+1][transition]>0 ? 1 : 0);           if(cells[t+1][y][x]){             x_bound[t+1] = std::max(x+1,x_bound[t+1]);             y_bound[t+1] = std::max(y+1,y_bound[t+1]);

I'm sure the change I made is resulting in incorrect behaviour - I just haven't figured out precisely how the rules[][] array works yet. To be honest though, I can't see how you could run the program, let alone get results, without that change or something to the same effect. Without it the program segfaults early on - after several out of bounds accesses to lookup_table[] in transition_from_cells() return bogus values (which area then used to index into rules[][]).

I haven't investigated why, but the minimum rules are nearly all wrong too - almost all of them cause the pattern to die out. This may be related to my fix to the bug above.

Edit:
Results from a 5x9 search:

p103
x = 3, y = 1, rule = B2aei3eknq4ejknqt5cy6c7e/S01e2ein3-acn4cinrz5jqr6ek7eobo!
Last edited by wildmyron on February 4th, 2019, 5:49 am, edited 1 time in total.
The latest version of the 5S Project contains over 47,000 spaceships. Tabulated pages up to period 160 are available on the LifeWiki.
wildmyron

Posts: 1115
Joined: August 9th, 2013, 12:45 am

### Re: Smallest Oscillators Supporting Specific Periods

You're right. My fix was to change the line:
        rules[t+1][new_transitions[t][i]] = (transitions_to_set[t] & (1 << i)); // Check ith bit of transitions_to_set[t]
to
        rules[t+1][new_transitions[t][i]] = !!(transitions_to_set[t] & (1 << i)); // Check ith bit of transitions_to_set[t]
since the double exclamation mark has the effect of setting any strictly positive int to 1. I've now edited this fix into my above post.

The reason I made this mistake was that I had removed one of those exclamation marks in my code. This causes the rulespace to be searched in reverse order, meaning that I could run two searches simultaneously and wait for them to meet in the middle. When I came to copy the code to this thread I remembered that I needed to restore it to the "forward" direction, but I foolishly deleted the exclamation mark rather than adding a second.

Incidentally, I never did manage to get the search to "meet in the middle". I took some screenshots to record how far I had got, which I've attached. Somebody might want to search some or all of the missing space, although much of it might be very slow.

screenshot-top.png (179.48 KiB) Viewed 1712 times
screenshot-bottom.png (182.91 KiB) Viewed 1712 times
Last edited by Macbi on February 25th, 2019, 8:07 pm, edited 1 time in total.

Macbi

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

### Re: Smallest Oscillators Supporting Specific Periods

Ahh, thanks for the explanation. I'm currently running 5x9 and 9x5 searches separately (in the forward direction only). I edited the first result into my post above, just after you replied.

I suppose that resuming the 7x7 searches would require some code modification to set the search state. I don't think I'd try tackling it though - it looks to me as though the search space is pretty big.
The latest version of the 5S Project contains over 47,000 spaceships. Tabulated pages up to period 160 are available on the LifeWiki.
wildmyron

Posts: 1115
Joined: August 9th, 2013, 12:45 am

### Re: Smallest Oscillators Supporting Specific Periods

I don't think I ever exhaustively searched 5x7 and 7x5 so I'm doing that now. Of course these results will be included in your searches and the 7x7 search, but I fear that none of those will ever be completed.

EDIT: By the way, "sort filename -gu" is a good way to handle the file of saved oscillators. It shows one oscillator of each period found, sorted into order.

EDIT2: 5x7 done, no new periods.

Macbi

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

PreviousNext