CoolCreeper39 wrote:Is there any way to make a script that checks for the longest-lived methuselahs in a rule, within an n-cell bounding box?
This is definitely possible. The most optimized published program for methuselah searching is this one
by simeks. It is CGoL only and written in C (and assembly?), but if you're interested in optimized algorithms it's the best I'm aware of.
There are probably more general implementations published somewhere here, but I can't seem to find any after a brief search through the forums. You'll need two main parts to for this script:
- An enumeration of all patterns (of a given cell count?) within a given bounding box. A naive implementation of this is very simple, but you'll want to avoid testing the same pattern multiple times.
- A way to run a pattern to stabilisation and detect when the pattern stabilised. This is the tricky bit, particularly given the need to deal with linear growth. You could look at apgsearch
for ideas as well as simeks program. apgsearch actually has two algorithms for this process: stabilise3() to give an estimate of the time to stabilisation (almost always an overestimate except for patterns in very long lived rules) and methudetect() which gives a fairly accurate stabilisation time (but is only used for CGoL).