Page 1 of 1

Variants of Generations Rules

Posted: January 6th, 2015, 8:56 pm
by bprentice
The thread introduced by "A for awesome" here:

viewtopic.php?f=11&t=1571

prompted me to publish this rule:

Code: Select all

@RULE RuleTable095
@TREE
num_states=4
num_neighbors=8
num_nodes=41
1 0 2 3 0
1 2 2 3 1
2 0 1 0 0
2 1 0 1 1
3 2 3 2 2
1 0 2 2 0
2 0 5 0 0
3 3 6 3 3
4 4 7 4 4
2 5 0 5 5
3 6 9 6 6
4 7 10 7 7
5 8 11 8 8
1 1 2 1 0
2 0 13 0 0
3 9 14 9 9
4 10 15 10 10
5 11 16 11 11
6 12 17 12 12
2 13 0 13 13
3 14 19 14 14
4 15 20 15 15
5 16 21 16 16
6 17 22 17 17
7 18 23 18 18
2 0 0 0 0
3 19 25 19 19
4 20 26 20 20
5 21 27 21 21
6 22 28 22 22
7 23 29 23 23
8 24 30 24 24
1 0 2 0 0
2 0 32 0 0
3 25 33 25 25
4 26 34 26 26
5 27 35 27 27
6 28 36 28 28
7 29 37 29 29
8 30 38 30 30
9 31 39 31 31
@COLORS
0   0   0   0
1 255   0   0
2   0 255   0
3   0   0 255
It was generated using this modified version of RuleTreeGen.java which is included with Golly:

Code: Select all

import java.util.*;

public class RuleTreeGen
{
  /* Put your state count, neighbor count, and function here */
  final static int numStates = 4;
  final static int numNeighbors = 8;
  final static int ruleTable[][] =
    {
      {0,2,0,0,0,1,0,0,0},
      {2,2,2,2,2,2,2,2,2},
      {3,3,3,2,3,1,3,3,0},
      {0,1,0,0,0,0,0,0,0}
    };

  /* order for nine neighbors is nw, ne, sw, se, n, w, e, s, c */
  /* order for five neighbors is n, w, e, s, c */
  int f(int[] a)
  {
    int count = 0;
    for (int i = 0; i < 8; i++)
      if (a[i] == 1)
        count++;
    return ruleTable[a[8]][count];
  }

  final static int numParams = numNeighbors + 1;
  HashMap<String, Integer> world = new HashMap<String, Integer>();
  ArrayList<String> r = new ArrayList<String>();
  int[] params = new int[numParams];
  int nodeSeq = 0;

  int getNode(String n)
  {
    Integer found = world.get(n);
    if (found == null)
    {
      found = nodeSeq++;
      r.add(n);
      world.put(n, found);
    }
    return found;
  }

  int recur(int at)
  {
    if (at == 0)
      return f(params);
    String n = "" + at;
    for (int i=0; i<numStates; i++)
    {
      params[numParams-at] = i;
      n += " " + recur(at-1);
    }
    return getNode(n);
  }

  void writeRuleTree()
  {
    System.out.println("@RULE RuleTable095");
    System.out.println("@TREE");
    System.out.println("num_states=" + numStates);
    System.out.println("num_neighbors=" + numNeighbors);
    System.out.println("num_nodes=" + r.size());
    for (int i=0; i<r.size(); i++)
      System.out.println(r.get(i));
    System.out.println("@COLORS");
    System.out.println("0   0   0   0");
    System.out.println("1 255   0   0");
    System.out.println("2   0 255   0");
    System.out.println("3   0   0 255");
  }

  public static void main(String[] args) throws Exception
  {
    RuleTreeGen rtg = new RuleTreeGen();
    rtg.recur(numParams);
    rtg.writeRuleTree();
  }
}
The rule is defined in lines 6 thru 25. It has a diagonal replicator which can be used to construct numerous diagonal guns, ships and puffers. Some examples follow:

