Smallest Oscillators Supporting Specific Periods

For discussion of other cellular automata.
AbhpzTa
Posts: 592
Joined: April 13th, 2016, 9:40 am
Location: Ishikawa Prefecture, Japan

Re: Smallest Oscillators Supporting Specific Periods

Post by AbhpzTa » April 20th, 2018, 10:12 am

2718281828 wrote: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!
4N: 4 cells (N >= 2)

Code: Select all

x = 9, y = 24, rule = B2ei3i/S012ce3j
2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo!
4N+2: 4 cells (N >= 2)

Code: Select all

x = 9, y = 24, rule = B2ei3i/S012ce3j4t
2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo!
100009436650194649 = 94649 * 1056634900001

User avatar
jimmyChen2013
Posts: 184
Joined: December 11th, 2017, 3:28 am

Re: Smallest Oscillators Supporting Specific Periods

Post by jimmyChen2013 » June 1st, 2018, 12:47 am

p448 8 cell

Code: Select all

x = 4, y = 4, rule = B2in34ce5q/S2-n34cejnyz
b2o$o2bo$3bo$b3o!

Code: Select all

x = 8, y = 13, rule = B3aeiqr4-aijn5c6cei7/S2cn3-ajr4ceiqt5eijkq6-a7c8
2bo$b3o$5o$b5o$2b5o$3b5o$2b5o$b5o$5o$4o$3o$2o$o!

User avatar
Redstoneboi
Posts: 429
Joined: May 14th, 2018, 3:57 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Redstoneboi » June 1st, 2018, 12:59 am

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」
「Fluffy」is my sutando.
「Fluffy」has the ability to engineer r e p l i c a t o r s.
「Fluffy」likes to watch spaceship guns in Golly.
「Fluffy」knows Natsuki best girl.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by 2718281828 » June 1st, 2018, 2:36 am

4 cells for 4N+1 (N>2):

Code: Select all

x = 9, y = 22, rule = B2ei3i4r/S012cek3j4t
5bo$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:

Code: Select all

x = 14, y = 28, rule = B2ei3i4r/S012cek3j4t
10bo$5bo2bo2$5bo2bo$3bo3$11bo$5bo2bo2$5bo2bo$2bo4$12bo$5bo2bo2$5bo2bo$
bo4$13bo$5bo2bo2$5bo2bo$o!

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » June 1st, 2018, 1:07 pm

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.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by 2718281828 » June 1st, 2018, 1:53 pm

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.

User avatar
praosylen
Posts: 2443
Joined: September 13th, 2014, 5:36 pm
Location: Pembina University, Home of the Gliders
Contact:

Re: Smallest Oscillators Supporting Specific Periods

Post by praosylen » June 1st, 2018, 2:17 pm

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:

Code: Select all

x = 10, y = 3, rule = B2cei3aq4aeir5y6i/S01c2i3jry4ent5aj6c7e
o$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:

Code: Select all

x = 10, y = 3, rule = B2cei3aq4aeir5y6i/S01c2i3jry4entw5aj6c7e
o$9bo$o!
former username: A for Awesome
praosylen#5847 (Discord)

The only decision I made was made
of flowers, to jump universes to one of springtime in
a land of former winter, where no invisible walls stood,
or could stand for more than a few hours at most...

User avatar
Redstoneboi
Posts: 429
Joined: May 14th, 2018, 3:57 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Redstoneboi » June 2nd, 2018, 3:11 am

A for awesome wrote: Here's something that comes fairly close:

Code: Select all

x = 10, y = 3, rule = B2cei3aq4aeir5y6i/S01c2i3jry4ent5aj6c7e
o$9bo$o!
hey a logarithmic almost sawtooth
c(>^w^<c)~*
This is 「Fluffy」
「Fluffy」is my sutando.
「Fluffy」has the ability to engineer r e p l i c a t o r s.
「Fluffy」likes to watch spaceship guns in Golly.
「Fluffy」knows Natsuki best girl.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by bprentice » June 2nd, 2018, 12:00 pm

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

Code: Select all

@RULE SO
@TREE
num_states=50
num_neighbors=4
num_nodes=201
1 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 49
2 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 0
3 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 1
4 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 2
1 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 49
2 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 4
3 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 5
4 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 6
1 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 49
2 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 8
3 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 9
4 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 10
1 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 49
2 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 12
3 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 13
4 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 14
1 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 49
2 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 16
3 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 17
4 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 18
1 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 49
2 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 20
3 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 21
4 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 22
1 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 49
2 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 24
3 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 25
4 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 26
1 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 49
2 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 28
3 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 29
4 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 30
1 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 49
2 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 32
3 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 33
4 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 34
1 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 49
2 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 36
3 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 37
4 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 38
1 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 49
2 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 40
3 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 41
4 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 42
1 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 49
2 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 44
3 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 45
4 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 46
1 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 49
2 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 48
3 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 49
4 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 50
1 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 49
2 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 52
3 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 53
4 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 54
1 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 49
2 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 56
3 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 57
4 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 58
1 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 49
2 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 60
3 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 61
4 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 62
1 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 49
2 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 64
3 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 65
4 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 66
1 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 49
2 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 68
3 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 69
4 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 70
1 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 49
2 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 72
3 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 73
4 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 74
1 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 49
2 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 76
3 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 77
4 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 78
1 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 49
2 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 80
3 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 81
4 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 82
1 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 49
2 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 84
3 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 85
4 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 86
1 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 49
2 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 88
3 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 89
4 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 90
1 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 49
2 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 92
3 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 93
4 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 94
1 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 49
2 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 96
3 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 97
4 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 98
1 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 49
2 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 100
3 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 101
4 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 102
1 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 49
2 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 104
3 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 105
4 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 106
1 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 49
2 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 108
3 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 109
4 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 110
1 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 49
2 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 112
3 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 113
4 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 114
1 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 49
2 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 116
3 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 117
4 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 118
1 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 49
2 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 120
3 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 121
4 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 122
1 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 49
2 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 124
3 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 125
4 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 126
1 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 49
2 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 128
3 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 129
4 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 130
1 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 49
2 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 132
3 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 133
4 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 134
1 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 49
2 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 136
3 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 137
4 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 138
1 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 49
2 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 140
3 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 141
4 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 142
1 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 49
2 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 144
3 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 145
4 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 146
1 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 49
2 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 148
3 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 149
4 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 150
1 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 49
2 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 152
3 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 153
4 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 154
1 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 49
2 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 156
3 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 157
4 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 158
1 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 49
2 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 160
3 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 161
4 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 162
1 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 49
2 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 164
3 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 165
4 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 166
1 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 49
2 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 168
3 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 169
4 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 170
1 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 49
2 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 172
3 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 173
4 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 174
1 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 49
2 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 176
3 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 177
4 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 178
1 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 49
2 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 180
3 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 181
4 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 182
1 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 49
2 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 184
3 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 185
4 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 186
1 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 49
2 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 188
3 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 189
4 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 190
1 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 49
2 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 192
3 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 193
4 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 194
1 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 1
2 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 196
3 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 197
4 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 198
5 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

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

