https://github.com/amling/rstatoropt
EDIT 2023/12/06: moved to https://codeberg.org/amling/rstatoropt
For starters I ran it on a collection suggested to me [1] and it produced quite a few reductions, even when restricted to not increase bounding box.
Some of these might be "right", e.g. a few examined by hand but more or less randomly:
Code: Select all
x = 117, y = 131, rule = B3/S23
5bo2bo2bo66b2o$5b7o66b2o$75bo$5b7o63b7o$4bo7bo60b2o7bo$2obob2o3b2obob
2o53bobo2b2o3b2obo$bobobo5bobobo54b2obobo5bobo$bobo9bobo57bo9bob2o$2ob
o9bob2o56bo9bob2o$bobo9bobo54b2obo9bo$bobobo5bobobo54bo2bobo5bobo$2obo
b2o3b2obob2o55bo2b2o3b2ob2o$4bo7bo60b2o7bo$5b7o63b6obo$75bo5bo$5b7o66b
3o$5bo2bo2bo66bo24$10bo$8b5o$7bo5bo59b2o9bo$7bo2b2obo22bo37bo5b2obobo$
3bob3obobob2o19b5o34bo5bobob2o$3b2o4bo23bo5bo33b2o4bo22bo8b2o$6b2ob2o
22bob2o2bo36b2ob2o20bobob2o4bo$b5obobo2bo19b2obobob3obo27b5obobo2bo19b
2obobo5bo$o6bo3bobo23bo4b2o26bo6bo3bobo23bo4b2o$2o2b5ob2obo22b2ob2o29b
2o2b5ob2obo22b2ob2o$12b2o20bo2bobob5o36b2o20bo2bobob5o$5b2o4b3o12bo6bo
bo3bo6bo28b2o4b3o12bo6bobo3bo6bo$5b2o4b3o5b2o4bobo5bob2ob5o2b2o28b2o4b
3o5b2o4bobo5bob2ob5o2b2o$12b2o4bo2bo3bo2bo4b2o47b2o4bo2bo3bo2bo4b2o$2o
2b5ob2obo5bobo4b2o5b3o4b2o28b2o2b5ob2obo5bobo4b2o5b3o4b2o$o6bo3bobo6bo
12b3o4b2o28bo6bo3bobo6bo12b3o4b2o$b5obobo2bo20b2o36b5obobo2bo20b2o$6b
2ob2o22bob2ob5o2b2o29b2ob2o22bob2ob5o2b2o$3b2o4bo23bobo3bo6bo26b2o4bo
23bobo3bo6bo$3bob3obobob2o19bo2bobob5o27bo5bobob2o19bo2bobob5o$7bo2b2o
bo22b2ob2o33bo5b2obobo20b2ob2o$7bo5bo23bo4b2o29b2o9bo22bo4b2o$8b5o19b
2obobob3obo58b2obobo5bo$10bo22bob2o2bo61bobob2o4bo$33bo5bo62bo8b2o$34b
5o$36bo24$8b2o4b2o61b2o4b2o$7bobo4bobo59bobo4bobo$7bo8bo59bo8bo$4b2obo
bo4bobob2o51bob2obobo4bobob2obo$5bobobo4bobobo52b2obobobo4bobobob2o$4b
o2bobob2obobo2bo56bobob2obobo$4bobo2b2o2b2o2bobo55bo2b2o2b2o2bo$2b3ob
2obo4bob2ob3o53b2obo4bob2o$bo8bo2bo8bo56bo2bo$bo2b5o6b5o2bo50b5o6b5o$
2obo16bob2o48bo16bob2o$bob2o3b2o4b2o3b2obo49b2o3b2o4b2o3b2obo$bo7b6o7b
o55b6o7bo$2b3o2b2o6b2o2b3o48b4o2b2o6b2o2b3o$4bo14bo50bo2bo14bo2$24b2o
67b2o$2b2o2bo13b3o2bo45b2o2bo13b3o2bo$2bo2b2o6bo9b2o46bo2b2o6bo9b2o$3b
5o4bobo4bo52b5o4bobo4bo$12bobo4bo61bobo4bo$13bo9b2o57bo9b2o$3b5o12b3o
2bo46b5o12b3o2bo$2bo2b2o17b2o45bo2b2o17b2o$2b2o2bo8b2o54b2o2bo8b2o2$8b
o3bo6bo3bo53bo3bo6bo3bo2bo$6b3o2bo8bo2b3o49b3o2bo8bo2b4o$5bo3b3o3b2o3b
3o3bo47bo3b3o3b2o3b3o$5bob2ob5o2b5ob2obo47bob2ob5o2b5ob2o$4b2obo6b4o6b
ob2o45b2obo6b4o6bo$5bo2b5obo2bob5o2bo50b5obo2bob5o$5bo7b2o2b2o7bo55b2o
2b2o$6b3ob2obo4bob2ob3o53b2obo4bob2o$8bobo2bo4bo2bobo55bo2bo4bo2bo$8bo
2bobo4bobo2bo51b2o3bobo4bobo3b2o$9bobob6obobo52bo2bobob6obobo2bo$8b2ob
2o2b2o2b2ob2o53b2ob2o2b2o2b2ob2o$11bo8bo59bo8bo$11bobo4bobo59bobo4bobo
$12b2o4b2o61b2o4b2o!
Code: Select all
x = 35, y = 7, rule = B3/S23
2b2ob2o$bobob2o27bo$o2bo30bo$2o3b2o27bo$3bo2bo$2obobo$2ob2o!
Attached is a tarball of the 119 reductions from running it with arguments 0 (don't increase bounding box) and 10 (width of optimization strips) on the 893 individual oscillators some light analysis had dumped out of that collection. The "manifest" has a list of oscillator IDs (assigned by original analyzer/splitter) and then the "before" and "after" files are dumped into folders sorted by period.
I'm guessing at a minimum P2 and P3 aren't going to be very interesting since many of them seem to be somewhat more artistic and/or have a different notion of oscillator identity than the optimizer. As for the rest, who can say?
[1] https://github.com/dvgrn/b3s23osc