Code: Select all

x = 13, y = 21, rule = RuleTable095
4.ACB$3.AC3BCA$2.A.BC3BCA$.ACB.B.BCB.A$.CBCB3.B.BCA$.3B5.BCBC$10.3B
8$3B$CBCB5.3B$ACB.B3.BCBC$.A.BCB.B.BCA$2.AC3BCB.A$3.AC3BCA$6.BCA!

Code: Select all

x = 16, y = 30, rule = RuleTable095
2.C.C$.2A2CB$.2BC2B$.2A.2B6$10.BCA$10.2BCA$10.BCB.A$11.B.BCA$12.BCB
C$13.3B$12.3B$11.BCBC$10.B.BCA$9.BCB.A$9.2BCA$9.BCA6$2A.2B$2BC2B$2A
2CB$.C.C!

Code: Select all

x = 15, y = 21, rule = RuleTable095
2C.A2B$2C.A2B$2C.CAB$2.3C4$.BCA$.2BCA$.BCB.A$2.B.BCA$3.BCBC$4.3B3$9.
BCA$9.2BCA$9.BCB.A$10.B.BCA$11.BCBC$12.3B!

Code: Select all

x = 15, y = 22, rule = RuleTable095
.3B$2.B2C$2.2BC$.B.BC$2.2AB3$B3C$ABC.C$2ABC.C$4.C.C$4.B2C$4.ABC$4.2A
B2$8.B3C$8.ABC.C$8.2ABC.C$12.C.C$12.B2C$12.ABC$12.2AB!

Code: Select all

x = 15, y = 23, rule = RuleTable095
3C$.C$.2C$C.CA$3BC$B2.B4$.BCA$.2BCA$.BCB.A$2.B.BCA$3.BCBC$4.3B3$9.B
CA$9.2BCA$9.BCB.A$10.B.BCA$11.BCBC$12.3B!

Code: Select all

x = 25, y = 18, rule = RuleTable095
C.BCB$3CB$C2.B$2.2B.3C$4.2BC.C$4.BABC.C2.B3C$7.B2C2.ABC.C$7.ABC2.BA
.2C$7.2AB4.ABC$14.BAB4$20.B3C$20.ABC.C$20.BA.2C$22.ABC$22.BAB!

Code: Select all

x = 46, y = 38, rule = RuleTable095
3C2B$.C.B$2.CB4.3C$2.ACB4.C2.C2B$7.BA3C.B$7.3B.2CB$7.2BA2.ACB9$23.B
2.B$23.C2B$23.A2B$24.ACA4$29.C$26.BA2C$26.2BAC$26.3B$30.A5B$16.3CB6.
3B2.B.2B2C2B$16.2C2B6.2BA3B.BAC.B$16.CB.A6.BACABCB3.CB$16.BAB8.3C2B
3.3CB$33.2BA$32.2CBA4.3B$33.C.CB3.CBCB$34.C2B3.ACB.B$34.ACB4.A.BCB$
42.AC2B$43.ACB!

Code: Select all

x = 100, y = 36, rule = RuleTable095
2BA29.2BA29.2BA$CB.B28.CB.B28.CB.B$2CBA28.2CBA28.2CBA$3CB28.3CB28.3C
B4$7.BAB29.BAB29.BAB$7.CBA29.CBA29.CBA$7.2C.AB27.2C.AB27.2C.AB$7.C.
CBA27.C.CBA27.C.CBA$8.3CB28.3CB28.3CB4$47.BAB29.BAB$47.CBA29.CBA$47.
2C.AB27.2C.AB$47.C.CBA27.C.CBA$48.3CB28.3CB4$87.BAB$87.CBA$87.2C.AB
$87.C.CBA$88.3CB4$95.BAB$95.CBA$95.2C.AB$95.C.CBA$96.3CB!

Code: Select all