Re: Smallest Oscillators Supporting Specific Periods

Post by BlinkerSpawn » June 2nd, 2018, 1:28 pm

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

Code: Select all

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]

Image

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » June 2nd, 2018, 1:33 pm


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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » June 12th, 2018, 12:45 pm

I'll write this up later, but for now enjoy some oscillators:

Code: Select all

Period,Minrule,Maxrule
1,B2a/S0,B2-ci345678/S012345678
2,B2ac/S,B2-i345678/S12345678
5,B2aci4ej5i/S1e2i3e,B2-ek3-einy45678/S1e2-ac3-y4-c56-i78
6,B2aci4c5y/S1e2k3kq,B23-aeij4-i56-i78/S1e2ekn34-cq5-i678
7,B2-kn3y4c5y/S1e2k3k,B2-k3cknry4-iq56-i78/S1e2ekn3-eiq4-c5678
8,B2ai3e4irw5i/S012i3aeiky4ej5e6i8,B2-ce3-ai4-e5-y6-c7c8/S012-ac34-cn5-iy678
9,B2aci4aez5y6c7e/S1e2k3eik4cey,B2-ek3ckqry4-cijk5-e6-i78/S1e2kn34-iqt5-eij6-ci78
10,B2ai3en4ikrw5iy6c8/S012i3aeik4eik5e6i8,B2ain3-ai4-et5678/S012-ac3-jy4-cw5-iy678
11,B2ai3eq4irw5in6ci/S012ei3aeir4aejy5ejn6i8,B2-ce3-aijy4-ae5-cey67c8/S012ein3-ky4-cikn5-ci678
12,B2ai3er4irw5i7e/S012i3-cjnq4eijnt5ey6ik7e8,B2-ce3-aij4-aet5-cey6-ci7/S012ikn34-ck5-ijn6-c78
13,B2ai3eq4jr5i6i/S012ei3aeiky4e5eqr6ci8,B2-ce3-ai4-aeiw5-ey67c/S012-ac34-cir5-ainy67c8
14,B2ai3en4inrw5i6ci8/S012ei3aeiry4eijrw5acejr6ik8,B2-ce3-aij4-aetz5-y67c8/S012-ac3-kq4-cn5-iny6-ac7c8
15,B2ai3eqr4jr5ei6ik/S012ei3aeiky4et5eq6ci8,B2-ce3-ai4-aeitw5-y67c/S012-ac34-cir5-ainy6-a7c8
16,B2ai3ejkn4inrtw5cin6c7e8/S012i3aeiky4eiw5ej6i8,B2ain3-airy4-ae5-ky678/S012ikn34-cjknt5-iy6-ac78
17,B2ai3eknr4irtw5i6c7/S012i3aeiky4eijnwy5e6ci8,B2ain3-aijy4-ae5-cey67/S012ikn34-ck5-ijry67c8
18,B2ai3-acij4iknrw5iq6a/S012i3aeiqy4eint5en6aik8,B2ai3-aij4-aet5-cey6aen7c/S012ikn3-knr4-cky5-cijr6-c7c8
19,B2aik3enqy4aikrwy5ciy78/S012ei3-cnr4aej5ejn6i8,B2-ce3-aijr4-cet5-q6aen78/S012eik3-cr4-ciny5cejnq6-ac78
20,B2ai3en4aknrwy5ceiny6ak8/S012ei3eij4aeir5eijnq6i7e8,B2ain3ceknq4-cei5-jr6-ci78/S012eik3eijnr4-ckt5-ry6-ck78
21,B2ai3enq4-ceqtyz5ijry6c8/S012-ac3-cjqy4eijkw5ek6ci8,B2ain3eknqy4-etz5-ceq67c8/S012-ac3-qy4-cnrty5-ijy6-k7c8
22,B2ai3ekn4cjkr5ainy6cek7e/S012ei3-cqr4eiry5ekqy6i8,B2ain3ceknq4-aeitw5-ceq6-i7/S012-ac3-q4-acjnqt5-ijn6-c7c8
23,B2ai3enq4aijnrw5ijy6ci8/S012ei3aeik4aejktw5ery6ik7e8,B2-ce3ceknq4-etz5-e6-k8/S012eik3-cry4-cinqy5-aijq6-ac78
24,B2ai3er4irw5i6i7e/S012i3-cjnq4eijn5ey6ik7e8,B2-ce3-aij4-aet5-cey6-c7/S012ikn34-ckt5-ijn6-c78
25,B2ain3eny4ajkry5-ejqr6aik7e8/S012eik3-ckry4ei5e6-en8,B2ain3-aijr4-eitw5-ejr6-c78/S012eik3-cky4-acjkt5acekq68
26,B2ai3ekn4ijrt5i6c/S012i3aeiky4eiwy5e6i8,B2ain3-aijy4-ew5-ey67/S012ikn3-c4-ck5-iy678
27,B2ai3enq4aijnrw5cijry6ci8/S012ei3aeikn4aekrw5ekry6ik7e8,B2-ce3eknq4-etz5-e6-k8/S012eik3-cqry4aekrwz5-aijq6-ac78
28,B2ai3ejk4airw5ci6c7e8/S012i3aeiky4eijw5ej6i8,B2ain3-aiy4-e5-y678/S012ikn34-cknt5-iy6-c78
29,B2ain3anq4aerty5ein6ai/S012ikn3-kqry4aeijkr5aeijn6ci7e8,B2ain3acnq4-jkq5-cjy6-ck7c/S012-ac3-kqy4-cnqty5-y6-a78
30,B2ai3ekn4airtw5i6c7e/S012i3aeiky4eijwy5e6i8,B2ain3-aijy4-e5-y67/S012ikn34-cknt5-iy678
31,B2ai3nq4aerty5ein6ai/S012ikn3ceijn4aeijkr5eijn6ci7e8,B2ai3cnq4-jkq5einqr6-ck7c/S012-ac3-kqy4-cnty5-ay6-a78
32,B2ai3enq4ar5cijk7e8/S012ei3eij4aeiy5eijq6i7e8,B2aik3cenqy4-eint5-y6-c78/S012-ac3-aky4-cjknrt5-y6-c78
33,B2ain3cn4eiknqr5i/S012eik3-ackq4ejkr5eij6aci7e8,B2ain3acny4-at5-cny6-ci7c/S012eik3-akq4ejkrw5-y678
34,B2ai3ejkn4krt5ciy6ck7e/S012eik3einr4aeitwz5-cnr6ik8,B2ain3-airy4-aei56-ei7/S012-ac3-akq4-cjr56-c7c8
35,B2ain3kn4ijnry5ijy6ik7e/S012i3eij4-cjnqwz5-ackq6ei7e8,B2ain3ckn4ijnrwy5-cen6-c7/S012in3-knqy4-cn5-a6-c78
36,B2ai3ej4irt5ceiy6k8/S012i3eikqy4ej5eiq6ai7e8,B2ain3cejkq4-ace5-j6-ci7c8/S012eik3-acj4-cnty5-jry6-c78
37,B2ain3cn4-acnwyz5aikn6c7e/S012i3-ack4ejrtw5eijqr6aik7e8,B2ain3cn4-any5-cjqy6-ai7e/S012ein3-ack4-acikny5-acny6-c78
38,B2ai3enq4inrwy5ci6cik8/S012ei3-cjkq4eijrwy5cejkr6ik8,B2-ce3ceknq4-aetz5-y67c8/S012-ac3-jkq4-cn5-ainy6-ac8
39,B2ain3cn4-acnwyz5aeikn6c7e/S012i3-ackr4ejrtw5eijq6aik7e8,B2ain3cn4-any5-cjqy6-ai7e/S012ein3-ack4ejrtwz5eijkq6-c78
40,B2ai3en4-ceijqz5ciy6ak8/S012ei3eij4aeir5eijnq6i7e8,B2ain3ceknq4-cei5-ejr6-ci78/S012eik3eijnr4-ckt5-ry6-ck78
41,B2aci3k4arz5ijnry6c78/S1e2kn3ikqry4aeinwy5ainy6i7e,B2aci3kry4-ceinqt5-ce6cen78/S1e2kn3-ejn4-cjkqrt5-eqr6-ac7
42,B2ai3enq4cinrw5ceij6c/S012ei3aeiry4aejr5-iqry6aik8,B2-ce3-aijr4-aetz5-qy6-ik7c/S012-ac3-ckq4-cinty5-iy6-c8
43,B2-kn3ekr4r5ijnqy7e8/S12ek3-eikn4-acknqt5cij6-kn7,B2-k3ekr4knqrwz5-er6ekn7e8/S12ekn3-eikn4-acknt5-aery6-kn7
44,B2ai3cenq4aijnrw5ijy6ci8/S012ei3aeikn4aejkrw5ekry6ik7e8,B2-ce3ceknq4-etz5-ce68/S012eik3-cy4-cinqty5-aijq6-ac78
45,B2-ek3kqry4cerz5cijy6ac8/S12kn3aikn4irt5acijr6ai,B2-ek3ckqry4-aikqty5-en6-i7c8/S12kn3aiknr4-cejkn5-enqy6-c7c8
46,B2ain3eq4inrw5ijk6ci8/S012eik3-jkqr4aejrt5ejny6ik7e8,B2ain3cekq4-aetz5-cy6-k7c8/S012-ac3-kr4-cikny5-aci6-ac7e8
47,B2-ek3kry4cent5eiy6ac78/S12kn3-ck4-eiqrtw5aiq6aik8,B2-ek3ckry4-aijqry5-jnq6-i78/S12kn3-ck4-eiqrt5-cejy6-c7c8
48,B2ai3enq4-cekqtz5iy6ci7c8/S012ei3aeik4aektw5ery6i7e8,B2aik3ceknq4-etz5-eq6-k7c8/S012eik3-cqry4-cinqy5-aijq6ein78
49,B2ain3en4-acjtz5ejr6ai8/S01e2e3acqry4centyz5-ckqr6ac7e8,B2ain3cen4-acjtz5ejkqr6-c7c8/S01e2e3-eijn4-aijkqr5-qr6-i78
50,B2ai3ekn4ijkry5aciq6ci7e/S012ei3-anry4aeij5aeij6i8,B2ain3cekny4-aceqt5-jky67/S012ei3-ay4-ckntyz5-y6-c7c8
51,B2ain3en4inqrwy5acej6aci8/S01e2e3akqry4acentw5ceiy6c78,B2ain3cen4inqrwy5-iny67c8/S01e2e3akqry4-ijkqrz5-nr6-ai78
52,B2ai3ekn4ijkry5aciq6ci7e/S012ei3-anry4aeijz5aeij6i8,B2ain3cekny4-aceqt5-jky67/S012ei3-ay4-cknrty5-y6-c7c8
53,B2ai3eknq4-acqtyz5an6cin7c8/S01e2e3akqr4acek5einqy6ckn7e,B2ain3eknq4-actz5aknr67c8/S01e2e3akqr4aceknw5-jkr6-ei7e
54,B2ai3eny4ijknry5aciq6c7e/S012ei3-aqry4eiz5aeij6i8,B2ain3ceny4-acet5-ky67/S012eik3-aqy4aeiqwz5-y6-c7c8
55,B2ain3cenq4ainrz5ajqy6ik/S01e2e3ackry4aejk5ceijy6ac7e8,B2ain3cenq4-cekqt5-ein6-c/S01e2ek3ackry4aejkz5-n6-in78
56,B2ai3eny4ijknry5aciq6ci/S012eik3ceijk4aeiz5aeij6i8,B2ain3ceny4-aceqt5-ky67c/S012eik3-aqry4aeirwz5-y6-c7c8
57,B2ai3ekn4eiknrz5ejnqy6aci7c8/S01e2e3ackqr4acejkt5-jkr,B2ain3ekn4-acty5-ir6-k7c8/S01e2e3ackqr4-inqryz5-jr6ekn7c
58,B2ai3anq4nrt5in6ei/S012ik3-jknr4aeikry5eij6ci7e8,B2ain3aknqy4-aceijq5cinqr6ein7e8/S012-ac3-j4-cqt5-ny6-a78
59,B2ai3ekn4-acjqty5-cijk6aci7c8/S01e2e3-eijn4acejnz5ei6n7c,B2ain3ekn4-acjt5-ij6-k7c8/S01e2e3-eijn4-iqrtwy5acei6ekn7c
60,B2ain3cnq4einrt5ijk6e/S012eik3eijqy4aejr5eij6aci78,B2ain3acknq4-ajkqy5-acny6en7c8/S012-ac3-ac4-cinqty5-any678
61,B2ai3knq4-acejqz5cery6i7c/S01e2ce3akqry4acekq5jknry6c8,B2ai3cknq4-acejqz5-i6-ac7c/S01e2ce3-eijn4acekqy5-aeiq6-i78
62,B2ain3kn4iknqr5eik6ce7c8/S012i3-cjnr4enr5eijry6ai7e8,B2ain3ckn4-ajty5-cjny6-i7c8/S012ei3-cn4enrwz5-an6-c78
63,B2aei3cknqy4inqry5acen6cei8/S01e2e3kr4-cijkwy5aeiry6c8,B2aei3cknqy4-acejkw5acekn67c8/S01e2e3kr4-cijy5aeiry6ckn7c8
64,B2ain3ekny4-aejqtz5ijny6c7e8/S012ei3-jy4eijkw5acer6ei7c8,B2ain3cekny4-aetz5-k6-i78/S012ei3-jy4-cnqrt5-ijny6-ac7c8
65,B2-ck3k4einqry5n6aci7c8/S01e2ek3ackr4-ceikyz5-ackr6ace7e8,B2-ck3k4-acjtw5knr67c8/S01e2ek3ackr4-ceikyz5-cr6-ik7e8
66,B2ain3cnq4aeinrt5ij6ce8/S012-ac3-cjkr4aejr5eij6aik7e8,B2ain3cnq4-jkqy5-ceny6-ik7c8/S012-ac3-cj4aejrwz5-nry6-c78
67,B2-ck3ckn4einrty5ajny6cik8/S01e2ek3ackr4ekqrtw5aijny6ac,B2-ck3ckn4-acjk5-ei67c8/S01e2ek3ackr4-acijnz5-ce6-i7c
68,B2ai3nq4aekrty5eir6ei/S012ikn3ein4-cntwyz5eij6i7e8,B2ai3anqy4-cijnq5-cny6-c7c/S012ikn3aeinr4-cnty5-ry6-ac78
69,B2-ck3ckn4einrty5ajny6ci8/S01e2ek3ackr4ekqrtw5aijny6ac,B2-ck3ckn4-acjk5-ei6-k7c8/S01e2ek3ackr4-acijnz5-ce6-i7c
70,B2ain3ny4eikqry5ik/S012ik3-kqry4aeikn5einy6i7e8,B2ain3cny4-ajnt5-cjry6aen7c/S012ik3-kqy4-cqrty5-jr6-c78
71,B2-ck3cekqy4-ackw5cer6ei/S01e2e3cr4jnrt5ejkqy6cek8,B2-ck3cekqy4-ack5cejr6eik7c/S01e2e3cr4jnqrt5-acin6-ai8
72,B2ai3acn4-cjkwz5ei6a8/S012-ac3-ckqr4ejk5ein6aci7e8,B2ai3acny4-j5-cjny6-ci8/S012-ac3-cq4ejkqwz5-ay678
73,B2-ck3ceq4eijnrt5ckny6-ak7c8/S01e3kr4-aiqtwz5kry6-in8,B2-ck3ceq4-ackwy5-eij6-k7c8/S01e3kr4-aiqt5knqry6-in7c8
74,B2ai3nqy4ceinqr5ein6e/S012ikn3-jkry4eijkr5eijr6i7e8,B2ai3acnqy4-ajkty5-cy6-ci7c/S012-ac3-jky4-acnqty5-y6-ac78
75,B2aei3cekq4-ckqwz5cny6aik7c/S01e3r4acejny5-aiqr6ce7e8,B2aei3cekq4-ck5cnqry6-ce7c/S01e3ar4-ikrtz5-air6-ai7e8
76,B2ai3nq4aerty5-cqry6ai/S012-ac3ceijn4-cntwyz5eij6ci7e8,B2ai3acnq4-jknq5-cy6-ck/S012-ac3-kqy4-cnty5-nry6-a78
77,B2aei3ekq4-cqtwz5aekqy6-kn7c8/S01e3aqr4-aijqyz5aenqy6k8,B2-ck3ekq4-ct5aekqy6-k7c8/S01e3aqr4-aijy5-ijkr6kn7c8
78,B2ain3nq4-ijz5ceiny6c7e/S012-ac3aeik4enw5aeijk6ai7e8,B2ain3cknq4-ij5-j6-ik7/S012-ac3aeik4enqwz5-nry6-ck78
79,B2-ck3eq4-acqwyz5cjnry6-en/S01e2k3ar4-aiqwz5anqy6ae7e8,B2-ck3ceq4-acy5-ei6-e7c/S01e2k3ar4-aiq5anqy6ae78
80,B2-ek3r4-cinrwy5cinry6c/S1e2kn3ikqr4-acjryz5aijy6aci7e,B2-ek3r4-cir5-ejq6cek7c/S1e2kn3iknqr4-acry5-enq6-k7
81,B2-ck3cekny4-acqtwy5cejn6aci8/S01e2e3ar4-ainqr5nr6ce,B2-ck3cekny4-acty5acejn67c8/S01e2e3ar4-ainqr5nr6ace
82,B2-ek3kry4ajtyz5-ack6a8/S1e2k3-aejy4cein5aeij6-en7e,B2-ek3kqry4-ceikqr5-c6aen7c8/S1e2k3-aejy4-ajkrtw5-nqy67
83,B2-ck3ekqy4-acqwz5cjknr6cei8/S01e2ek3aqr4-aikwz5cijny6ak7e,B2-ck3cekqy4-acw5-aeiy6-a8/S01e2ek3aqr4-aikz5-aekr6ak7
84,B2aci3kq4aqrty5-acjk6ack7e/S1e2kn3-acey4ceinw5aeijq6-kn7e,B2-ek3kq4-ceikz5-cj6-i7/S1e2kn3-aey4-ajkqrt5-nry6-k7
85,B2aei3eknqy4-acqwyz5acen6aci7c8/S01e2e3r4-ikqtwz5eiknr6cek7e8,B2aei3eknqy4-acq5-ijky67c8/S01e2e3r4-ikqt5-acjy6-ai7e8
86,B2aci3kr4ant5einry6ack7e8/S1e2k3-aejy4ceknqr5eiqy6aik7e,B2-ek3ckr4-ceijqz5-cjq6-i78/S1e2ekn3-aejy4-aijtw5-acjn6-c7
87,B2aei3ekqy4-cqwyz5-ijnr6aci8/S01e3kqr4-ainqt5cejqy6c78,B2aei3ekqy4-cqyz5-ijnr6-ek8/S01e3kqr4-ainqt5-aikr6cn78
88,B2-ek3kqry4ce5cijy6c7e8/S12kn3iknr4ikntwy5aijqr6aci,B2-ek3ckqry4cenwyz5-e6-ik78/S12kn3ijknr4-aceqr5-cey67c
89,B2aei3-aijr4-acqwyz5aceny6-ek8/S01e2e3kqr4-eikqwz5aikny6c,B2aei3-aijr4-acqy5-ijq6-k7c8/S01e2e3kqr4-eikqw5aikny6acn
90,B2aci3r4-aikqw5ceijn7e8/S1e2kn3ijkqr4-nqwz5i7e8,B2aci3kr4-ai5-qy6-ci78/S1e2kn3-aey4-nqw5ciknr6en7e8
91,B2-ck3cekn4-cktwz5acjny6-kn/S01e2e3cr4cenry5-knr6cek7e8,B2-ck3cekn4-ckt5-eiq67c/S01e2e3cqr4cenryz5-knr6-ai78
92,B2-ek3kqry4cer5cijy6c7e8/S12kn3aik4irty5acinq6cik8,B2-ek3ckqry4cerwz5-enr6-ai78/S12kn3aikr4irty5-ejy6-a7c8
93,B2aei3ceknq4-acwyz5-iq6ci8/S01e3r4cejrt5aeijy6cek78,B2aei3ceknq4-acy5-iq6cin8/S01e3r4-aikny5-cnr6-ai78
94,B2aci3kq4ckqyz5ijnry6ac7e/S12ci3-ijqy4ijktwy5eiy6ak7e,B2aci3kq4-aeijrt5-ceq6-ik7e/S12ci3-ijqy4-cenqr5-jnr6-ci7e8
95,B2-ck3eky4-ckwyz5acen6cik/S01e3qry4cejkr5cejny6ac78,B2-ck3eky4-ckwy5acenq6-an7c/S01e3qry4cejkrz5-aikr6acn78
96,B2aci3kq4ikqyz5aeir6aci7e8/S12ce3cejr4-cejnry5ceijn6cei7c,B2aci3kq4ikqwyz5-nqy67e8/S12ce3cejr4-cejnry5-ary6-a7c
97,B2-ck3ceknq4-ackqwz5-i6-e8/S01e2e3aqr4-aiknwz5-cjn6ck7e,B2-ck3ceknq4-ackqz5-i6-e7c8/S01e2e3aqr4-aikn5-cjn6ckn7e
98,B2ain3en4-acjtz5ejr6ai8/S01e2e3acqry4centz5-ckq6ac7e8,B2ain3cen4-acjtz5ejkqr6-c7c8/S01e2e3-eijn4centwz5-q6-i78
99,B2aei3ceqy4-acqw5ejkr6-en7c8/S01e3kr4cejkrt5-ckq6ack8,B2aei3ceqy4-ac5-ciny6-e7c8/S01e3kr4-ainqyz5-ckq6ack7c8
100,B2ai3cenq4eijknr5aeknq6cin/S01e2en3akqry4acen5eiy7c8,B2ain3cenq4-actw5-iy6-a7c/S01e2en3-eijn4aceny5-ajqr6ekn7c8
101,B2aei3ceknq4-acktwz5cejny6aci8/S01e2e3ar4-aikqr5aeiy6ak7e8,B2aei3ceknq4-ackt5-ik6-e7c8/S01e2e3ar4-aikqr5aeiqy6akn78
102,B2ai3cenq4eijknr5acejy6ci8/S01e2e3-eijn4acew5aeij6a,B2ai3cenq4-act5-iq67c8/S01e2e3-eijn4-inqrty5-ny6aek7c
104,B2ai3cenq4eijknr5aceny6ci8/S01e2e3-eijn4acejw5eijn6an,B2ai3cenq4-act5-ijq67c8/S01e2e3-eijn4acejwz5-ry6akn7c
106,B2ain3en4inqrwy5aej6aci8/S01e2e3akqry4acent5ceiqy6c78,B2ain3cen4inqrwy5-ciny67c8/S01e2e3akqry4-ijkqrz5-nr6-ai78
108,B2ai3ekn4-acqtyz5aejkn6ei8/S01e2e3-eijn4aejknz5-aky6kn8,B2ain3cekn4-actyz5-ciy6-ac7c8/S01e2e3-eijn4-ciqrty5-y6ekn8
109,B2aei3-aij4-acwyz5-ai6cik/S01e3jr4acejtz5eikny6ck7e8,B2aei3-aij4-acy5-ai6-ae/S01e3jr4-iknqry5eikny6ckn7e8
110,B2ai3ceknq4aeinrz5aenqy6-kn7c8/S01e2e3ackry4acekt5aey6ck7e,B2ai3ceknq4-cjktw5-i6-kn7c8/S01e2en3ackry4-ijnqrw5aekny6-i7
112,B2ain3eknq4-acjqtw5-ijkr6cik7c8/S01e2e3-eijn4aceknz5aein7e,B2ain3eknq4-acjqt5-ij6-a7c8/S01e2e3-eijn4-ijqrty5-jy6ek7e
114,B2ai3cknq4eijknr5en6-kn8/S01e2cek3ackry4-ijqr5-eqr6ckn78,B2ai3cknq4-act5-ijky67c8/S01e2cek3ackry4-ijqr5-eqr6-ai78
116,B2ain3enq4inqryz5ny6cei8/S01e2ckn3aqry4aejqt5aijry6cek7c8,B2ain3cenq4-acejkt5-aei67c8/S01e2ckn3acqry4-cikry5-enq6-ai7c8
118,B2ai3ekn4-acjqty5-cijk6ci7c8/S01e2e3-eijn4acejnz5cei7c,B2ain3ekn4-acjt5-ij6-k7c8/S01e2e3-eijn4-iqrty5-jnqy6ek7c
120,B2ain3cknq4-acjq5cey6i/S01e2cen3-eijn4acekqt5jny6ac8,B2ain3cknq4-acjq5-iq6-ac/S01e2cen3-eijn4-ijnrwz5-aeiq6-i8
122,B2ai3ekn4-acjqty5-cijk6aci7c8/S01e2e3-eijn4acejnz5aeir6n7c,B2ain3ekn4-acjt5-ij6-k7c8/S01e2e3-eijn4-iqrty5aeikr6en7c
124,B2-ck3q4-acjtz5any6ai7c8/S01e2ek3ackr4ajnqry5ijnr6c7e8,B2-ck3kq4-acjtz5aknry67c8/S01e2ek3ackr4-ceitz5-ceq6-ai7e8
126,B2ain3cknq4-acjw5ace6ci/S01e2cen3akqr4cekty5ceijy6ack7c8,B2ain3cknq4-acj5acekn6-n7c/S01e2cen3akqr4-aijnrw5-anq6-ei7c8
128,B2ai3knq4-acjqz5cery6i7c/S01e2cen3-eijn4acekqt5jknry6c8,B2ai3cknq4-acjqz5-i6-ac7c/S01e2cen3-eijn4-ijnrwz5-aeiq6-i7c8
130,B2ain3cknq4-acjqw5ace6ci/S01e2cen3akqr4cektyz5ceijy6ack7c8,B2ain3cknq4-acjq5acekn6-n7c/S01e2cen3ackqr4-aijnrw5-anq6-ei7c8
132,B2aei3eqy4-acqtwy5cejnr6-ek/S01e2ek3r4eknrtw5-acnq6cek78,B2-ck3eqy4-act5-aiy6-ek7c/S01e2ek3r4-acijqy5-cn6-ai78
134,B2ai3cnq4eijnrt5aejny6i7c/S01e2cek3akqry4eknqry5ajny6ack,B2ain3cnq4-acqz5-i6-c7c/S01e2-ai3akqry4-acijtw5-ceiq6-i7c8
136,B2-ck3ekqy4-actw5-cik6-n/S01e2k3akr4ejkty5-cnq6-in78,B2-ck3cekqy4-act5-cik6/S01e2k3akr4-acinr5-cnq6-i78
138,B2aei3ceqy4-ackqyz5ejny6-an/S01e2ek3akr4ejnrty5-ackr6ac7e8,B2-ck3ceqy4-acky5ejnry6-a7c/S01e2ek3akr4-acikqw5-c6-ik78
140,B2aei3eqy4-ckqwy5acn6i8/S01e3kr4-iq5-akq6a7c8,B2aei3eqy4-ckq5acnr6ei8/S01e3kr4-iq5-a6an7c8
142,B2aei3cekq4-actwyz5cejy6-kn/S01e2ek3cr4ejkt5-anqr6-in78,B2aei3cekq4-act5-inr67c/S01e2ek3cr4ejktz5-nqr6-i78
144,B2aei3cnqy4-acjtwy5-aijq6ci8/S01e2ek3ackr4-aeijz5ainry6ce,B2-ck3cnqy4-acjt5-ij6-k7c8/S01e2ek3ackr4-aeij5-cejk6cen7c
146,B2-ck3ey4-acqtyz5-aik6-kn8/S01e2k3r4cknr5jkn6ac,B2-ck3ey4-acty5-ik67c8/S01e2k3akr4-aeiqty5ajknq6acn7c
148,B2-ck3eky4-ckwz5aekny6cei/S01e3akr4cejky5aceq6e7c8,B2-ck3ekqy4-ck5aekny6-k7c/S01e3akr4-ainrt5aceq6ekn7c8
150,B2-ck3ek4-ackwy5ejny6cik8/S01e3ar4ejqrty5-cnqr6ace78,B2-ck3cek4-acky5-cikr6-ae7c8/S01e3ar4-acikn5-cnq6-i78
152,B2aei3ceqy4-actwyz5cejnq6ikn8/S01e2ek3akr4ejnt5-ckr6-in78,B2aei3ceqy4-acty5-iky6-ac7c8/S01e2ek3akr4ejntwz5-ck6-i78
154,B2-ck3ceq4-acqwz5-aci6aci8/S01e2k3kr4enrtyz5-acn6-in7e8,B2-ck3ceq4-ac5-aci6-ek7c8/S01e2k3kr4-acijk5-acn6-i78
156,B2aei3ceqy4-actwyz5cejnq6ikn8/S01e2ek3akr4ejnt5-cr6-in78,B2aei3ceqy4-acty5-iky6-ac7c8/S01e2ek3akr4ejntwz5-c6-i78
158,B2aei3cekq4-ckqwz5cny6ik7c/S01e3r4acejny5-iqr6ce7e8,B2aei3cekq4-ck5cnqry6ikn7c/S01e3ar4-ikrtz5-ir6-ai7e8
160,B2-ck3eky4-acwyz5-ijkn6cei8/S01e2e3qr4-aiqwz5air6ack7e,B2-ck3ekqy4-acy5-ijn6-k8/S01e2e3aqr4-aiq5aiqr6ack7
162,B2-ck3cek4-acwyz5-ainr6cik8/S01e3kqr4-ait5-ek6ekn7e8,B2-ck3cek4-acw5-in6-a7c8/S01e3kqr4-ait5-ek6ekn78
164,B2aei3ceqy4-ackwyz5-ikqy6ci/S01e2e3kqr4cekqry5cery6ac78,B2-ck3ceqy4-ackyz5-ikqy6-e7c/S01e2e3kqr4-aijntw5acery6acn78
166,B2aei3ceqy4-actwyz5cejn6-ac8/S01e2ek3akr4ejnt5-ckr6-in78,B2aei3ceqy4-acty5-ikqy6-ac7c8/S01e2ek3akr4ejntwz5-c6-i78
168,B2-ck3eqy4eijnrt5acekn6-k8/S01e2ek3qr4ceknqr5-jkqr6ace7c8,B2-ck3eqy4-ackz5-ijqy6-k7c8/S01e2ek3qr4-aijtyz5-jkr6-ik7c8
170,B2aei3ceqy4-acqw5ejr6cik7c8/S01e2k3kr4cejkrt5-ckq6ack8,B2aei3ceqy4-ac5aejr6-ae7c8/S01e2k3kr4-ainqyz5-cq6ack7c8
172,B2-ck3eqy4eijnrt5acekn6-k8/S01e2ek3qr4ceknqr5-jkqr6ac7c8,B2-ck3eqy4-ackz5-ijqy6-k7c8/S01e2ek3qr4-aijtyz5-jkr6acn7c8
174,B2aei3eknq4-acqwyz5aceny6-en/S01e2ek3qr4cenqry5ejny6ek7e,B2aei3eknq4-acqy5-ijk6-n7c/S01e2ek3qr4-aijktw5ejny6-ci7
176,B2aei3ceknq4-ackwz5ckny6cik7c/S01e2e3qr4acenqy5aeqry6ace7e8,B2aei3ceknq4-ack5cknqy6-an7c/S01e2e3qr4-ijkrtw5aeqry6-ik78
178,B2-ck3cenqy4ijknrt5-aikq6-n8/S01e2k3cqr4-aijkn5-jkqr6c8,B2-ck3cenqy4-aceyz5-aiq68/S01e2k3cqr4-aijkn5-jkqr6cen7c8
180,B2aei3ceqy4-acqwz5ejr6-e8/S01e3kr4-ainwyz5-ckq6ack8,B2aei3ceqy4-acz5aejqr6-e7c8/S01e3kr4-ainy5-ckq6-ei7c8
182,B2-ck3cekny4-actwy5cjnqy6-ek8/S01e2e3ckr4-aikqyz5-cknq6ack7e8,B2-ck3-aijr4-actwy5-eir6-e7c8/S01e2e3ckr4-aikqy5-cknq6-ei7e8
184,B2aei3ceqy4-acqwz5ejkr6-e8/S01e3kr4-ainwyz5-ckq6ack8,B2aei3ceqy4-acz5-ciny6-e7c8/S01e3kr4-ainy5-ckq6-ei7c8
186,B2-ck3eknqy4-actwyz5-ijkq6aci7c/S01e2e3akqr4-aiqrwz5-cjkq6ak7e8,B2-ck3-aijr4-actwz5-ijq6-e7c/S01e2e3akqr4-aiqrw5-cjkq6akn7e8
188,B2-ck3cenq4-ackz5ejnqy6-an8/S01e2e3kr4-inw5ceiry6ce8,B2-ck3cenq4-ackz5-aci6-a8/S01e2e3kr4-inw5-ajnq6-ai7c8
190,B2aei3cekn4-ackwz5cejn6cik8/S01e3kqr4-ikntwz5-jr6c7e8,B2-ck3cekn4-ack5-iky6-e8/S01e3kqr4-iknt5-jr6acn7e8
192,B2aei3eknq4-acqwyz5ceny6-en/S01e2e3r4-ikrw5-jkn6aek7e8,B2aei3ceknq4-acqyz5-ijqr6-e7c/S01e2e3r4-ikrw5-jkn6-ci78
194,B2aei3ceknq4-acktwz5-eik6ci7c8/S01e2ek3akr4-aiqr5aeiny6ak7e8,B2-ck3ceknq4-ackt5-ei6-ae7c8/S01e2ek3akr4-aiqr5-cjqr6akn7e8
196,B2aei3eknq4-acqwyz5ceny6cik/S01e2e3r4-ikrw5-jkn6aek7e8,B2aei3ceknq4-acqyz5-ijqr6-ae7c/S01e2e3r4-ikrw5-jkn6-ci78
198,B2aei3ceknq4-acktwz5-aiqr6aci8/S01e2e3ar4-aikqr5aeiy6ak7e8,B2aei3ceknq4-ackt5-i6-e7c8/S01e2e3ar4-aikqr5aeiqy6akn78
200,B2-ck3cenq4ijknry5ckny6-en8/S01e2ek3kry4acekrt5aceiy6ace,B2-ck3cenq4-acet5cknry6-e7c8/S01e2ek3ckry4-ijnqwy5aceiy6-ik7c
202,B2aei3eknq4-acqyz5acnry6aci7c/S01e2e3kry4-aijqwz5-ijkq6ck8,B2aei3ceknq4-acqy5-eik6-k7c/S01e2e3kry4-aijw5-ijk6ckn7c8
204,B2aei3ceknq4-acktwz5-aiqr6aci8/S01e2e3ar4-aikqrz5aeiy6ak7e8,B2aei3ceknq4-ackt5-i6-e7c8/S01e2e3ar4-aikqrz5aeiqy6akn78
208,B2aei3eknqy4-acwyz5-ij6ci/S01e2en3ry4cejry5cey6cek8,B2aei3eknqy4-acy5-ij6-ak7c/S01e2en3kry4-aikntw5cey6-ai8
212,B2aei3eknqy4-acqwyz5-ij6ci/S01e2en3ry4cejry5cey6cek8,B2aei3eknqy4-acqy5-ij6-ak7c/S01e2en3kry4-aikntw5cey6-ai8
All of them have the same starting state.

