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.
> 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
: 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
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..**..
> 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
> 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);
>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
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...
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.