x = 110, y = 36, rule = RuleTable095
2.2BA34.2BA34.2BA$B2C2B32.B2C2B32.B2C2B$3BCB32.3BCB32.3BCB$B.BC33.B
.BC33.B.BC$.2AB34.2AB34.2AB2$8.2BA34.2BA34.2BA$6.B2CB.A31.B2CB.A31.
B2CB.A$6.ABC.2B31.ABC.2B31.ABC.2B$6.BA.2CB31.BA.2CB31.BA.2CB$8.ABC34.
ABC34.ABC$8.BAB34.BAB34.BAB3$53.2BA34.2BA$51.B2CB.A31.B2CB.A$51.ABC
.2B31.ABC.2B$51.BA.2CB31.BA.2CB$53.ABC34.ABC$53.BAB34.BAB3$98.2BA$96.
B2CB.A$96.ABC.2B$96.BA.2CB$98.ABC$98.BAB3$106.2BA$104.B2CB.A$104.AB
C.2B$104.BA.2CB$106.ABC$106.BAB!
Brian Prentice

Re: Variants of Generations Rules

Posted: January 8th, 2015, 8:08 pm
by c0b0p0
Here is a non-replicator-based puffer.

Code: Select all

x = 110, y = 36, rule = RuleTable095
2.2BA34.2BA34.2BA$B2C2B32.B2C2B32.B2C2B$3BCB32.3BCB32.3BCB$B.BC33.B
.BC33.B.BC$.2AB34.2AB34.2AB2$8.2BA34.2BA34.2BA$6.B2CB.A31.B2CB.A31.
B2CB.A$6.ABC.2B31.ABC.2B31.ABC.2B$6.BA.2CB31.BA.2CB31.BA.2CB$8.ABC34.
ABC34.ABC$8.BAB34.BAB34.BAB3$53.2BA34.2BA$51.B2CB.A31.B2CB.A$51.ABC
.2B31.ABC.2B$51.BA.2CB31.BA.2CB$53.ABC34.ABC$53.BAB34.BAB3$98.2BA$96.
B2CB.A$96.ABC.2B$96.BA.2CB$98.ABC$98.BAB3$106.2BA$104.B2CB.A$104.AB
C.2B$104.BA.2CB$106.ABC$106.BAB!

Re: Variants of Generations Rules

Posted: January 8th, 2015, 9:39 pm
by bprentice
c0b0p0 wrote:Here is a non-replicator-based puffer.

Code: Select all

x = 110, y = 36, rule = RuleTable095
2.2BA34.2BA34.2BA$B2C2B32.B2C2B32.B2C2B$3BCB32.3BCB32.3BCB$B.BC33.B
.BC33.B.BC$.2AB34.2AB34.2AB2$8.2BA34.2BA34.2BA$6.B2CB.A31.B2CB.A31.
B2CB.A$6.ABC.2B31.ABC.2B31.ABC.2B$6.BA.2CB31.BA.2CB31.BA.2CB$8.ABC34.
ABC34.ABC$8.BAB34.BAB34.BAB3$53.2BA34.2BA$51.B2CB.A31.B2CB.A$51.ABC
.2B31.ABC.2B$51.BA.2CB31.BA.2CB$53.ABC34.ABC$53.BAB34.BAB3$98.2BA$96.
B2CB.A$96.ABC.2B$96.BA.2CB$98.ABC$98.BAB3$106.2BA$104.B2CB.A$104.AB
C.2B$104.BA.2CB$106.ABC$106.BAB!

Code: Select all