Period 212:

Code: Select all

x = 3, y = 1, rule = B2aei3eknqy4-acqy5-ij6-ak7c/S01e2en3kry4cejqryz5cey6-ai8
obo!

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Majestas32 » June 12th, 2018, 2:22 pm

Did I read that right? 2 cell for everything up to 102?
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 » June 12th, 2018, 2:24 pm

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.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » June 14th, 2018, 6:41 am

4 cell, period 4N+3 (N>1):

Code: Select all

x = 6, y = 4, rule = B2ei3ir4r/S012ce3j
5bo$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)

Code: Select all

x = 9, y = 24, rule = B2ei3i/S012ce3j
2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo!
4N+2: 4 cells (N >= 2)

Code: Select all

x = 9, y = 24, rule = B2ei3i/S012ce3j4t
2bo$o4bo$2bo5$2bo$o5bo$2bo5$2bo$o6bo$2bo5$2bo$o7bo$2bo!
2718281828 wrote:4 cells for 4N+1 (N>2):

Code: Select all

x = 9, y = 22, rule = B2ei3i4r/S012cek3j4t
5bo$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.

Code: Select all

x = 15, y = 4, rule = B2ein3aciq4jkny5any6ck/S012ce3ejnr4jknrwy5-aiky6ci7e
14bo$2bo$o2bo$2bo!
Last edited by Macbi on February 4th, 2019, 11:51 am, edited 1 time in total.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » January 2nd, 2019, 4:23 pm

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:

