Methuselah metrics
Posted: August 22nd, 2026, 3:10 pm
I'm afraid this is gonna be a long one... Some of my observations, thoughts and questions (bolded) about methuselah metrics. The post uses examples from CGoL, but I believe all of this rant applies to a much wider class of cellular automata.
A „methuselah” is not really a term that can be precisely defined, and there were a lot of debates on what counts and what doesn’t. We all generally understand that a methuselah is a pattern that evolves for a long time, as the word comes from the biblical figure who supposedly lived 969 years, the longest lifespan mentioned in the Bible. Let’s for now stick with that loose definition and look at six main metrics that are used to measure the „quality” of a methuselah.
1) Lifespan (L)
The most obvious one. Lifespan of a pattern is „the first generation such that the pattern can be resolved into still lifes, oscillators and escaping spaceships” (from LifeWiki on methuselah), unless the pattern grows infinitely. L could still be defined for those patterns as something along the lines of „the first generation such that the pattern can be resolved into still lifes, oscillators, escaping spaceships and escaping periodic growing objects”, but what exactly does that mean? Can quadratic or logarithmic growth be considered periodic? This becomes a deep rabbit hole very quickly, therefore from now on I will talk only about objects that do not grow infinitely.
For a pattern to count as a methuselah and not a spark, usually the threshold of L=100 is used; that is, objects that live for less than 100 generations are not considered methuselahs.
Still, a „methuselah” with arbitrarily long lifespan can be easily constructed: a glider running toward a block from N blocks away has L proportional to N.
2) Final population (F)
Number of alive cells in the stabilized pattern. For methuselahs consisting only of still lifes, gliders and blinkers, stabilized population is constant, but consider patterns like Eve, which has a pulsar. It lives for 30046 generations: on that generation, it stabilizes, and has a population of 3034. On the next generation, population raises to 3050, and then falls to 3026, and this last number is listed as F for Eve. This seems to imply that the minimum is taken from the periodic phase, but for Justyna (which has a beacon) F is listed as the maximum from the periodic phase. Why is that? Which population should be chosen?
Furthermore, maybe another metric should be considered: M, or the Maximum population. Eve reaches 3700+ live cells during its evolution, and this difference might be even higher for other objects. This also allows to measure diehards, which have F of 0. What do you think?
A „methuselah” with arbitrarily high final population is also easy to construct: a glider running toward a gun from N blocks away, which eventually destroys the gun, has F proportional to N.
3) Final population divided by Initial population (F/I)
Can also be called the „growth factor” of an object, this metric penalizes large initial patterns. As it is quite obvious that large initial pattern will generally produce large amount of ash, a methuselah consisting of hundreds of cells usually isn’t considered interesting. However, lifespan of the pattern isn’t taken into account here, so the metric actually favors the most expansive patterns, not necessarily the most long-lived.
The trick I mentioned in section #2 still applies: a glider running toward a gun from N blocks away, which eventually destroys the gun, has F/I proportional to N.
4) Lifespan divided by Initial population (L/I)
Was originally called the „evolutionary factor”. Also penalizes large initial patterns, but works better for measuring methuselahs, because it takes into account their lifespan. I believe this was used as the main metric before #6 was invented; correct me if I'm wrong.
The same trick still works: L/I is proportional to N.
5) Final population divided by Lifespan (F/L)
For me, this is a very counterintuitive metric, because it actually penalizes long lifespan, which is kind of against the very idea of a methuselah. Simple objects have F/L much higher than any methuselah (a pre-block with L=1 and F=4…). Even editors of LifeWiki seem to be confused about this, because out of the four metrics mentioned in the „Methuselah” article, it’s the only one without any description. Maybe L/F would make more sense?
A pattern with arbitrarily high F/L can be built in a different way. Take the Max spacefiller and place a block N cells away. Max will eventually hit the block and become a giant pool of ash, with F being proportional to N^2, and L proportional to N, allowing for as large F/L as desired.
6) Lifespan divided by Minimum Covering Polyplet Size (L/MCPS)
I believe this to be a superior metric out of the six, because none of the easy tricks mentioned so far work here. MCPS grows proportionally to N, so placing an object N cells away from some simple reaction that eventually reaches it is effectively disqualified.
That is not to say that L/MCPS is perfect; there are, in fact, ways to „cheat” here as well, but they are much more sophisticated. One thing that comes to my mind is to take the Summers/Nivasch logarithmic growth and place some mechanism which reacts with the output, but N cells away. Because every iteration of the logarithmic growth takes more time to complete, lifespan grows exponentially with N, and therefore allows as large L/MCPS as desired. What is the simplest way you can think of to get arbitrarily high L/MCPS?
Another problem with MCPS is that calculating its value is an NP-hard problem, and for large patterns it becomes quite a nightmare to actually figure out how big exactly MCPS is.
Conclusions:
- L/MCPS is the best metric, but hard to calculate.
- L/I is probably the second best and much easier to calculate.
- F/L doesn’t make sense.
- Maximum population could be used as another metric (or, perhaps, M/I, M/MCPS?).
- There are ways to produce an arbitrarily high score in any mentioned metric.
To counter the last problem, the usual solution is to limit the initial population or initial bounding box. I propose the following:
- MCPS of the starting pattern should be at most 1024 (this includes all objects listed in „List of long-lived methuselahs” on LifeWiki).
- Because that is hard to calculate, one can first look at a simpler constraint: if a pattern fits inside a 32x32 bounding box (the standard apgsearch box for higher symmetries), its MCPS physically can’t exceed 1024.
- If you think this is too much, a reduction to 256 cells also seems valid (although it does disqualify two large objects mentioned in the article).
This eliminates the Summers/Nivasch logarithmic growth, which has a much higher initial population. What is the highest L/MCPS you can think of that fits within this constraint?
Thank you for listening to my podcast.
A „methuselah” is not really a term that can be precisely defined, and there were a lot of debates on what counts and what doesn’t. We all generally understand that a methuselah is a pattern that evolves for a long time, as the word comes from the biblical figure who supposedly lived 969 years, the longest lifespan mentioned in the Bible. Let’s for now stick with that loose definition and look at six main metrics that are used to measure the „quality” of a methuselah.
1) Lifespan (L)
The most obvious one. Lifespan of a pattern is „the first generation such that the pattern can be resolved into still lifes, oscillators and escaping spaceships” (from LifeWiki on methuselah), unless the pattern grows infinitely. L could still be defined for those patterns as something along the lines of „the first generation such that the pattern can be resolved into still lifes, oscillators, escaping spaceships and escaping periodic growing objects”, but what exactly does that mean? Can quadratic or logarithmic growth be considered periodic? This becomes a deep rabbit hole very quickly, therefore from now on I will talk only about objects that do not grow infinitely.
For a pattern to count as a methuselah and not a spark, usually the threshold of L=100 is used; that is, objects that live for less than 100 generations are not considered methuselahs.
Still, a „methuselah” with arbitrarily long lifespan can be easily constructed: a glider running toward a block from N blocks away has L proportional to N.
2) Final population (F)
Number of alive cells in the stabilized pattern. For methuselahs consisting only of still lifes, gliders and blinkers, stabilized population is constant, but consider patterns like Eve, which has a pulsar. It lives for 30046 generations: on that generation, it stabilizes, and has a population of 3034. On the next generation, population raises to 3050, and then falls to 3026, and this last number is listed as F for Eve. This seems to imply that the minimum is taken from the periodic phase, but for Justyna (which has a beacon) F is listed as the maximum from the periodic phase. Why is that? Which population should be chosen?
Furthermore, maybe another metric should be considered: M, or the Maximum population. Eve reaches 3700+ live cells during its evolution, and this difference might be even higher for other objects. This also allows to measure diehards, which have F of 0. What do you think?
A „methuselah” with arbitrarily high final population is also easy to construct: a glider running toward a gun from N blocks away, which eventually destroys the gun, has F proportional to N.
3) Final population divided by Initial population (F/I)
Can also be called the „growth factor” of an object, this metric penalizes large initial patterns. As it is quite obvious that large initial pattern will generally produce large amount of ash, a methuselah consisting of hundreds of cells usually isn’t considered interesting. However, lifespan of the pattern isn’t taken into account here, so the metric actually favors the most expansive patterns, not necessarily the most long-lived.
The trick I mentioned in section #2 still applies: a glider running toward a gun from N blocks away, which eventually destroys the gun, has F/I proportional to N.
4) Lifespan divided by Initial population (L/I)
Was originally called the „evolutionary factor”. Also penalizes large initial patterns, but works better for measuring methuselahs, because it takes into account their lifespan. I believe this was used as the main metric before #6 was invented; correct me if I'm wrong.
The same trick still works: L/I is proportional to N.
5) Final population divided by Lifespan (F/L)
For me, this is a very counterintuitive metric, because it actually penalizes long lifespan, which is kind of against the very idea of a methuselah. Simple objects have F/L much higher than any methuselah (a pre-block with L=1 and F=4…). Even editors of LifeWiki seem to be confused about this, because out of the four metrics mentioned in the „Methuselah” article, it’s the only one without any description. Maybe L/F would make more sense?
A pattern with arbitrarily high F/L can be built in a different way. Take the Max spacefiller and place a block N cells away. Max will eventually hit the block and become a giant pool of ash, with F being proportional to N^2, and L proportional to N, allowing for as large F/L as desired.
6) Lifespan divided by Minimum Covering Polyplet Size (L/MCPS)
I believe this to be a superior metric out of the six, because none of the easy tricks mentioned so far work here. MCPS grows proportionally to N, so placing an object N cells away from some simple reaction that eventually reaches it is effectively disqualified.
That is not to say that L/MCPS is perfect; there are, in fact, ways to „cheat” here as well, but they are much more sophisticated. One thing that comes to my mind is to take the Summers/Nivasch logarithmic growth and place some mechanism which reacts with the output, but N cells away. Because every iteration of the logarithmic growth takes more time to complete, lifespan grows exponentially with N, and therefore allows as large L/MCPS as desired. What is the simplest way you can think of to get arbitrarily high L/MCPS?
Another problem with MCPS is that calculating its value is an NP-hard problem, and for large patterns it becomes quite a nightmare to actually figure out how big exactly MCPS is.
Conclusions:
- L/MCPS is the best metric, but hard to calculate.
- L/I is probably the second best and much easier to calculate.
- F/L doesn’t make sense.
- Maximum population could be used as another metric (or, perhaps, M/I, M/MCPS?).
- There are ways to produce an arbitrarily high score in any mentioned metric.
To counter the last problem, the usual solution is to limit the initial population or initial bounding box. I propose the following:
- MCPS of the starting pattern should be at most 1024 (this includes all objects listed in „List of long-lived methuselahs” on LifeWiki).
- Because that is hard to calculate, one can first look at a simpler constraint: if a pattern fits inside a 32x32 bounding box (the standard apgsearch box for higher symmetries), its MCPS physically can’t exceed 1024.
- If you think this is too much, a reduction to 256 cells also seems valid (although it does disqualify two large objects mentioned in the article).
This eliminates the Summers/Nivasch logarithmic growth, which has a much higher initial population. What is the highest L/MCPS you can think of that fits within this constraint?
Thank you for listening to my podcast.