x = 53, y = 61, rule = RuleTable095
3CB.B3C$2C2B.2B2C$CB.A.A.BC$BAB3.BAB5$8.3C$5.BCA.2C$5.2B2C.C$5.BC.C
$6.2B2C$6.3B7$20.3C$17.BCA.2C$17.2B2C.C$17.A2BC$18.AC.C$18.C3B$18.A
2.B4.3C$17.2BA3.BCA.2C$17.A2B3.2BC.C$15.3CAB3.BC.3C$15.C2.C5.3B.C$24.
3B$32.3C$29.BCA.2C$30.B2C.C$30.B.C$29.2B3C2$38.3C$35.BCA.2C$35.2BC.
C$35.BC.3C$36.3B.C$36.3B$44.3C$41.BCA.2C$42.B2C.C$42.B.C$41.2B3C2$50.
3C$47.BCA.2C$47.2B2C.C$47.BC.CA$49.CBC$46.2C.2CB$47.4C$45.2BC2.C$45.
2B.CA$45.2BCBC$47.3B!
Brian Prentice

Re: Variants of Generations Rules

Posted: January 8th, 2015, 10:01 pm
by bprentice
Some more guns:

Code: Select all

x = 23, y = 23, rule = RuleTable095
.C.C$B2C2A$2BC2B$2B.2A4$14.B3C$14.AB2C$14.B.BC$15.A2B8$19.ABA$19.AB
AC$20.2C$19.2B2C$19.3B!

Code: Select all

x = 36, y = 26, rule = RuleTable095
2.3B$C.3B$3C3.2B$C.A2B.2B$2.B2.CAB$5.C$4.3C10$22.3C$19.BCA.C.C$20.2B
A.C.C$20.2BC2.C.C$19.B2.B3.2C3.3B$23.BCA.C2.2CB$24.2BA3.2CB$24.2BC4.
B2A.C$23.B2.B3.6C$30.6C!

Code: Select all

x = 158, y = 30, rule = RuleTable095
.C.BCB59.C.BCB48.C.BCB$.3C2B59.3C2B48.3C2B$3.ABA61.ABA50.ABA$.4C60.
4C49.4C.A3C$.C2.C60.C2.C49.C2.C.ABC.C$8.B3C111.BA.2C$8.ABC.C112.ABC
$8.BA.2C112.BA.3C$10.ABC114.ABC.C$10.BAB63.B3C47.BA.2C$76.ABC.C48.A
BC$76.BA.2C48.BAB$16.3C59.ABC$17.C60.BAB54.3C$16.C2.2C114.A2CB$18.A
2C114.A3B$18.ABC56.BAB10.ABA42.A.B2C3.ABA$18.2AB56.ABC10.ABAC42.2B2C
3.ABAC$75.BA.2C5.B3C2.2C35.BAB5.B.BC4.2C$75.ABC.C5.2B2C.2B2C34.ABC6.
2AB3.2B2C$9.BAB19.B3C40.B3C6.B.BC.3B33.BA.2C12.3B$9.ABC19.2BC52.2AB
37.ABC.C21.B2.B$7.BA.2C13.B3C2.BCAC89.BA.3C22.3BA.C$7.ABC.C13.2B2C2.
BCAC89.ABC19.3B4.2C.2C$7.B3C14.B.BC2.2BC88.BA.2C17.B2C2B3.4B2C$C2.C
22.2AB2.B3C29.C2.C49.C2.C.ABC.C17.3BCB3.A2.B$4C60.4C49.4C.A3C18.B.B
C$2.ABA61.ABA50.ABA23.2AB$3C2B59.3C2B48.3C2B$C.BCB59.C.BCB48.C.BCB!

Code: Select all