Code: Select all

#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.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 4th, 2019, 4:37 am

@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:

Code: Select all

@@ -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

Code: Select all

x = 3, y = 1, rule = B2aei3eknq4ejknqt5cy6c7e/S01e2ein3-acn4cinrz5jqr6ek7e
obo!
Last edited by wildmyron on February 4th, 2019, 5:49 am, edited 1 time in total.
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
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » February 4th, 2019, 5:48 am

You're right. My fix was to change the line:

Code: Select all

        rules[t+1][new_transitions[t][i]] = (transitions_to_set[t] & (1 << i)); // Check ith bit of transitions_to_set[t]
to

Code: Select all

        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
screenshot-top.png (179.48 KiB) Viewed 8565 times
screenshot-bottom.png
screenshot-bottom.png (182.91 KiB) Viewed 8565 times
Last edited by Macbi on February 25th, 2019, 8:07 pm, edited 1 time in total.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 4th, 2019, 5:59 am

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 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
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » February 4th, 2019, 7:15 am

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.

EDIT3: 'sort filename -nu' is faster.
Last edited by Macbi on October 3rd, 2020, 3:58 am, edited 1 time in total.

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

Re: Smallest Oscillators Supporting Specific Periods

Post by BlinkerSpawn » February 4th, 2019, 11:00 am

