Guam wrote "2 gliders (G0) to glider converter with repeat time 51"
Great find! This is very useful for building high-period, low-diameter oscillators like the ones described in my paper with Buckingham "Tight Bounds on Periodic Cell Configurations in Life":
http://projecteuclid.org/DPubS/Reposito ... 1047674205
This took me a few hours to put together and it's a lot more elegant than the one I used when writing the paper (some explanation follows the pattern). Here is a period-16966 glider gun that can be set to have any period 19110-536n for n=1,2, ..., 16 by sending a stream of n gliders.
Code: Select all
x = 305, y = 191, rule = B3/S23
7$181b2o$181b2o9$166b2o67b2o$166b2o67bobo$237bo4b2o$233b4ob2o2bo2bo$
233bo2bobobobob2o$236bobobobo$237b2obobo$58bo182bo$58b3o$61bo165b2o$
60b2o6b2o158bo7b2o$67bobo116b2o40bobo5b2o27b2o$68bo117bo42b2o35bo$187b
3o76bobo$62b2o125bo77b2o$55b2o5b2o$55b2o$224b2o$224b2o$72b2o165b2o$72b
2o54bo110bo$128b3o109b3o$57b2o72bo110bo$56bobo71b2o6b2o$56bo80bobo$55b
2o81bo59bo34bo$198b3o32b3o$78bo8b2o43b2o67bo34bo27b2o$78b3o6b2o36b2o5b
2o44b2o20b2o33b2o27b2o$81bo43b2o51b2o7b2o56b2o$80b2o13b2o90bo57bo$95bo
89bobo55bobo$93bobo46b2o41b2o4b2o44b2o4b2o$93b2o47b2o25b2o20bo44bo2bo$
170bo18bobo45b2o13b2o$86b2o39b2o41bobo16b2o34b2o25b2o$41b2o20b2o8bo12b
2o38bobo42b2o52b2o47b2o$41b2o20b2o6b3o52bo147bo$70bo54b2o148b3o$55b2o
13b2o20bo184bo5bo$32b2o22bo34bobo187b3o$32bobo21bobo33b2o186bo$33bo23b
2o221b2o$62b2o70b2o$62b2o19b2o50bo64b2o32b2o3b2o$83b2o50bobo62b2o11b2o
20bo3bo27b2o19b2o$36b2o98b2o75bo18b3o5b3o15b2o7bo21bo$36b2o139b2o35b3o
15bo9bo16bo8b3o18bob2o$31b2o26bo91b2o20b2o2b2o37bo39b3o11bo10b2o4b3o2b
o$30bobo25bobo90b2o19bobo81bo24b2o3bo3b2o$30bo27b2o112bo113b4o$29b2o
13b2o63b2o60b2o99b2o15bo$44bo64b2o23b2o135bobo12b3o$37b2o6b3o19b2o65b
2o5b2o128bo13bo$37b2o8bo19b2o72b2o127b2o14b5o$100b2o163bo24bo$100bobo
44bo117b3o20bo$101bo44bobo27b2o8bo81bo19b2o$34b2o103b2o6b2o27b2o6b3o
37b2o41b2o$34bobo39bo63bo42bo41bo$36bo4b2o31b3o48b2o10b3o28b2o13b2o38b
o$32b4ob2o2bo2bo28bo30b2o19b2o10bo31bo53b5o14b2o$32bo2bobobobob2o28b2o
29b2o63bobo56bo13bo$35bobobobo57b2o69b2o53b3o12bobo$36b2obobo56bobo33b
2o88bo15b2o$40bo40b2o15bo34bobo41b2o45b4o49b2o$82bo14b2o13b2o20bo42b2o
12bo8b2o20b2o3bo3b2o37b2o5bobo$26b2o54bob2o26bo78b3o6b2o19bo2b3o4b2o
37b2o7bo$27bo7b2o37b2o4b3o2bo19b2o6b3o78bo26b2obo54b2o$27bobo5b2o37b2o
3bo3b2o20b2o8bo56bo20b2o13b2o14bo$28b2o49b4o47b2o39bobo34bo15b2o40bo$
65b2o15bo47b2o39b2o33bobo56bobob2o$64bobo12b3o53b2o69b2o57bobobobo$64b
o13bo56bobo94b2o28b2obobobobo2bo$63b2o14b5o53bo31bo10b2o17b2o32bo28bo
2bo2b2ob4o$83bo38b2o13b2o28b3o10b2o17b2o29b3o31b2o4bo$81bo41bo42bo63bo
39bobo$38b2o41b2o37b3o6b2o27b2o6b2o103b2o$17b2o19bo81bo8b2o27bobo44bo$
18bo20b3o117bo44bobo$16bo24bo163b2o$16b5o14b2o201b2o19bo8b2o$21bo13bo
135b2o65b2o19b3o6b2o$18b3o12bobo127b2o6b2o23b2o64bo$17bo15b2o99b2o27b
2o31b2o63b2o13b2o$17b4o113bo112b2o27bo$15b2o3bo3b2o24bo81bobo19b2o90bo
bo25bobo$14bo2b3o4b2o10bo11b3o39bo37b2o2b2o20b2o91bo26b2o$14b2obo18b3o
8bo16bo9bo15b3o35b2o139b2o$17bo21bo7b2o15b3o5b3o18bo75b2o98b2o$17b2o
19b2o27bo3bo20b2o11b2o62bobo50b2o$66b2o3b2o32b2o64bo50b2o19b2o$171b2o
70b2o$25b2o221b2o23bo$26bo186b2o33bobo21bobo$23b3o187bobo34bo22b2o$23b
o5bo184bo20b2o13b2o$29b3o148b2o54bo$32bo147bo52b3o6b2o20b2o$31b2o47b2o
52b2o42bobo38b2o12bo8b2o20b2o$53b2o25b2o34b2o16bobo41b2o39b2o$53b2o13b
2o45bobo18bo$67bo2bo44bo20b2o25b2o47b2o$62b2o4b2o44b2o4b2o41b2o46bobo$
61bobo55bobo89bo$61bo57bo52b2o36b2o13b2o$60b2o56b2o7b2o43b2o6b2o43bo$
41b2o27b2o33b2o20b2o51b2o36b2o6b3o$41b2o27bo34bo112b2o8bo$71b3o32b3o$
73bo34bo59bo81b2o$167bobo80bo$167b2o6b2o71bobo$64bo110bo72b2o$64b3o
109b3o$67bo110bo54b2o$66b2o165b2o$81b2o$81b2o$250b2o$243b2o5b2o$38b2o
77bo125b2o$38bobo76b3o$40bo35b2o42bo117bo$40b2o27b2o5bobo40b2o116bobo$
69b2o7bo158b2o6b2o$78b2o165bo$123b2o121b3o$65bo56bobo123bo$64bobob2o
54bo$64bobobobo$61b2obobobobo2bo$61bo2bo2b2ob4o$63b2o4bo$69bobo67b2o$
70b2o67b2o5$110b2o$111b2o$110bo2$124b2o$124b2o8$97b3o$99bo$98bo10$85bo
$85b2o$84bobo!
The idea is to build a variable-period oscillator based on n-bit counters. The period grows exponentially with the number of counter bits, so it is more compact than an oscillator based on path distances. It uses a gun based on all still-life components that can be triggered by a glider, but this gun also has an n-bit counter and stops itself after producing 2^n gliders. In addition, it sends the output gliders into another n-bit counter with a preset state m (1<=m<=2^n) such that it absorbs all 2^n gliders but outputs a single glider after step m, and also restores the counter to its original state.
Putting these together, you get a reflector that outputs a glider after a+b*m steps for some constants a, b and has a something like a b*2^n recovery time. You can bounce a glider between two reflectors like this, as long as the second reflector gives the first reflector sufficient recovery time. This makes it possible to realize all oscillator periods c+b*(2^n + m) for some constants b and c.
After building this oscillator (for n=4) i realized that it could not only be triggered by a glider from outside, but its period could actually be adjusted just by sending a different number of gliders. In this example, it receives a series of 4 initial gliders and has period 16966. It can be triggered with n = 1 to 16 gliders, and will have period 19110-536n. The reason is that the gliders are sent through one of the 4-bit counters (base on semi-snarks). It is preset to all 1s so that the first glider causes the bits to reset and outputs a glider. Subsequent gliders will increment the state of the
counter, reducing the oscillator period.
More than 16 gliders introduces a second glider in the reflector shuttle, which eventually destroys the pattern. It is possible to stop the gun, restoring its initial state, using a synchronized glider/glider collision in a several different places. After that, it can be reset to any other oscillator period by sending the appropriate number of gliders.