Start with jslife's collection, the wiki collection, Mark Niemiec's p2 and p3s, all 3980 patterns in census.rle, the 5×5 rotor collection, and the ECC conduit collection.Sokwe wrote: ↑March 30th, 2023, 4:48 amIn my opinion, there's nothing wrong with accidentally posting a known pattern. It can sometimes reveal new insights about the pattern or how to find similar patterns. What I fear the most is someone deciding not to post an interesting pattern or observation about a pattern because they think it's probably known.
That being said, we do desperately need a queryable database of known oscillators and spaceships. It's become very difficult to check whether or not a given pattern is new.
Run through everything in Life, LifeHistory, and LifeSuper with no state-6 cells that exists as a code block on the forum. Initial bounding box must be within 400×400. Exclude sandbox threads that are labeled "game", but include the rest (e.g. JP21's sandbox is quite useful). First determine what interacts by running it via LifeHistory, using "cluster" rather than "connected" (e.g. rock tubs are still part of the same cluster and shouldn't be separated), except the "4 times as wide as it is high" glider synthesis criterion should be considered on the whole thing instead of each part. Separate non-interacting parts. Classify it here:
Oscillator: It's an oscillator.
Agar/Wick: It's an oscillator or spaceship on a bounded grid that doesn't work if it's not bounded.
Spaceship: It's a spaceship.
Glider gun: It's a glider gun.
Infinite growth: Infinite growth other than glider guns. (The tetrational diehard will probably be misclassified here.)
Eater: The end is a subset of the beginning, but it doesn't end with a vacuum.
Conduit: For the first 50 generations, the number of combined births and deaths is less than 50 for every generation, the birth/death region for generation 7 is within 12×12 (this allows ghost Herschels), the population never becomes less than initial minus 10 for the first 50 generations, it never settles for the first 50 generations, and there is no initial 5×5 region with more than 16 on cells. Eater and oscillator take priority over this. "50 generations" can be replaced with "20 generations" if it's in LifeHistory and there are between 5 and 10 state-3/state-5 cells that are all within 5×5 and no other state 3/5. This will lead to some false positives and negatives, but it's the best I can think of. Unfortunately, periodic conduits using sparkers will be missed here.
Synthesis: Starts with at least 4 gliders (or other spaceships) or with at least 2 and a central object that's a single cluster, and there can't be anything behind the bounding box of any inward gliders, OR contains at least 8 gliders and is at least 4 times as wide as it is high (this is for staged syntheses). In both cases, if its bounding box increases past the initial bounding box on either axis, it's disqualified from this category.
Spaceship partial, puffer/rake: Check generations 2-12. If, for any of them, the front 2/3 or the back 2/3 is identical to the original but shifted (and it's not a full spaceship), include it in "puffer/rake" if it continues for at least 5x generations and the full spaceship (rather than just most of it) plus something extra appears at least once where x is the spaceship height and "spaceship partial" otherwise. The initial pattern must have at least 20 cells.
Methuselah: Lasts for at least 2,000 generations and has an initial population of 15 or less, or 20,000+ within 20×20. Spaceship partial has priority over this.
Soup: Begins with 16×16, 20×20, 31×31, 32×31, or 32×32, its density is between 40% and 60%, and it contains no 5×5 region of ON or OFF cells within that box. Methuselah takes priority over this.
Miscellaneous: Everything else. Anything that's a still life, dies within 10 generations, or becomes a still life that's at least as common as a half-bakery or a TL/HF/fleet/bakery within 10 generations can be deleted.
You can probably also use which thread it's in to help, although that isn't infallible.
Post-processing:
For oscillators and glider guns, if it's period 4 or greater, remove anything that's larger in both dimensions and population (that's three variables) than another oscillator with the same rotor. (This won't get everything, especially with sparkers as catalysts.) Don't do this for the "soup search results" thread.
For methuselahs and "miscellaneous", any pattern that is a later generation of another one is deleted unless the later one has a smaller population.