Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Methuselahs in Conway's Life

10 views
Skip to first unread message

Michael Hedera

unread,
Feb 24, 2003, 12:11:06 PM2/24/03
to
Is there somewhere a list of n-cell methuselah patterns in Conway's
Life? (assuming some reasonable limits on the bounding box) The
compilations of life patterns I have seen contained only the few most
known methuselahs (acorn, multum in parvo, rabbits/bunnies etc). I
found a few nice patterns, but I suppose they may already be known.
An example:

Energizer Bunny - beats rabbits by 77 generations.
...**
...*.
.....
.....
.*...
*.*...
..*..
.**..

--
Michael Hedera

I put on the kettle and switched on the computer. Will the kettle boil
before the computer boots up? The computer won! Ah, modern technology.

Frank Buss

unread,
Feb 24, 2003, 2:27:53 PM2/24/03
to
Michael Hedera <mh...@nym.alias.net> wrote:

> Energizer Bunny - beats rabbits by 77 generations.
> ...**
> ...*.
> .....
> .....
> .*...
> *.*...
> ..*..
> .**..

This pattern ends with a period 2 oscillator after 784 generations and 2
gliders traveling to infinity. The rabbits pattern
(http://www.ericweisstein.com/encyclopedias/life/Rabbits.html) ends after
17331 generations (I've tested it with MCells).

--
Frank Buß, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Tim Tyler

unread,
Feb 24, 2003, 2:37:33 PM2/24/03
to
Michael Hedera <mh...@nym.alias.net> wrote:

: Is there somewhere a list of n-cell methuselah patterns in Conway's
: Life?

http://www.ericweisstein.com/encyclopedias/life/topics/Methuselahs.html

Some more bunnies: http://www.argentum.freeserve.co.uk/lex_b.htm#bunnies
--
__________
|im |yler http://timtyler.org/ t...@tt1.org

Michael Hedera

unread,
Feb 26, 2003, 7:26:00 AM2/26/03
to
Frank Buss <f...@frank-buss.de> wrote:
> Michael Hedera <mh...@nym.alias.net> wrote:
>
> > Energizer Bunny - beats rabbits by 77 generations.
> > ...**
> > ...*.
> > .....
> > .....
> > .*...
> > *.*...
> > ..*..
> > .**..
>
> This pattern ends with a period 2 oscillator after 784 generations and 2
> gliders traveling to infinity. The rabbits pattern
> (http://www.ericweisstein.com/encyclopedias/life/Rabbits.html) ends after
> 17331 generations (I've tested it with MCells).

Now I don't know how this got messed up, but apparently the leading
characters (dots) on each line except the sixth were gobbled somewhere
- you can see that the right edge isn't straight. My copy of the posting
shows the pattern OK. I'll try this way:

0....**
1....*.
2......
3......
4..*...
5*.*...
6...*..
7..**..

David Eppstein

unread,
Feb 26, 2003, 11:44:57 AM2/26/03
to
In article <2003022612260...@nym.alias.net>,
Michael Hedera <mh...@nym.alias.net> wrote:

> Now I don't know how this got messed up, but apparently the leading
> characters (dots) on each line except the sixth were gobbled somewhere

The standard internet email protocol (and news?) has a convention where
a single period on a line ends a message. To allow lines with single
periods to be included in messages, periods are used as quotes: a period
at the start of the line is eaten, so you can get a single-period line
by using two periods, etc. This is all supposed to be transparent to
email users, but obviously it isn't always. So it's a good idea, if
you're posting CA patterns using the o-. convention, to put a space at
the front of each line.

--
David Eppstein http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science

Frank Buss

unread,
Feb 26, 2003, 1:10:18 PM2/26/03
to
Michael Hedera <mh...@nym.alias.net> wrote:

> Is there somewhere a list of n-cell methuselah patterns in Conway's
> Life? (assuming some reasonable limits on the bounding box) The
> compilations of life patterns I have seen contained only the few most
> known methuselahs (acorn, multum in parvo, rabbits/bunnies etc). I
> found a few nice patterns, but I suppose they may already be known.

Should be easy to built such a list for less than 11 cells (for a field
with 9x9 cells, with 9 active cells, there will be 260887834350
combinations (binomial(81, 9)), which could be calculated in 3 days, if
one million combinations can be calculated per second, for 10 active
cells on a 10x10 field it would take 200 days, but for 11 cells on a
11x11 field it would take 40 years). I've started writing a little
program (see below), which searchs such patterns. The testing algorithm
should be enhanced and the GOL calculation should be optimized. Perhaps
Rolf Wilms fast implementation would help.

A nice one (very symmetrical) with 467 generations and 7 active cells,
which was found by my program:

****...
.......
....**.
......*

The searching program (for 7 active cells, on a 7x7 field, embedded in a
100x100 CA space):

/**
* Searchs Game Of Life rabbits patterns.
* @author Frank Buss
*/
public class RabbitSearcher {
private static final int cells = 7;
private static final int testWidth = 7;
private static final int width = 100;
private static boolean grid[] = new boolean[width * width];
private static boolean grid2[] = new boolean[width * width];
private static boolean grid3[] = new boolean[width * width];

private static int ca(boolean from[], boolean to[]) {
int adr = 1 + width;
int all = 0;
for (int y = 1; y < width - 1; y++) {
for (int x = 1; x < width - 1; x++) {
boolean center = from[adr];
int c = 0;
if (from[adr - 1])
c++;
if (from[adr + 1])
c++;
if (from[adr - width])
c++;
if (from[adr + width])
c++;
if (from[adr - width - 1])
c++;
if (from[adr - width + 1])
c++;
if (from[adr + width - 1])
c++;
if (from[adr + width + 1])
c++;
if (c < 2 || c > 3)
center = false;
if (c == 3)
center = true;
if (center) all++;
to[adr++] = center;
}
adr += 2;
}
return all;
}

private static int checkCount = 0;

private static void generate(int start, int depth) {
if (depth < cells) {
for (int i = start;
i <= testWidth * testWidth - (cells - depth);
i++) {
int y = i / testWidth;
int x = i % testWidth;
int p =
x
+ (width - testWidth) / 2
+ y * width
+ ((width - testWidth) / 2) * width;
grid[p] = true;
generate(i + 1, depth + 1);
grid[p] = false;
}
} else {
checkCount++;
if (checkCount % 100000 == 0) {
System.out.println(checkCount + " " + System.currentTimeMillis()
/ 1000);
}

// copy first position
System.arraycopy(grid, 0, grid2, 0, width*width);

// calculate next positions
int generations = 0;
while (true) {
int count = ca(grid2, grid3);
if (count == 0)
break;
if (count > 40 && generations > 100) {
// print
System.out.println();
for (int i = 0; i < testWidth * testWidth; i++) {
int y = i / testWidth;
int x = i % testWidth;
int p =
x
+ (width - testWidth) / 2
+ y * width
+ ((width - testWidth) / 2) * width;
System.out.print(grid[p] ? "*" : ".");
if (x == testWidth - 1)
System.out.println();
}
break;
}
if (count < testWidth * 4 && generations > 20)
break;
if (generations > 100) break;
boolean tmp[] = grid2;
grid2 = grid3;
grid3 = tmp;
generations++;
}
}
}

public static void main(String args[]) {
generate(0, 0);

Owen Rees

unread,
Feb 26, 2003, 6:01:36 PM2/26/03
to
On Wed, 26 Feb 2003 08:44:57 -0800, David Eppstein
<epps...@ics.uci.edu> wrote in
<eppstein-86C796...@news.service.uci.edu>:

>The standard internet email protocol (and news?) has a convention where
>a single period on a line ends a message. To allow lines with single
>periods to be included in messages, periods are used as quotes: a period
>at the start of the line is eaten, so you can get a single-period line
>by using two periods, etc. This is all supposed to be transparent to
>email users, but obviously it isn't always. So it's a good idea, if
>you're posting CA patterns using the o-. convention, to put a space at
>the front of each line.

For those who are interested, what you described is part of SMTP (the
mail protocol) (and the message came in via a mail-to-news gateway, so
the mail part of the route would be the prime suspect). It is not just a
convention, it is a required part of the protocol, both in the use of a
single period to indicate the end of the message body, and the
transmission of an extra period on the beginning of every line that
starts with a period.

Meanwhile, I tried the pattern - it is a nice example.

--
Owen Rees - opinions expressed here are mine; for the full disclaimer
visit <http://www.users.waitrose.com/~owenrees/index.html#disclaimer>
for e-mail use "owenrees at waitrose.com" instead of the From address

Ash

unread,
Feb 28, 2003, 3:55:28 PM2/28/03
to
Try
_***_
*___*
**_**

Or download my version of Life on http://www.renken.nl/esger lots of
patterns are included, which I did not create myself but I found them on the
internet.

"Michael Hedera" <mh...@nym.alias.net> wrote in message
news:2003022417110...@nym.alias.net...

Michael Hedera

unread,
Mar 3, 2003, 8:38:31 AM3/3/03
to
Frank Buss <f...@frank-buss.de> wrote:
> Michael Hedera <mh...@nym.alias.net> wrote:
>
> > Is there somewhere a list of n-cell methuselah patterns in Conway's
> > Life? (assuming some reasonable limits on the bounding box) The
> > compilations of life patterns I have seen contained only the few most
> > known methuselahs (acorn, multum in parvo, rabbits/bunnies etc). I
> > found a few nice patterns, but I suppose they may already be known.
>
> Should be easy to built such a list for less than 11 cells (for a field
> with 9x9 cells, with 9 active cells, there will be 260887834350
> combinations (binomial(81, 9)), which could be calculated in 3 days, if
> one million combinations can be calculated per second, for 10 active
> cells on a 10x10 field it would take 200 days, but for 11 cells on a
> 11x11 field it would take 40 years).

I think the bounding box limit is necessary to exclude patterns which
are long-lived only due to the initial distance between parts of the
pattern - e.g. the glider below could be moved back 1000000 generations:
.....*
...**.
....**
......
***...

But there exist n-cell patterns that won't fit in a n x n box, but where
the time needed for the parts to interact is negligible compared to the
total time needed for stabilization; the 8-cell example below goes on for
over 14000 generations:
...............................**.
................................**
................................*.
..................................
..................................
..................................
***...............................

--
Michael Hedera

When you're testing a C beutifier on it's own source, the first line it
mangles will be the line with the bug which causes the mangling.

0 new messages