x = 223, y = 48, rule = RuleTable095
65.ABA126.ABA$64.CABA22.ABA100.CABA22.ABA$65.2C23.ABAC100.2C23.ABAC
$64.2C2B23.2C100.2C2B23.2C$.B2.B60.4B2.B18.2B2C36.B2.B60.3B22.2B2C$
.3BA.C61.C2B15.B2.4B37.3BA.C62.3B18.3B$2.2C.2C61.A2B16.2BC41.2C.2C62.
CBCB13.3B$.4B2C3B59.ACB15.2BA40.4B2C62.ACB.B11.BCBC$.B2.B.CAB.B61.B
2.B10.BCA41.B2.B3.3B59.A.BCB9.B.BCA$7.2C2B61.C2B7.B2.B50.CAB.B59.AC
2B8.BCB.A$7.2CAB61.A2B8.2BC50.2C.B.B59.ACB8.2BCA$6.C2.C.3B59.ACB7.2B
A50.C.C.B.B69.BCA$10.CAB.B67.BCA52.C.C.2B$11.2C2B123.C.CAB$11.2CAB124.
3C$10.C2.C$75.B3.B124.B3.B$18.3B54.5B67.3B55.4B$17.2C2B53.BC.BCA66.
2C2B55.BC.A$18.C2A4.2C.2C44.2BC.C68.C2.B3.2C.2C45.BCA$18.2C3B3.C.C45.
BCA70.CA2B4.C.C$18.C.A2B3.CACB117.2CAB4.CACB$9.C2.C4.2C.CAB2.2C2BC116.
C2.C4.2C2BC$10.2CAB5.3C5.A2B108.3C15.A2B$10.2C2B53.3B5.B2.B58.C.CAB
54.2B3C$9.CAB.B23.C.C27.3B.C.2C4B57.C.C.2B24.C.C28.B.C$5.C2.C.3B23.
2A2CB25.BC.3C.2C.2C57.C.C.B.B23.2A2CB27.BC$6.2CAB26.2BC2B25.2BC.C2.
C.A3B56.2C.B.B15.ABA6.2BC2B26.BCA$6.2C2B15.2C.2BA3.C.2A.2B25.BCA.2C
3.B2.B56.CAB.B16.A2B4.C.2A.2B$B2.B.CAB.B15.2C.A2B3.3C32.3C57.B2.B3.
3B15.3CAB4.3C$4B2C3B16.2C.CAB3.3C92.4B2C19.C2.C5.3C$.2C.2C21.3C100.
2C.2C$3BA.C53.3B67.3BA.C30.3C20.2B3C$B2.B33.3C19.3B.C3.3B59.B2.B33.
2C21.B.C$38.2C18.BC.3C3.2BC.2C94.C21.BC$39.C18.2BC.C4.2BC.C92.ABA21.
BCA$33.2C.2BA19.BCA.2CB4.CACB91.A2B$33.2C.A2B22.2C2B3.2C2BC89.3CAB$
33.2C.CAB23.3B5.A2B89.C2.C$35.3C$51.3B119.3C4.2B3C$45.3C3.3B.C118.2C
5.B.C$46.2C2.BC.3C119.C5.BC$47.C2.2BC.C117.ABA5.BCA$41.2C.2BA3.BCA.
2CB115.A2B$41.2C.A2B6.2C2B113.3CAB$41.2C.CAB7.3B113.C2.C$43.3C!

Code: Select all

x = 15, y = 23, rule = RuleTable095
2.3C$.C.C.ACB3.3C$.2C.AC3BCA.C.C$.C.A.BC3BCA.2C$2.ACB.B.BCB.A.C$2.C
BCB3.B.BCA$2.3B5.BCBC$11.3B8$.3B$.CBCB5.3B$.ACB.B3.BCBC$C.A.BCB.B.B
CA$2C.AC3BCB.A.C$C.C.AC3BCA.2C$.3C3.BCA.C.C$10.3C!
Brian Prentice

Re: Variants of Generations Rules

Posted: January 10th, 2015, 7:37 pm
by c0b0p0
c0b0p0 wrote:Here is a non-replicator-based puffer.
I inserted the wrong pattern. Here is the correct pattern.

Code: Select all

x = 10, y = 12, rule = RuleTable095
6.3C$5.C.CAB$6.2CBA$5.BC.2A$.2B.BCBC$BCB.B.2A$2B2CA2C$C2.A.C.C$2CBA3C
$.B2A$3C$3C!
Here is a rake based solely on that puffer.

Code: Select all