Macbi wrote:4 cell, period 4N+3 (N>1):

Code: Select all

x = 6, y = 4, rule = B2ei3ir4r/S012ce3j
5bo$2bo$o$2bo!
This completes the proof that all periods can be achieved in at most 4 cells.
2718281828 wrote:4 cells for 4N+1 (N>2):

Code: Select all

x = 9, y = 22, rule = B2ei3i4r/S012cek3j4t
5bo$2bo$o$2bo3$6bo$2bo$o$2bo3$7bo$2bo$o$2bo3$8bo$2bo$o$2bo!
2718281828's oscillators are p(4n+3), not p(4n+1), unfortunately. :?
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

Image

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » February 4th, 2019, 11:25 am

:-o

How's this?

Code: Select all

x = 15, y = 4, rule = B2ein3aciq4jkny5any6ck/S012ce3ejnr4jknrwy5-aiky6ci7e
14bo$2bo$o2bo$2bo!

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

Re: Smallest Oscillators Supporting Specific Periods

Post by BlinkerSpawn » February 4th, 2019, 5:13 pm

Macbi wrote::-o

How's this?

Code: Select all

x = 15, y = 4, rule = B2ein3aciq4jkny5any6ck/S012ce3ejnr4jknrwy5-aiky6ci7e
14bo$2bo$o2bo$2bo!
Perfectly valid for p13+4k, so now we have all periods > 9 in at most four cells.
Of course, the specific lower bound doesn't matter much, considering the wide range of periods that now have 2-cell solutions.
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

