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

Methuselahs in Conway's Life

3 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