Experimenting with an intermediate neighbourhood
Experimenting with an intermediate neighbourhood
In the hope of being able to search a rule space that is even more gradated than Generations, I've started playing with rules with a weighted intermediate between Moore and von Neumann, counting the Moore cells as 2 and the corner cells as 1 giving a neighbour count range of 012 for survival and birth c.f. Generations' 08, while matching Generations' handling of dying cells (higher colours).
While the rule in the attached zip is not quite what I'm looking for, it did at least produce this one very neat pattern that shows linear cell count growth confined to a square.
While the rule in the attached zip is not quite what I'm looking for, it did at least produce this one very neat pattern that shows linear cell count growth confined to a square.
 Attachments

 squarefill.zip
 zip file with rule and seed pattern ready to open and run in Golly
 (1.04 KiB) Downloaded 475 times
Spectacular puffer engine
The attached zip contains the tip of the iceberg, even within the tiny corner of weighted Moore plus Von Neumann neighbourhood rules that I'm this week focused on.
While the pattern shown is largish for a reason which should be obvious, its core puffer engine has already emerged naturally three times within the only viable seed pattern I've yet found under this rule. The first two ran into other patterns, but the third looks to be in the clear beyond 80,000 iterations from the original two ship seed.Re: Experimenting with an intermediate neighbourhood
Wow, that 13c/58 spaceship is amazing, even more interesting (to me at least) that the puffer itself. This may be the first rule I've seen in which extra history states don't add clutter, but rather improve the rule. Will you release the RuleTree source code? (Is it similar to MCell's Weighted Life symmetric rules? I've always wanted to do a script to convert MCell weighted life rulestrings to Golly's RuleTree format, it should be fairly trivial)
The trail engine your puffer is based on, as a standalone c/2 spaceship:
The three wellknown c/2 spaceships that appear in many generation rules, such as 3458/37/4:
Two beautiful, simple oscillators (I like how most patterns seem to stop because of the death states and then suddenly come back to life)
A reaction between those oscillators that generates the trail engine:
Now, on to the interesting part: the 13c/58 diagonal spaceship:
A 13c/58 diagonal rake (and double rake) (and puffer, unless I manage to clean it properly) (which seems unlikely, to be honest) of 13c/58 diagonal spaceships:
And... that's basically it. I really like this rule. Probably because of the fancy neon colors, but still...
The trail engine your puffer is based on, as a standalone c/2 spaceship:
Code: Select all
x = 9, y = 18, rule = WMPVN45678bc_459a_22
2.CD.DC$2.BA.AB$3.A.A$2.2A.2A$3.A.A$.TUA.AUT$.RSA.ASR$.PQA.AQP$.NOA.A
ON$.LMA.AML$.JKA.AKJ$.HIA.AIH$.FGA.AGF$.DEA.AED$.BCA.ACB$.3A.3A$.3A.
3A!
Code: Select all
x = 22, y = 3, rule = WMPVN45678bc_459a_22
.3A3.4A6.3A$.3A3.4A6.3A$2A4.2A2.2A4.2A.2A!
!
Code: Select all
x = 24, y = 5, rule = WMPVN45678bc_459a_22
$.3A$.3A16.3A$.3A16.3A!
Code: Select all
x = 18, y = 4, rule = WMPVN45678bc_459a_22
2.3A9.3A$2.3A3.3A3.3A$2.3A3.3A3.3A$8.3A!
Code: Select all
x = 20, y = 12, rule = WMPVN45678bc_459a_22
$5.DFG7.3A$3.DBCEHI3.2A.4A$3.EC3LJOP.4AD2A$3.GFLOKMNQRH2IF3A$3.HIKJQ
3TSIKDEA$4.JKJPO.2TJM3AB$5.LKON.2JROBEC$5.MNOM.KTNMCD$8.2L2.QP$12.RS$
12.UT!
Code: Select all
x = 79, y = 80, rule = WMPVN45678bc_459a_22
2$9.A$6.A.3A$5.B3AC2A$4.CDADE2A$4.B2ACHA$.SROLNLJH2A$.TQPMQIHG2A$4.SI
SRQ$4.JI2SPO$3.K2.USMN3$20.A$16.2A.3A$13.NO.4AC2A$13.MPQG2HE2A$13.2SR
HJCDA$13.U2SIL4A$14.2IQNADB$14.JSMLBC$13.K2.PO$16.QR19$50.A$46.2A.3A$
43.NO.4AC2A$43.MPQG2HE2A$43.2SRHJCDA$43.U2SIL4A$44.2IQNADB$44.JSMLBC$
43.K2.PO$46.QR$46.TS2$63.A$60.A.3A$59.B3AC2A$58.CDADE2A$58.B2ACHA$55.
SROLNLJH2A$54.UTQPMQIHG2A$58.SISRQ$58.JI2SPO$57.K2.USMN3$74.A$70.2A.
3A$67.NO.4AC2A$67.MPQG2HE2A$67.2SRHJCDA$67.U2SIL4A$68.2IQNADB$68.JSML
BC$67.K2.PO$70.QR$70.TS$70.U!

 Posts: 566
 Joined: May 31st, 2009, 12:08 am
Re: Experimenting with an intermediate neighbourhood
Cleanup for 13c/58 diagonal rake:ebcube wrote:
A 13c/58 diagonal rake (and double rake) (and puffer, unless I manage to clean it properly) (which seems unlikely, to be honest) of 13c/58 diagonal spaceships:
Code: Select all
x = 79, y = 80, rule = WMPVN45678bc_459a_22 2$9.A$6.A.3A$5.B3AC2A$4.CDADE2A$4.B2ACHA$.SROLNLJH2A$.TQPMQIHG2A$4.SI SRQ$4.JI2SPO$3.K2.USMN3$20.A$16.2A.3A$13.NO.4AC2A$13.MPQG2HE2A$13.2SR HJCDA$13.U2SIL4A$14.2IQNADB$14.JSMLBC$13.K2.PO$16.QR19$50.A$46.2A.3A$ 43.NO.4AC2A$43.MPQG2HE2A$43.2SRHJCDA$43.U2SIL4A$44.2IQNADB$44.JSMLBC$ 43.K2.PO$46.QR$46.TS2$63.A$60.A.3A$59.B3AC2A$58.CDADE2A$58.B2ACHA$55. SROLNLJH2A$54.UTQPMQIHG2A$58.SISRQ$58.JI2SPO$57.K2.USMN3$74.A$70.2A. 3A$67.NO.4AC2A$67.MPQG2HE2A$67.2SRHJCDA$67.U2SIL4A$68.2IQNADB$68.JSML BC$67.K2.PO$70.QR$70.TS$70.U!
Code: Select all
x = 95, y = 112, rule = WMPVN45678bc_459a_22
80.A$79.4A$77.C.A2BA$76.D3AEB2A$75.EFAFG3A$75.DCBEJ3A$72.UTQNPNLJ2A$
73.SROSKJI2A$75.UKUTS$75.LK2URQ$61.A12.M3.UOPJI$60.3A11.MNOPUNK2AH$
59.2AB2A11.2PQRLM2AG7.A$60.ADA12.OIJKPM2L6.5A$59.2AG3A10.NIKLMK2LK3.
4A2BA$59.K2A2JA10.I2JILKMIJPQ.4AEB2A$58.LHGFMJ2A8.2AJ2ALMPJNORSI2JG3A
$57.MNINOEIA9.ABAGA2LKR3UTJLEFA$57.LKJMRDCBF8.2AEHAKLKQP.2UKNB2AC$60.
TRFIG10.A2E2AMLPO.2KSPCFD$59.SRQGH11.3ACANOPN.LUONDE$58.S18.3A3.2M2.R
Q$57.TS19.A8.ST$56.U31.U$56.U5.SR4.2A$61.TUQP3.2A$58.QPQ.UNO$54.PQRTR
SR2UNML$53.O2A3STUSOPLK$53.ANARPONMTLMNM$53.2AO2QRS2LM2N$55.P2QP.2QRN
M$57.P.2PQ2ML$60.OPON4$55.2A$55.2A$41.A$39.5A$39.A.A.A$38.3A.3A$39.A.
A.A$39.5A$41.A5$42.2A$42.2A$28.A$26.5A$26.A.A.A$25.3A.3A$26.A.A.A$26.
5A$28.A3$16.TU$16.UT19.3A$29.2A4.B.4A$29.2A3.C3AD2A$33.DEAEF3A$33.CBA
DIA$18.CB10.TSPMOMKI2A$17.D2A10.URQNRJIH2A$17.E4A11.TJTSR$17.LF2H2A
10.KJ2TQP$15.L2MGKHBC9.L3.TNO$15.L2MOFGED9.LMNOTMJI$17.LMFGF11.2OPQKL
HG$16.IJKGH12.NK2JOLEF$16.HGKJI12.ML2K2LCD$16.4A15.JIFCB$16.AJ2A16.HG
ED$14.3AGA$13.2AB2E2A$14.4AC2A$5.2A8.A.3A$5.2A11.A14$7.3A$5.B.4A$4.C
3AD2A$3.DEAEF3A$3.CBADIA$TSPMOMKI2A$URQNRJIH2A$3.TJTSR$3.KJ2TQP$2.L3.
TNO$2.LMNOTMJI$3.2OPQKLHG$3.NK2JOLEF$3.ML2K2LCD$5.JIFCB$6.HGED!
Code: Select all
x = 117, y = 104, rule = WMPVN45678bc_459a_22
91.DFG7.3A$89.DBCEHI3.2A.4A$89.EC3LJOP.4AD2A$89.GFLOKMNQRH2IF3A$89.HI
KJQ3TSIKDEA$90.JKJPO.2TJM3AB$91.LKON.2JROBEC$91.MNOM.KTNMCD$94.2L2.QP
$98.RS$98.UT3$113.3A$111.B.4A$110.C3AD2A$109.DEAEF3A$97.2A10.CBADIA$
97.2A7.TSPMOMKI2A$106.URQNRJIH2A$109.TJTSR$86.PO21.KJ2TQP$85.Q2A20.L
3.TNO$85.R2A20.LMNOTMJI$86.ST2.2A3.Q13.2OPQKLHG$87.U2.2A2.RPOQ11.NK2J
OLEF$89.KJ2.Q.SPSRQP8.ML2K2LCD$89.LM.2P.RQ2SLKO9.JIFCB$90.NO5.UMODE
10.HGED$94.RQRUMNCFD$84.2A7.R3SLQNB2AC$84.2A6.USTRQKJLEFA$93.T3.PI2JG
3A$98.4AEB2A$98.4A2BA$73.2A25.5A$73.2A27.A$77.2A$77.2A4$81.2A$71.2A7.
5A$71.2A6.E.A2DA$78.FB2AGD2A$77.GHCHIACA$60.2A15.FEDGL3A$60.2A14.SPRP
NLACA$75.UTQUMLKAB$78.M2.U$60.2A15.NM2.TS16.U$60.2A14.O4.QR15.ST$76.O
PQR.PML10.2M2.RQ$77.2RSTNOKJ6.NOPN.LUONDE$77.QN2MROHI6.MLPO.2KSPCFD$
48.2KNPRT23.PO2N2OFG5.KLKQP.2UKNB2AC$47.J2LOQSU25.MLIFE5.IJLKR3UTJLEF
A$46.I4ANPRT25.KJHG5.HGMPLNORSI2JG3A$47.AL2AOQSU9.2A23.FD3MKPQ.4AEB2A
$46.2AMKJ13.2A23.ECDFIJ3.4A2BA$46.2AL42.EGH6.5A$102.A2$47.2A$47.2A3$
52.F.A$51.G5A$48.2THIBI2JA.A$48.2UGICDMJ4A$47.TSPFTQOEDGDB2A$47.URQ2E
2O2F4A$43.TMN2A.E2F3ACA.A$43.UMO2AIEF2ABC2A$34.LK6.STOKGKIFA2BA.BA$
31.JK2MFQRSTU.JKL2NHEFB.2A$30.MI2LDEGHIK2.ITS2MLGDC$30.NHGFE2QPJL2.2H
SQON$31.OQSOPQ2.M3.IPLOKM$31.S2P2.2P2.NOJ2MK2LJ$32.TU4.ONSPJKMJLKJ$
39.L2PM2LED2A$38.KMHGFEDIF2A$38.IJI2H2GCFA$38.3ABEFEBD2A$33.2A3.2A.CD
2.4A$33.2A10.3A3$2.DFG7.3A$DBCEHI3.2A.4A$EC3LJOP.4AD2A$GFLOKMNQRH2IF
3A$HIKJQ3TSIKDEA$.JKJPO.2TJM3AB$2.LKON.2JROBEC$2.MNOM.KTNMCD$5.2L2.QP
14.2A$9.RS9.2A3.2A$9.UT9.2A2$43.ST54.U!

 Posts: 566
 Joined: May 31st, 2009, 12:08 am
Re: Experimenting with an intermediate neighbourhood
Sorry about the botched edit:
Just found this clean rake that uses just two 13c/58 diagonal spaceships:
Just found this clean rake that uses just two 13c/58 diagonal spaceships:
Code: Select all
x = 17, y = 34, rule = WMPVN45678bc_459a_22
6.2A.2A$6.6A$2.RLKHEGEC2A$.SNMJIFJB3A$TUOU2.LBLKJ$SRPQ2.CB2LIH$4.RDSP
NLFG$4.SDEFGLEBA$3.UT.2GHICDA$6.FC2BGD2A$6.ED2C2DA$8.B4A$10.A6$13.3A$
11.B.4A$10.C3AD2A$9.DEAEF3A$9.CBADIA$6.TSPMOMKI2A$6.URQNRJIH2A$9.TJTS
R$9.KJ2TQP$8.L3.TNO$8.LMNOTMJI$9.2OPQKLHG$9.NK2JOLEF$9.ML2K2LCD$11.JI
FCB$12.HGED!
Last edited by knightlife on December 11th, 2010, 10:54 pm, edited 1 time in total.
Re: Experimenting with an intermediate neighbourhood
This code relies on being able to simply derive the rule tree for the next higher number of states which I can only presume will only work for Generationslike states. To generate all the rule trees for _2 through _40 while you blink, enter something like:ebcube wrote:Will you release the RuleTree source code?
 perl makeWMPVNruleTrees.pl 45678bc/459a/40
Code: Select all
#!/usr/bin/perl
# Create WMPVNs_b_n.trees for specified s/b strings and 2 <= n <= c states
# by Tony Smith, Meme Media, Melbourne, Australia, December 2010
# extends Golly/Rules/TreeGenerators/RuleTreeGen.pl
use strict;
my ( @s, @b, $c, $part, %world, $nodeseq, @r, @params );
my $error = 'ok';
my $params = shift;
if ( @_ ) { $error = 'too many parameters' }
else {
my ( $s, $b, $max, @more ) = split /\//, $params;
if ( @more ) { $error = 'too many parts' }
elsif ( $max !~ /^[19]\d*$/ ) { $error = 'max states is not a positive integer' }
elsif ( $max < 2 ) { $error = 'max states must be > 1' }
else {
$c = $max;
if ( $s !~ /^[\dabc]+$/i ) { $error = 'survive list must only contain 09 or ac' }
else {
@s = foundin( $s );
if ( scalar @s < length $s ) { $error = 'duplicate entries in survive list' }
elsif ( $b !~ /^[\dabc]+$/i ) { $error = 'born list must only contain 09 or ac' }
else {
@b = foundin( $b );
if ( scalar @b < length $b ) { $error = 'duplicate entries in born list' }
else { $part = "WMPVN$s\_$b\_" }
} } } }
die $error if $error ne 'ok'; # should prompt for parameter input rather than die
my $numNeighbors = 8;
my $numParams = $numNeighbors + 1;
my ( @lists, $numStates );
foreach $numStates ( 2 .. $c ) {
if ( $numStates == 2 ) { ruleTreeGen( 2 ) }
elsif ( $numStates == 3 ) {
my @r = ruleTreeGen( 3 );
foreach ( @r ) {
my @list = split / /;
push @lists, \@list;
}
}
else {
open ( NEW, '>', "$part$numStates.tree" )  die "Cannot open file for output!";
print NEW "num_states=$numStates\n";
print NEW "num_neighbors=$numNeighbors\n";
print NEW "num_nodes=", scalar @r, "\n";
my @new = ();
foreach my $list ( @lists ) { # bump rule tree to next higher $numStates
my @list = @$list;
if ( $list[0] == 1 ) { # state values
splice( @list, 1, 0, $list[2] ? $numStates  1 : 0 );
}
else { # node numbers
push( @list, $list[1] );
}
my $new = join( ' ', @list);
print NEW "$new\n";
push @new, \@list;
}
close NEW;
@lists = @new;
}
}
sub ruleTreeGen {
$numStates = shift;
%world = ();
$nodeseq = 0;
@r = ();
@params = (0) x $numParams;
recur($numParams);
open ( NEW, '>', "$part$numStates.tree" )  die "Cannot open file for output!";
print NEW "num_states=$numStates\n";
print NEW "num_neighbors=$numNeighbors\n";
print NEW "num_nodes=", scalar @r, "\n";
print NEW "$_\n" for @r;
close NEW;
return @r;
}
sub f { # Weighted Moore Plus Von Neumann
my ($nw, $ne, $sw, $se, $n, $w, $e, $s, $c) = @_;
return ($c + 1) % $numStates if $c > 1; # as in Generations
my $out = ($nw==1) + ($ne==1) + ($sw==1) + ($se==1);
my $in = ($n==1) + ($w==1) + ($e==1) + ($s==1);
my $sum = 2 * $in + $out;
return 1 if $c and $s[$sum]; # survive
return 1 if not $c and $b[$sum]; # born
return $c ? 2 : 0 if $numStates > 2; # commence dying if not dead
return 0; # die or stay dead
}
sub recur {
my $at = shift;
return f(@params) if $at == 0;
my $n = $at;
for (my $i=0; $i<$numStates; $i++) {
$params[$numParams$at] = $i;
$n .= " " . recur($at1);
}
return $world{$n} if defined($world{$n});
$world{$n} = $nodeseq;
push @r, $n;
return $nodeseq++;
}
sub foundin {
my $code = shift;
my @list = ( 0 ) x 13;
my $allow = '0123456789abc';
my $state = 0;
my %decode;
while ( $allow ) {
my $char = substr( $allow, 0, 1, '' );
$decode{ $char } = $state ++;
}
while ( $code ) {
my $char = substr( $code, 0, 1, '' );
@list[ $decode { $char } ] = 1;
}
return @list;
}
Assuming Mirek's HI code is interpreted as in Generations, mine is a narrow subset of Weighted Life, with a specific neighbourhood chosen so as not to bias a direction:ebcube wrote:(Is it similar to MCell's Weighted Life symmetric rules?
Code: Select all
x = 129, y = 29, rule = 345/3/4
9C.9A.9C21.9A.9A.9A21.9A.9A.9A$C9.9A9.C21.9A.9A.9A21.4AC4A.3A3C3A.4AC
4A$C9.9A9.C21.9A.9A.9A21.3A2C4A.2AC3AC2A.3A2C4A$C9.9A9.C21.9A.9A.9A
21.4AC4A.6AC2A.4AC4A$C9.9A9.C21.9A.9A.9A21.4AC4A.5AC3A.4AC4A$C9.9A9.C
21.9A.9A.9A21.4AC4A.4AC4A.4AC4A$C9.9A9.C21.9A.9A.9A21.4AC4A.3AC5A.4AC
4A$C9.9A9.C21.9A.9A.9A21.3A3C3A.2A5C2A.3A3C3A$C9.9A9.C21.9A.9A.9A21.
9A.9A.9A2$9A.9B.9A21.9A.9B.9A21.9A.9B.9A$9A.9B.9A21.9A.9B.9A21.3A3C3A
.9B.3A3C3A$9A.9B.9A21.9A.9B.9A21.2AC3AC2A.9B.2AC3AC2A$9A.9B.9A21.9A.
9B.9A21.6AC2A.9B.6AC2A$9A.9B.9A21.9A.9B.9A21.5AC3A.9B.5AC3A$9A.9B.9A
21.9A.9B.9A21.4AC4A.9B.4AC4A$9A.9B.9A21.9A.9B.9A21.3AC5A.9B.3AC5A$9A.
9B.9A21.9A.9B.9A21.2A5C2A.9B.2A5C2A$9A.9B.9A21.9A.9B.9A21.9A.9B.9A2$C
9.9A9.C21.9A.9A.9A21.9A.9A.9A$C9.9A9.C21.9A.9A.9A21.4AC4A.3A3C3A.4AC
4A$C9.9A9.C21.9A.9A.9A21.3A2C4A.2AC3AC2A.3A2C4A$C9.9A9.C21.9A.9A.9A
21.4AC4A.6AC2A.4AC4A$C9.9A9.C21.9A.9A.9A21.4AC4A.5AC3A.4AC4A$C9.9A9.C
21.9A.9A.9A21.4AC4A.4AC4A.4AC4A$C9.9A9.C21.9A.9A.9A21.4AC4A.3AC5A.4AC
4A$C9.9A9.C21.9A.9A.9A21.3A3C3A.2A5C2A.3A3C3A$9C.9A.9C21.9A.9A.9A21.
9A.9A.9A!
I agree but am having too much fun to think about tackling it myself.ebcube wrote:I've always wanted to do a script to convert MCell weighted life rulestrings to Golly's RuleTree format, it should be fairly trivial
In practice, many are born with a double blocked trail so continuing to lengthen while gaining "tagalongs" from orthogonal and diagonal ships until some tagalong detabilises the double block, after which they eventually settle into either a puffer or something more like the minimal spaceship you posted. (The c taglongs are somewhat less extravagant than in StarWars but more varied than the 2/3c tagalongs found in 345/3/n rules.)ebcube wrote:The trail engine your puffer is based on (...)
Rules which produce those spaceships and serrated track have become my comfort zone as I've spent the last two years becoming way too familiar with their broad interaction dynamics. With that in mind, I recently tabulated the corner of the universe of rules where I plan to keep my attention:ebcube wrote:The three wellknown c/2 spaceships that appear in many generation rules, such as 3458/37/4.
Code: Select all
COMFORT FEATURES,Generations,wM+VN
Count range,08,012(c)
Survive,345(8?),45678(b?c?)
Born,3(6?7?8?),45(9?a?b?c?)
1/2 forward movement,born 3,born 45
1/2 toggling side cells,born 3,born 4
asym ship central cell death,not survive 6,not survive 9
sym ship central cell death,not survive 7,not survive a
tail/edge clean up,not survive 12,not survive (1?)23
track without gap stability,survive 35,survive 48
track with gap stability,survive 34,survive 46
gapless double track stability,survive 345,survive 468
block stability,survive 3,survive 5
blocked track stability,survive 5,survive 8
gap stability,not born 4,not born 6(7?8?)
track toothed edge stability,not born 5,not born 8
You might also like:ebcube wrote:Two beautiful, simple oscillators (I like how most patterns seem to stop because of the death states and then suddenly come back to life)
Code: Select all
x = 67, y = 62, rule = WMPVN45678bc_459a_22
3.2A$.6A$.A4.A$2A4.2A$.A4.A$.6A$3.2A7$16.2A$14.6A$14.A4GA$13.2AG2JG2A
$14.A4GA$14.6A$16.2A9$28.2A$26.6A$26.A4CA$25.2AC2FC2A$26.A4CA$26.6A$
28.2A4$61.POML$60.RQNKJ$58.UT2S2TKL$59.S2R.TMN$62.STPO$41.2A14.TU3.UR
Q$40.S2AS13.T$39.UT2AT14.SR$42.U16.R$60.RQPFG$58.U.USQEHF$38.UT18.KJI
LQCBAE$39.T18.LMHMNDHA$40.TSRHI14.KGFELI2A$41.USGJH14.J2A2IA$38.MLKNS
EDCG13.2AF3A$38.NOJOPFJBA14.ACA$39.MIHGNK2A14.3A$40.L2A2KA15.3A$40.2A
H3A$41.AE3A$40.2AC2A$40.5A$41.3A!
Just a side note that this appears to work for state values 16 and above, though interaction byproducts vary wildly between states. Save for tests like this, I've only got to 1922 in any detail as yet. Those four are all totally different, though within the eight point compass that the mix of c/2 and 13c/58 diagonal spaceships provides as common background. _19 is dominated by a 13c/107 diagonal puffer which fires 13c/58 diagonal spaceships forwards. _20 produces a rich variety of mostly orthogonal trails. _21 is dominated by a p78x64y330t settled puffer trail which also produces rakes of 13c/58 diagonal spaceships in such a way that the central pattern soon looks like a caged spaghetti monster.ebcube wrote:Now, on to the interesting part: the 13c/58 diagonal spaceship
There is one more discovery, but it warrants a separate thread.ebcube wrote:I really like this rule. Probably because of the fancy neon colors, but still...

 Posts: 566
 Joined: May 31st, 2009, 12:08 am
Re: Experimenting with an intermediate neighbourhood
Experimenting with signals:
The diagonal spaceship can launch a signal on the fly.
The signal can launch a diagonal spaceship but falls short of being a gun.
So far I haven't found a "conventional" stable eater for the 13c/58 diagonal spaceship.
However, using signals I made this stable eater:
Code: Select all
x = 106, y = 82, rule = WMPVN45678bc_459a_22
8.2A$4.2A2.2A$4.4A2.2A$6.2A2.2A3$4.2A6.2A$4.2A6.2A$2.2A61.2A$2.2A61.
2A$2A8.2A51.2A2.2A$2A8.2A51.2A2.2A$59.2A10.2A$10.2A47.2A10.2A$10.2A$
98.2A$10.2A45.2A14.2A23.2A$10.2A45.2A14.2A27.2A$53.2A22.2A23.2A$53.2A
22.2A$12.2A6.2A.2A.2A.2A.2A.2A.2A.2A$10.4A6.2A.2A.2A.2A.2A.2A.2A.2A
61.2A$10.2A2.2A2.2A23.2A6.2A26.2A23.2A$14.2A2.2A23.2A6.2A26.2A$16.2A
27.2A2.2A32.2A$16.2A27.2A2.2A32.2A$18.2A9.2A16.2A$18.2A9.2A16.2A$17.
2A3.2A.2A6.2A50.2A$17.2A3.2A.2A6.2A50.2A$89.2A$89.2A$35.2A$35.2A$33.
2A56.2A$33.2A56.2A$31.2A$31.2A$29.2A$29.2A$27.2A2.2A$27.2A2.2A39.2A$
72.2A$27.2A47.2A$27.2A47.2A$29.2A65.2A.3A$29.2A65.4ABA$31.2A45.2A12.S
MLIFHFDB2A$31.2A45.2A11.TONKJGKCB2A$33.2A55.U.P3.MCMLK$33.2A55.TSQR2.
DC2MJI$35.2A57.SETQOMGH$35.2A57.TEFGHMFCB$37.2A55.U.2HIJDEA$37.2A57.G
D2CHE2A$39.2A55.FE2D2EA$39.2A57.CB3A$41.2A56.2A$41.2A$43.2A$43.2A$45.
2A$45.2A$47.2A$47.2A$49.2A$49.2A$51.2A$51.2A$53.2A$53.2A$55.2A$55.2A$
57.2A$57.2A$59.2A$59.2A$61.2A$61.2A$63.2A$63.4A$65.2A!
The signal can launch a diagonal spaceship but falls short of being a gun.
So far I haven't found a "conventional" stable eater for the 13c/58 diagonal spaceship.
However, using signals I made this stable eater:
Code: Select all
x = 35, y = 44, rule = WMPVN45678bc_459a_22
18.2A.2A.2A.2A.2A.2A$18.2A.2A.2A.2A.2A.2A$16.2A$16.2A$14.2A$14.2A2$
14.2A$14.2A23$6.2A.3A$6.4ABA$2.SMLIFHFDB2A$.TONKJGKCB2A$U.P3.MCMLK$TS
QR2.DC2MJI$4.SETQOMGH$4.TEFGHMFCB$4.U.2HIJDEA$6.GD2CHE2A$6.FE2D2EA$8.
CB3A$9.2A!
Re: Experimenting with an intermediate neighbourhood
235679a/45689/6: Reminds me of Star Wars, spaceships and puffers occur naturally. Diagonal c/3 spaceships (I'm pretty sure a lot more are possible, but they're not as common as c/2 orthogonal spaceships) and a c/5 diagonal spaceship.
Code: Select all
x = 95, y = 174, rule = WMPVN235679a_45689_6
$90.A$58.3ADB10.3A12.3AB$44.3A10.ABDCAC9.A2BAC10.2A2CAE$44.3AB9.2AED
10.ABA3C9.ABAC2.D$44.2ADB8.2AD12.AB2C11.ABEB$45.2BC9.AC12.2AC12.2AE.E
$59.D12.2C13.DC6$72.2A2C$71.ABA.C$71.ABC$71.ABC$71.ABA.C$72.2A2C7$72.
A$71.AB$72.A5$73.AC$72.3A$72.A2C$71.ABC$72.A2C7$72.A$71.AB$71.AB$72.A
6$46.ABC$42.ABD.ADC2A2E18.ABD$42.3ACBA.ABA.D17.4AEC2A2C.2A$42.3ACA.E
2A2E18.4AED3ADA2BA$42.ABD26.ABD.BA.E2C.2A$75.2ADE8$77.A2C$72.A2B2.ADC
BA.E$72.AC2ADC2ACB$71.ABC.2AE2A2E$71.ABC.2AE2A2E$72.AC2ADC2ACB$72.A2B
2.ADCBA.E$77.A2C4$52.A2C$51.2ADB$41.A2C7.ACD$40.2AD2A2E2B2.ADC21.2ADE
$40.ACDABA.AD2ACD18.ABD.BA.EDBC$40.ACDABA.AD2ACD18.4AED2AE.B$40.2AD2A
2E2B2.ADC17.4AEDABAE$41.A2C7.ACD17.ABD.BA.EA$51.2ADB20.2ADE$52.A2C7$
43.ABD30.ABE3.AB$43.3ACB24.ACEACBA.A.CAD$42.2ACE25.3ABA.EA.6A$42.2ACE
25.3ABA.EA.6A$40.ACE3ADA24.ACEACBA.A.CAD$39.4ACEA2BD27.ABE3.AB$40.BD.
2ACDAE$40.5AEB.D$41.ACE2A2DC4$72.A2C.2AECB$43.ACE25.2AD2AE2ACD$42.3AB
A.E22.ACDABA.EDA$42.ABD26.ACDABA.DCA$41.2ABD26.2AD2A2E$39.ABD.2ABD25.
A2C$39.3ABD.BCE$39.ACE3A$40.3ABAB$40.ABD.BA7$42.ACE$41.4ACB$39.ABD.BD
$39.ACE.AC$39.ABD.BD$41.4ACB$42.ACE3$85.A$82.6A$75.ABE.BCB3ACBA$71.AC
EACBA.CDACA.E2A$70.3ABA.E2ACDBA$70.3ABA.D2AE3.D$71.ACE4.2ACEDE$79.BA
2D5$4.ABD$4.3ABD$3.ABD.AD$3.ACE2.CBD$3.ACE.2AD.2A$3.ABD.BDE$4.3ABD$4.
ABD15$74.A2CA.2D$73.2AD3A.C$73.ACD2ACE$73.ACD2ABD$73.2AD2AD2.E$74.A2C
2.CDC$79.ABA$80.A!
Space fillers in unexpected places
When I'm searching the rule spaces identified above I have a basic model of what I'm looking for from a viable small seed over of order 100,000 iterations: a slowly growing chaotic core with streams of common ships radiating like compass points, four NSEW with common symmetric and asymmetric c/2 ships plus four diagonals for the intermediate directions in the eight WMPVN45678bc?_459ab?c?_>=16 rule families that readily form the 13c/58 diagonal ship. There should also be a variety of puffer engines leaving a variety of trails, but none overly common, especially not those which never stabilise but go through a succession of period doublings creating a wedge shaped core and a deltawinglike array of rakes. As a general rule, increasing the number of states gives less average activity, quite rapidly for Generations rules and more slowly in the ranges I am looking at with WMPVN.
But it is the exceptions which make it endlessly interesting, or maybe frustrating when you drag yourself out of bed at 4:00 on a Sunday morning intending to find a WMPVN45678c_459abc_? rule to leave running until a more sensible hour. I had reasons to expect the sweet spot to be in the early teens but routinely start at /20 and move up and down by 4 at first depending on what my large grid of c/2 ship collisions tells me.
All /20 seeds settled reasonably quickly, as did /16, but it was what the /20 seeds settled to that woke me up properly: a 56c/156 trail forming a copy of itself running at right angles to one side per cycle when not blocked or 26 blocks per cycle when blocked in by an adjacent trail, all initial irregularities quickly stabilising out.
Then /12 proved to be very close to the sweet spot with a minimum of viable seeds, except that its inner chaotic core was rapidly surrounded by a Fredkin like replicator, actually the same shape that drives the diagonal ship forming twin rakes under another rule which I just started a new thread about and was monitoring on another computer, which produces 2 copies of itself after 163 iterations: I've extracted the first doubling of the basic seed here so as to make clear the way the outer edge reproduces Fredkin's XORbased replication. This is of significance to me because Fredkin's rule was my starting point with cellular automata in 1983, coincidentally on the previous occasion that my life had been disturbed by flood damage along the Great Ocean Road.
Not every surprise is as neat as those two. /11 was only a bit more active but dominated by the rapid emergence of a 14c/39 engines with two variants, one leaving a very active chaotic trail with rapid period doubling and the other stabilising to a trail of nine blocks: After a 7492 iteration methuselah at /13, somewhat surprisingly /14 turned up 3 viable orthogonal collisions, one of which I left running when I finally went back to bed, having along the way also answered the more fundamental question that survive b (11) really is necessary for the 13c/58 diagonal ship to form.
But it is the exceptions which make it endlessly interesting, or maybe frustrating when you drag yourself out of bed at 4:00 on a Sunday morning intending to find a WMPVN45678c_459abc_? rule to leave running until a more sensible hour. I had reasons to expect the sweet spot to be in the early teens but routinely start at /20 and move up and down by 4 at first depending on what my large grid of c/2 ship collisions tells me.
All /20 seeds settled reasonably quickly, as did /16, but it was what the /20 seeds settled to that woke me up properly: a 56c/156 trail forming a copy of itself running at right angles to one side per cycle when not blocked or 26 blocks per cycle when blocked in by an adjacent trail, all initial irregularities quickly stabilising out.
Then /12 proved to be very close to the sweet spot with a minimum of viable seeds, except that its inner chaotic core was rapidly surrounded by a Fredkin like replicator, actually the same shape that drives the diagonal ship forming twin rakes under another rule which I just started a new thread about and was monitoring on another computer, which produces 2 copies of itself after 163 iterations: I've extracted the first doubling of the basic seed here so as to make clear the way the outer edge reproduces Fredkin's XORbased replication. This is of significance to me because Fredkin's rule was my starting point with cellular automata in 1983, coincidentally on the previous occasion that my life had been disturbed by flood damage along the Great Ocean Road.
Not every surprise is as neat as those two. /11 was only a bit more active but dominated by the rapid emergence of a 14c/39 engines with two variants, one leaving a very active chaotic trail with rapid period doubling and the other stabilising to a trail of nine blocks: After a 7492 iteration methuselah at /13, somewhat surprisingly /14 turned up 3 viable orthogonal collisions, one of which I left running when I finally went back to bed, having along the way also answered the more fundamental question that survive b (11) really is necessary for the 13c/58 diagonal ship to form.
Re: Experimenting with an intermediate neighbourhood
I'm having trouble using the Perl script that makes these intermediate rules.
I keep getting this error message: "max states is not a positive integer at [path]\makeWMPVNruletrees.pl line 42"
I keep getting this error message: "max states is not a positive integer at [path]\makeWMPVNruletrees.pl line 42"
Why hasn't a glider exploded yet?
Re: Experimenting with an intermediate neighbourhood
That message is triggered by an early test for validity of the parameter string, so it is possible that it might be due to not finding a third parameter.12Glider wrote:I'm having trouble using the Perl script that makes these intermediate rules.
I keep getting this error message: "max states is not a positive integer at [path]\makeWMPVNruletrees.pl line 42"
The parameter string needs to have three parts separated by two forward slash characters. The first two are selections from 09, ac (representing 1012) for neighbour counts (von Neumann cells count double) for survive and born respectively. The third, as indicated in the error message, must be a positive integer. (While the script will go higher, Golly only works with rule trees having up to 256 states.) So a typical command line looks like:
perl makeWMPVNruletrees.pl 4568bc/45ab/20
Please note that, for consistency with Generations, the parameter string requires forward slash characters. However the generated .tree file names need underscores in those positions and descriptions often refer to the underscored version.
Re: Experimenting with an intermediate neighbourhood
I'm trying to use that command line, and it keeps saying "Number found where operator expected at  line 1, near "pl 4568"
(Do you need to predeclare pl?)
Bareword found where operator expected at  line 1, near "4568bc"
(Missing operator before bc?)
Bareword found where operator expected at  line 1, near "45ab"
(Missing operator before ab?)"
Please help!
(Do you need to predeclare pl?)
Bareword found where operator expected at  line 1, near "4568bc"
(Missing operator before bc?)
Bareword found where operator expected at  line 1, near "45ab"
(Missing operator before ab?)"
Please help!
Why hasn't a glider exploded yet?