Image

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

Re: Smallest Oscillators Supporting Specific Periods

Post by Macbi » February 4th, 2019, 5:32 pm

Current status:

Code: Select all

Period 0, 1 cell
Periods 2 - 104, 2 cells
Even periods 106 - 204, 2 cells
Periods 109, 208, 212, 2 cells
Periods 117, 119, 127, 139, 165, 189, 214, 216, 224, 232, 234, 240, 248, 263, 274, 286, 304, 314, 320, 344, 358, 368, 376, 392, 3 cells
All other periods, 4 cells

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

Re: Smallest Oscillators Supporting Specific Periods

Post by wildmyron » February 5th, 2019, 3:51 am

Some more results - the 5x9 search seems to be providing many more high period results than 9x5

p105, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ck3akqy4cijknry5iknqy6ac8/S01e2ik3-cijn4cjnqrty5-jkq6aci7e
obo!
p107, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ck3ak4ijnr5-cjqy6cei8/S01e2ik3-acik4-erwz5-ajkq6-kn7e
obo!
p111, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3akqy4ijknry5ijnqy6ac8/S01e2eik3-aijn4-eikz5-ajk6-kn7e
obo!
p206, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3aky4inqr5-ceq6ci8/S01e2ikn3-cikq4cijnqty5-acjk6cik7e
obo!
p210, 2 cells

Code: Select all

x = 3, y = 1, rule = B2-ck3akqy4iknqr5ijkny6ci/S01e2eik3aeknr4-eqrw5-aikq6-n7e
obo!
Edit:
p216, 2 cells

Code: Select all

x = 3, y = 1, rule = B2aei3-eikr4-acqwz5-aqry6-kn7e/S01e2-ac3enqry4ijknrtz5cer6-an8
obo!
Updated status:

Code: Select all

Period 0, 1 cell
Periods 2 - 112, 2 cells
Even periods 114 - 212, 2 cells
Period 216, 2 cells
Periods 117, 119, 127, 139, 165, 189, 214, 224, 232, 234, 240, 248, 263, 274, 286, 304, 314, 320, 344, 358, 368, 376, 392, 3 cells
All other periods, 4 cells
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.

Post Reply