x = 20, y = 20, rule = RuleTable095
6.3C$5.C.CAB$6.2CBA$5.BC.2A$.2B.BCBC3.3C$BCB.B.2A2.C.CAB$2B2CA2C4.2CB
A$C2.A.C.C2.BC.2A$2CBA2C2B.BCBC3.3C$.B2A.BCB.B.2A2.C.CAB$3C2.2B2CA2C
4.2CBA$3C2.C2.A.C.C2.BC.2A$5.2CBA3CB.BCBC$6.B2A.BCB.B.2A$5.3C2.2B2CA
2C$5.3C2.C2.A.C.C$10.2CBA3C$11.B2A$10.3C$10.3C!
Here is a tiny reflector. I do not know if this has been discovered before.

Code: Select all

x = 16, y = 10, rule = RuleTable095
14.C$13.2CB$11.AC.2B$11.CBC2B$11.3B$.3B$2.B$ACB$C2B$A2.B!

Re: Variants of Generations Rules

Posted: January 11th, 2015, 9:51 pm
by c0b0p0
Here is a non-replicator-based siderake.

Code: Select all

x = 37, y = 45, rule = RuleTable095
31.3B$31.2BAC2B$31.2AC2BC$32.CB.CA$32.2BC$32.BCA35$3B$2BAC$BAC$2.C$2.
2C!

Re: Variants of Generations Rules

Posted: January 12th, 2015, 2:21 pm
by towerator
I combinated 2 OP's patterns. The result is a moving breeder that creates a sierpinsky triange.

Code: Select all

x = 168, y = 177, rule = RuleTable095
54.B3C$54.AB2C$54.A.BC$55.3B20$31.BAB$31.ABC$29.BA.2C$29.ABC.C$29.B3C
5$93.3B$90.A3.B2C$90.A2B.2BC$90.2C.C.BC$90.C.2C2AB$91.3C14$40.C$40.3C
.3B$40.2C2.A2B$42.3CAB$AB29.BAB8.C2.C.3B$BC29.ABC12.CAB.B$2C27.BA.2C
13.2C3BCA64.3B$.C27.ABC.C13.2CAB.BC6.A2B29.A2B24.B2C$C28.B3C13.C2.C2.
B.C4.B.BC28.B.BC24.2BC$51.2B3C3.AB2C28.AB2C23.A.BC$59.B3C28.B3C24.BAB
3$118.B3C$118.ABC.C$118.2ABC.C$122.C.C$59.B3C59.B2C$59.ABC.C58.ABC$
59.BA.2C58.2AB$61.ABC$61.BAB62.B3C$126.ABC.C$126.2ABC.C$130.C.C$130.B
2C$130.ABC$130.2AB9$78.B3C$78.AB2C$78.A.BC.BCA$79.3B2.BC$84.B.C$83.2B
3C8$91.B3C$91.ABC.C$91.BA.2C$93.ABC$93.BAB15$110.B3C$110.AB2C$110.A.B
C.BCA$111.3B2.BC$116.B.C$115.2B3C8$123.B3C$123.ABC.C$123.BA.2C$125.AB
C$125.BAB15$142.B3C$142.AB2C$142.A.BC.BCAC$143.3B2.2BA$148.2BC3.3B$
147.B2.A4.B2C$155.2BC$154.A.BC$155.BAB5$155.B3C$155.ABC.C$155.BA.2C$
157.ABC$157.BAB4$163.B3C$163.ABC.C$163.BA.2C$165.ABC$165.BAB!

Re: Variants of Generations Rules

Posted: January 13th, 2015, 8:19 pm
by c0b0p0
Here is a clean non-replicator-based siderake.

Code: Select all

x = 101, y = 106, rule = RuleTable095
95.3B$95.2BAC2B$95.2AC2BC$96.CB.CA$96.2BC$96.BCA35$64.3B$64.2BAC$64.B
AC$66.C$66.2C58$2.3C$2C.CAB$2C.A2B$2C.A2B!