- By default, the bounding box is the search space, but the boundaries can be adjusted larger, or smaller (to find reduced width/height variants).
- For oscillators, the actual bounding box is determined from the pattern, even if the input pattern is smaller. Guns require the bounding box to be accurate, since the code assumes any growth outside the original is a spaceship leaving.
- Sections of the original pattern can be preserved, e.g. clearance around sparks.
- Stator cells in the original pattern can be forced blank, e.g., to create clearance around a spark.
Need more convincing? I've gone through all of the named p3 oscillators in LifeWiki, and was able to find minimum stators based on population, width, and height. When I say minimum, I likely mean it...I increased the search space by 20 cells on each side of the original bounding box. Some of the more interesting reductions:
Karel's domino sparker, 246P3 (246 -> 235):
Code: Select all
x = 30, y = 24, rule = B3/S23
14b2o2$4b2o3bob2o4b2obo3b2o$3bo3bobo3b4o3bobo3bo$3bobo5bo2b2o2bo5bobo$
2obo6b2o2b2o2b2o6bob2o$bo2b3o4b2o4b2o4b3o2bo$bo5b3o3b4o3b3o5bo$2b4ob3o
10b3ob4o$8bo4b4o4bo$4bo3b2o10b2o3bo$4b3o3bo2bo2bo2bo3b3o$2b2o3b2o3b6o
3b2o3b2o$3bobo4b2o2b2o2b2o4bobo$3bob2obobo3b2o3bobob2obo$2b2o2bob5o4b
5obo2b2o$bo2bob2o4b6o4b2obo2bo$2bobobobobo8bobobobobo$b2obo6b2o2b4o6bo
b2o$4b2o2b2o2bo2bo4b2o2b2o$b2obo2bo2b2o6b2o2bo2bob2o$bo3b2o2bo7bo2bo2b
2o3bo$2b3o5bobo5b2o5b3o$4bo6b2o12bo!
Code: Select all
x = 9, y = 10, rule = B3/S23
4bo$2b3o$bo3b2o$o2bo3bo$b3obo2bo$7b2o$3b2o$3bo$4bo$3b2o!
Code: Select all
x = 10, y = 10, rule = B3/S23
5bo$4bobob2o$4bob2obo$b2obo$2bobob3o$2bo6bo$2o2b2o2b2o$bobo$bobo$2bo!
124P21 (124 -> 120):
Code: Select all
x = 34, y = 25, rule = B3/S23
21bo$21bo$10bo2bo7bo$10b4o6b2o$8b2o8bo$4b2obobob2obo2bo4bo$4b2obo3bob
2o2bo$7b2o10b3o$4b3o$3bo2bo20b2o$3b2o14bo7bobo$b2o10b3o2bobo8bo2bo$2bo
b2o22b2obobo$2bobo8bobo2b3o10b2o$b2o2bo8bo14b2o$4b2o21bo2bo$27b3o$12b
3o4b2o4b2o$16bo2bo2bo3bob2o$11bo4bo4b2obobob2o$15bo8b2o$12b2o6bob2o$
12bo7b2obo$12bo$12bo!