Page 1 of 5

Partitioned Cellular Automata

Posted: August 26th, 2019, 4:10 pm
by bprentice
A Golly rule tree:

Code: Select all

@RULE PCA_4
@TREE
num_states=16
num_neighbors=4
num_nodes=31
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
2 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4
3 2 2 5 5 2 2 5 5 2 2 5 5 2 2 5 5
1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
2 7 7 7 7 8 8 8 8 7 7 7 7 8 8 8 8
1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
2 10 10 10 10 11 11 11 11 10 10 10 10 11 11 11 11
3 9 9 12 12 9 9 12 12 9 9 12 12 9 9 12 12
4 6 6 6 6 6 6 6 6 13 13 13 13 13 13 13 13
1 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
2 15 15 15 15 16 16 16 16 15 15 15 15 16 16 16 16
1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
1 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
2 18 18 18 18 19 19 19 19 18 18 18 18 19 19 19 19
3 17 17 20 20 17 17 20 20 17 17 20 20 17 17 20 20
1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
1 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
2 22 22 22 22 23 23 23 23 22 22 22 22 23 23 23 23
1 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
2 25 25 25 25 26 26 26 26 25 25 25 25 26 26 26 26
3 24 24 27 27 24 24 27 27 24 24 27 27 24 24 27 27
4 21 21 21 21 21 21 21 21 28 28 28 28 28 28 28 28
5 14 29 14 29 14 29 14 29 14 29 14 29 14 29 14 29
that was inspired by section 2.2 of this paper:

http://bprentice.webenet.net/PCA/Two%20 ... e%20CA.pdf

The paper references:

Morita, K., Ueno, S: Computation-Universal Models of Two-Dimensional 16-state Reversible
Cellular Automata, IEICE Trans. Inf. & Syst., E75-D,1, pp.141–147 (1992).

I was unable to find a free copy on the internet. Can anyone help me obtain one?

The Golly rule tree was generated with RuleTreeGen.java which is distributed with Golly.

The rule definition that was inserted into RuleTreeGen.java is:

Code: Select all

  /* Put your state count, neighbor count, and function here */
  final static int numStates = 16;
  final static int numNeighbors = 4;
  private int rule[] = {0,2,4,12,8,5,9,7,1,6,10,11,3,13,14,15};

  /* 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 s = 0;
    if ((a[3] & 4) > 0)
      s = s | 1;
    if ((a[1] & 8) > 0)
      s = s | 2;
    if ((a[0] & 1) > 0)
      s = s | 4;
    if ((a[2] & 2) > 0)
      s = s | 8;
    return rule[s];
  }
As you can see, the rule is very simple, but it exhibits very complex behavior.

Small ships with 42 different speeds have been found and there are probably many more.

Code: Select all

Diagonal Ships

2c/172   DS001.rle
2c/1364  DS002.rle
2c/284   DS003.rle
2c/1088  DS004.rle
2c/288   DS005.rle
c/78     DS006.rle
c/112    DS007.rle
2c/604   DS008.rle
2c/410   DS009.rle
2c/450   DS010.rle
c/54     DS011.rle
2c/552   DS012.rle
4c/1930  DS013.rle
c/702    DS014.rle
3c/606   DS015.rle
3c/1324  DS016.rle
4c/2006  DS017.rle
c/394    DS018.rle
c/50     DS019.rle
c/1214   DS020.rle
c/2126   DS021.rle
2c/1488  DS022.rle

Orthogonal Ships

2c/180   S001.rle
4c/2642  S002.rle
c/39     S003.rle
2c/70    S004.rle
5c/353   S005.rle
2c/1656  S006.rle
2c/374   S007.rle
2c/216   S008.rle
c/53     S009.rle
2c/132   S010.rle
7c/13549 S011.rle
2c/516   S012.rle
4c/1318  S013.rle
c/27     S014.rle
2c/244   S015.rle
c/81     S016.rle
6c/1900  S017.rle
5c/4915  S018.rle
5c/8409  S019.rle
c/237    S020.rle
Oscillators and interactions between oscillators and ships have not yet been explored.

An archive containing pattern files for these ships is here:

http://bprentice.webenet.net/PCA/PCA_4%20Ships.zip

Brian Prentice

Re: Partitioned Cellular Automata

Posted: August 26th, 2019, 5:02 pm
by Gamedziner
p16 oscillator:

Code: Select all

x = 2, y = 2, rule = PCA_4
C$.A!
EDIT:
p552:

Code: Select all

x = 5, y = 2, rule = PCA_4
.ED2B$BL!

Re: Partitioned Cellular Automata

Posted: August 26th, 2019, 7:26 pm
by Moosey
This ship is, for the record, the most common by far:

Code: Select all

x = 2, y = 3, rule = PCA_4
.A$D$.C!

Re: Partitioned Cellular Automata

Posted: August 26th, 2019, 9:53 pm
by FWKnightship
Stable 2c/180 reflector,repeat time 1881:

Code: Select all

x = 49, y = 49, rule = PCA_4
AB45.AB$HD45.HD44$21.A20.D$20.E$AB19.B20.F4.AB$HD39.D5.HD!
EDIT:P1881:

Code: Select all

x = 619, y = 216, rule = PCA_4
143.A.C469.C2$127.AB5.B9.A452.AB15.A$127.HD2.H10.A.HD451.HD2.H12.ED$
134.L464.A2.H.F6.A$128.B.B13.D453.A13.H2$600.D$127.H.D467.H8$229.B
270.B$129.A56.A64.B18.D18.A.B43.B16.A62.A.F18.A20.H.B18.B20.B20.A20.B
62.A$147.B16.L.B39.A.L39.L.B60.J20.H.B18.B20.B.D18.J22.D18.B.D18.B22.
B18.L20.A20.B22.B16.L.B27.H$125.J.HB14.IB.D20.B20.D18.A20.C39.A22.H
20.C39.A22.D18.H.A39.A22.D20.D41.D18.B.D18.B.D20.B20.D4.A.DA$127.HA
16.H39.H.D41.H39.H.D18.H41.D22.D20.D102.H39.H43.H39.H.D9.D$125.H17.H
469.A.I$144.H4$598.B$599.L2$599.H13$125.E17.H.D$124.A3.B13.H.H$128.B
13.A40.B2.D$126.2H13.H.A20.L17.HC.D$129.A33.J$143.D37.I$599.J$101.B
496.D.B2$103.B$85.AB2.B12.JB$85.HD3.D11.HA$87.A12.A$90.D89.B.B$181.F$
87.B$86.B$87.I41.A13.B$135.J$127.ABJ4.B.D6.DA$127.HD.H14.D2$144.I.D$
145.D$146.A$86.J13.A4.D60.B14.B$99.A6.D18.B.D18.D20.H16.B$84.JA14.H4.
I18.D.D20.D18.A15.A2.J411.H$83.B2.D14.D44.H20.H14.A2D413.L.H$84.H17$
599.A$101.B.D494.A$102.B$85.B15.H496.A$599.H2$85.AE10.A22.A19.A$85.BD
H10.A20.D.B18.CDC$88.B12.B39.H$100.D18.D18.H4$45.B14.B.B.B$43.AB14.3A
$44.D16.D79.D$44.J.B12.B80.F$43.A$140.D3$44.B.D41.B6.A4.B.A.B$43.A.A
39.B3.D4.A503.L.A$85.2A8.F4.A.AB495.D$86.2D11.H2.H$86.H4$57.A6.D20.B$
42.C.H.D11.A4.L22.B18.D33.D$41.A2.B14.H.D2.D18.A.H20.L20.I.D10.DB$42.
DH61.D20.D13.HD$138.H$139.D$140.H8$598.F$599.E4$59.A$58.H$59.A$58.A3$
43.L$97.A$44.B30.A.B20.AB$43.HD.E27.H23.H$45.H8.F.D39.A.J$57.D18.B22.
B4$96.H.A$2.B15.DBA.D74.B.B498.H.B$FHF15.HB.B575.H$.D596.D$4.D12.D4$
54.J2.H.C$46.F6.A.B4.H$.H42.B15.AB$2.C39.AHA15.HD2$2.H16.B22.H$45.D$.
A15.A$A.B.D11.H.H46.A20.H$45.H18.A22.I8.H$.A19.H.L20.I20.D.B18.H10.2A
L$.A2D20.H20.H53.D2$98.J498.A$598.A2$598.A$599.H8$16.A$17.A2$17.D.B5$
2.L595.A$.D615.B$.AD29.B20.A60.A20.A.B83.B20.A20.A41.B18.A.B39.B22.B
20.B39.B20.A60.A20.A.B42.I16.B2.D$2.DA.B6.H18.A20.H20.H62.A20.I20.D
22.D20.D18.C22.B81.C20.B18.H20.H22.H18.A20.H20.H62.A20.I20.DA16.HD.B$
11.E43.B18.L20.D.D16.H43.D20.D.D16.L.D20.D60.L.D20.D20.B18.B.B41.D18.
D.B18.E43.B18.L20.D.D16.H43.D20.D.D12.H.B$10.D20.H.H18.H41.D.H18.D22.
D18.D22.H41.D18.D22.D20.D18.E18.H43.H.D16.H41.D20.H.H18.H41.D.H18.D
22.D18.D22.H$74.H41.D146.D228.H41.D7$612.A.A$613.H$18.I$17.E597.D$13.
B586.B10.A$3.E10.B582.B$.A11.C4.AB577.A11.H.A2.AB$.HD15.HD578.2D10.D
3.HD$2.B595.B$.H.B593.D$598.H!

Re: Partitioned Cellular Automata

Posted: August 26th, 2019, 10:44 pm
by PkmnQ
I ran a 20x20 soup.
Fastest diagonal ship found:

Code: Select all

x = 4, y = 4, rule = PCA_4
3.E$2.B$.D$D!
Fastest orthogonal ship found:

Code: Select all

x = 3, y = 3, rule = PCA_4
2.A$.J$E!

Re: Partitioned Cellular Automata

Posted: August 26th, 2019, 11:22 pm
by bprentice
Two more Golly rules with similar behavior:

Code: Select all

  /* Put your state count, neighbor count, and function here */
  final static int numStates = 16;
  final static int numNeighbors = 4;
  private int rule[] = {0,2,4,3,8,10,6,7,1,9,5,11,12,13,14,15};

  /* 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 s = 0;
    if ((a[3] & 4) > 0)
      s = s | 1;
    if ((a[1] & 8) > 0)
      s = s | 2;
    if ((a[0] & 1) > 0)
      s = s | 4;
    if ((a[2] & 2) > 0)
      s = s | 8;
    return rule[s];
  }

Code: Select all

@RULE PCA_2
@TREE
num_states=16
num_neighbors=4
num_nodes=31
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
2 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4
3 2 2 5 5 2 2 5 5 2 2 5 5 2 2 5 5
1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
2 7 7 7 7 8 8 8 8 7 7 7 7 8 8 8 8
1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
2 10 10 10 10 11 11 11 11 10 10 10 10 11 11 11 11
3 9 9 12 12 9 9 12 12 9 9 12 12 9 9 12 12
4 6 6 6 6 6 6 6 6 13 13 13 13 13 13 13 13
1 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
2 15 15 15 15 16 16 16 16 15 15 15 15 16 16 16 16
1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
1 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
2 18 18 18 18 19 19 19 19 18 18 18 18 19 19 19 19
3 17 17 20 20 17 17 20 20 17 17 20 20 17 17 20 20
1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
1 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
2 22 22 22 22 23 23 23 23 22 22 22 22 23 23 23 23
1 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
2 25 25 25 25 26 26 26 26 25 25 25 25 26 26 26 26
3 24 24 27 27 24 24 27 27 24 24 27 27 24 24 27 27
4 21 21 21 21 21 21 21 21 28 28 28 28 28 28 28 28
5 14 29 14 29 14 29 14 29 14 29 14 29 14 29 14 29
Example ships:

http://bprentice.webenet.net/PCA/PCA_2%20Ships.zip

And:

Code: Select all

  /* Put your state count, neighbor count, and function here */
  final static int numStates = 16;
  final static int numNeighbors = 4;
  private int rule[] = {0,8,1,3,2,5,6,7,4,9,10,11,12,13,14,15};

  /* 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 s = 0;
    if ((a[3] & 4) > 0)
      s = s | 1;
    if ((a[1] & 8) > 0)
      s = s | 2;
    if ((a[0] & 1) > 0)
      s = s | 4;
    if ((a[2] & 2) > 0)
      s = s | 8;
    return rule[s];
  }

Code: Select all

@RULE PCA_3
@TREE
num_states=16
num_neighbors=4
num_nodes=31
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
2 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4
3 2 2 5 5 2 2 5 5 2 2 5 5 2 2 5 5
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
2 7 7 7 7 8 8 8 8 7 7 7 7 8 8 8 8
1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
2 10 10 10 10 11 11 11 11 10 10 10 10 11 11 11 11
3 9 9 12 12 9 9 12 12 9 9 12 12 9 9 12 12
4 6 6 6 6 6 6 6 6 13 13 13 13 13 13 13 13
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
2 15 15 15 15 16 16 16 16 15 15 15 15 16 16 16 16
1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
1 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
2 18 18 18 18 19 19 19 19 18 18 18 18 19 19 19 19
3 17 17 20 20 17 17 20 20 17 17 20 20 17 17 20 20
1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
1 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
2 22 22 22 22 23 23 23 23 22 22 22 22 23 23 23 23
1 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
2 25 25 25 25 26 26 26 26 25 25 25 25 26 26 26 26
3 24 24 27 27 24 24 27 27 24 24 27 27 24 24 27 27
4 21 21 21 21 21 21 21 21 28 28 28 28 28 28 28 28
5 14 29 14 29 14 29 14 29 14 29 14 29 14 29 14 29
Example ships:

http://bprentice.webenet.net/PCA/PCA_3%20Ships.zip

Brian Prentice

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 7:11 am
by FWKnightship
A signal track in PCA_4:

Code: Select all

x = 4, y = 60, rule = PCA_4
2AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.
HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.A
B$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$ACFB$HILD$.
HD$.AB$ACFB$HILD$.HD$.AB$ACFB$HILD$.HD!
Repeat time 1:

Code: Select all

x = 4, y = 60, rule = PCA_4
2AB$2HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.
HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.A
B$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$ACFB$HILD$.
HD$.AB$ACFB$HILD$.HD$.AB$ACFB$HILD$.HD!

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 7:45 am
by PHPBB12345
FWKnightship wrote:A signal track in PCA_4:

Code: Select all

x = 4, y = 60, rule = PCA_4
2AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.
HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.A
B$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$ACFB$HILD$.
HD$.AB$ACFB$HILD$.HD$.AB$ACFB$HILD$.HD!
Repeat time 1:

Code: Select all

x = 4, y = 60, rule = PCA_4
2AB$2HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.
HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.A
B$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$ACFB$HILD$.
HD$.AB$ACFB$HILD$.HD$.AB$ACFB$HILD$.HD!
PCA_4 is omniperiodic.

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 3:48 pm
by Moosey
It's creepy how the signals don't care what happens to the other parity:

Code: Select all

x = 4, y = 61, rule = PCA_4
2.A$2AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.
AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.H
D$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$.HD$.AB$ACFB$HI
LD$.HD$.AB$ACFB$HILD$.HD$.AB$ACFB$HILD$.HD!

Code: Select all

x = 4, y = 60, rule = PCA_4
A.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H
$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.
H$2.B$.H$2.B$.H$2.B$.H$2.B$.H$2.B$.C.B$H.L$.H$2.B$.C.B$H.L$.H$2.B$.C.
B$H.L$.H!
Fast diagonal:

Code: Select all

x = 4, y = 2, rule = PCA_4
.C.C$D!
RRO, p67292:

Code: Select all

x = 6, y = 7, rule = PCA_4
5.H3$H.L.D3$5.B!
Of course, it's loopable:

Code: Select all

#C p16823
x = 30, y = 30, rule = PCA_4
22.H3$17.H.L.D3$22.B$D5.A$3.B2$3.F2$3.D5$26.A2$26.I2$26.H$23.D5.A$7.H
3$8.A.C.B3$7.B!
Can we make an infinite-reservoir rep?

EDIT:
I like the small ships in pca_2:

Code: Select all

x = 14, y = 14, rule = PCA_2
.L10.I$L12.I11$F12.C$.F10.C!

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 4:47 pm
by bprentice
PHPBB12345 wrote: PCA_4 is omniperiodic.
Please post the first 10 oscillators.
Moosey wrote:RRO, p67292:
Nice find!

Another diagonal ship 4c/1930:

Code: Select all

x = 3, y = 6, rule = PCA_4
.D$2.I2$A.D2$2.B!
Brian Prentice

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 7:46 pm
by Hdjensofjfnen
Okay, natural spaceship catalog. There might be some ships that I have difficulty telling apart.

2c/70o:

Code: Select all

x = 3, y = 3, rule = PCA_4
2.J$.F$D!
2c/132o:

Code: Select all

x = 1, y = 3, rule = PCA_4
M2$I!
2c/172d:

Code: Select all

x = 4, y = 4, rule = PCA_4
.A$H$3.F$H!
2c/180o:

Code: Select all

x = 2, y = 2, rule = PCA_4
.E$F!
2c/288d:

Code: Select all

x = 5, y = 3, rule = PCA_4
.A$B3.I$3.D!
2c/516o:

Code: Select all

x = 4, y = 2, rule = PCA_4
.J.I$D!
2c/604d:

Code: Select all

x = 4, y = 4, rule = PCA_4
.H.B2$.F$B!
7c/13589o:

Code: Select all

x = 5, y = 6, rule = PCA_4
.H2$3.A$A3.L2$4.H!
And a p4, for good measure:

Code: Select all

x = 4, y = 7, rule = PCA_4
.A.A2$3.B3$H$3.D!
EDIT: Oops, already a catalog. I'm an idiot.

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 9:49 pm
by bprentice
This is the Golly rule that was briefly introduced in the introduction and was proved to be computation-universal in the missing paper:

Morita, K., Ueno, S: Computation-Universal Models of Two-Dimensional 16-state Reversible Cellular Automata, IEICE Trans. Inf. & Syst., E75-D,1, pp.141–147 (1992).

Code: Select all

  /* Put your state count, neighbor count, and function here */
  final static int numStates = 16;
  final static int numNeighbors = 4;
  private int rule[] = {0,4,8,3,1,10,6,7,2,9,5,11,12,13,14,15};

  /* 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 s = 0;
    if ((a[3] & 4) > 0)
      s = s | 1;
    if ((a[1] & 8) > 0)
      s = s | 2;
    if ((a[0] & 1) > 0)
      s = s | 4;
    if ((a[2] & 2) > 0)
      s = s | 8;
    return rule[s];
  }

Code: Select all

@RULE PCA_1
@TREE
num_states=16
num_neighbors=4
num_nodes=31
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
2 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4
3 2 2 5 5 2 2 5 5 2 2 5 5 2 2 5 5
1 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
2 7 7 7 7 8 8 8 8 7 7 7 7 8 8 8 8
1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
2 10 10 10 10 11 11 11 11 10 10 10 10 11 11 11 11
3 9 9 12 12 9 9 12 12 9 9 12 12 9 9 12 12
4 6 6 6 6 6 6 6 6 13 13 13 13 13 13 13 13
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
2 15 15 15 15 16 16 16 16 15 15 15 15 16 16 16 16
1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
1 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
2 18 18 18 18 19 19 19 19 18 18 18 18 19 19 19 19
3 17 17 20 20 17 17 20 20 17 17 20 20 17 17 20 20
1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
1 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
2 22 22 22 22 23 23 23 23 22 22 22 22 23 23 23 23
1 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
1 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
2 25 25 25 25 26 26 26 26 25 25 25 25 26 26 26 26
3 24 24 27 27 24 24 27 27 24 24 27 27 24 24 27 27
4 21 21 21 21 21 21 21 21 28 28 28 28 28 28 28 28
5 14 29 14 29 14 29 14 29 14 29 14 29 14 29 14 29
Four oscillators with periods 4964, 3450, 770, 1650:

Code: Select all

x = 130, y = 31, rule = PCA_1
82.ICIC31.ICIC$10.ICIC32.ICIC32.LFLF31.LFLF$10.LFLF32.LFLF10$IC9.DA
9.IC12.IC9.DA9.IC12.IC9.DA9.IC12.IC8.DA8.IC$LF20.LF12.LF20.LF12.LF20.
LF12.LF18.LF$IC20.IC12.IC20.IC12.IC20.IC12.IC18.IC$LF4.B4.H.B2.H5.L
F12.LF4.B4.H.B2.H5.LF12.LF4.B4.H.B2.H5.LF12.LF3.B4.H.B2.H4.LF$IC20.
IC12.IC20.IC12.IC20.IC12.IC18.IC$LF20.LF12.LF20.LF12.LF20.LF12.LF18.
LF$11.AD34.AD34.AD33.AD10$10.ICIC$10.LFLF32.ICIC32.ICIC31.ICIC$46.L
FLF32.LFLF31.LFLF!
Brian Prentice

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 10:02 pm
by PHPBB12345
Similar to billiard ball model:

Code: Select all

x = 7, y = 3, rule = PCA_1
IC2.B.B$LOC$.LF!
PCA_1 is omniperiodic:

Code: Select all

x = 24, y = 118, rule = PCA_1
8.IC$8.LF$8.IC$8.LF$8.IC4.IC$8.LF4.LF$8.IC$8.LF$8.IC$8.LF3$4.ICICIC$
4.LFLFLF$8.IC$8.LF$4.ICICIC4.I$4.LFLFLF5.F$4.IC$4.LF$4.ICICIC$4.LFLFL
F3$4.ICICIC$4.LFLFLF$8.IC$8.LF4.I2.C$4.ICICIC$4.LFLFLF$8.IC4.L2.F$8.L
F$4.ICICIC$4.LFLFLF3$4.IC2.IC$4.LF2.LF$4.IC2.IC$4.LF2.LF4.I$4.ICICIC$
4.LFLFLF6.F$8.IC$8.LF$8.IC$8.LF3$4.ICICIC$4.LFLFLF$4.IC8.I4.C$4.LF$4.
ICICIC$4.LFLFLF$8.IC$8.LF4.L4.F$4.ICICIC$4.LFLFLF3$4.ICICIC$4.LFLFLF$
4.IC$4.LF8.I$4.ICICIC$4.LFLFLF$4.IC2.IC7.F$4.LF2.LF$4.ICICIC$4.LFLFLF
3$4.ICICIC$4.LFLFLF4.I6.C$8.IC$8.LF$8.IC$8.LF$8.IC$8.LF$8.IC4.L6.F$8.
LF3$4.ICICIC$4.LFLFLF$4.IC2.IC$4.LF2.LF4.I$4.ICICIC$4.LFLFLF$4.IC2.IC
$4.LF2.LF8.F$4.ICICIC$4.LFLFLF3$4.ICICIC4.I8.C$4.LFLFLF$4.IC2.IC$4.LF
2.LF$4.ICICIC$4.LFLFLF$8.IC$8.LF$4.ICICIC$4.LFLFLF4.L8.F3$IC2.ICICIC$
LF2.LFLFLF$IC2.IC2.IC4.I$LF2.LF2.LF$IC2.IC2.IC$LF2.LF2.LF$IC2.IC2.IC$
LF2.LF2.LF9.F$IC2.ICICIC$LF2.LFLFLF!

Re: Partitioned Cellular Automata

Posted: August 27th, 2019, 10:18 pm
by FWKnightship
P16+8n:

Code: Select all

x = 147, y = 26, rule = PCA_4
A.3A4.3A.A.A5.3A.3A7.A.A.3A9.A.A.3A11.3A.3A13.3A.A.A15.3A.3A17.3A.3A$
A.A8.A.A.A7.A3.A7.A.A.A.A9.A.A.A.A11.A3.A15.A3.A.A17.A3.A17.A.A.A.A$A
.3A4.3A.3A5.3A.3A7.3A.A.A9.3A.3A11.3A.3A13.3A.3A17.A.3A17.3A.A.A$A.A.
A4.A5.A7.A.A11.A.A.A11.A.A.A13.A.A.A13.A.A3.A17.A.A19.A.A.A.A$A.3A4.
3A3.A5.3A.3A9.A.3A11.A.3A11.3A.3A13.3A3.A17.A.3A17.3A.3A13$2.C9.C11.C
13.C15.C17.C19.C21.C23.C$13.C11.C13.C15.C17.C19.C21.C23.C$26.C13.C15.
C17.C19.C21.C23.C$41.C15.C17.C19.C21.C23.C$58.C17.C19.C21.C23.C$77.C
19.C21.C23.C$98.C21.C23.C$121.C23.C$146.C!

Re: Partitioned Cellular Automata

Posted: August 29th, 2019, 10:47 am
by bprentice
Building on the work of FWKnightship and Moosey:

Code: Select all

x = 73, y = 16, rule = PCA_4
2AB21.2AB29.2ABABABABABABABAB$.HD22.HD30.HDHDHDHDHDHDHDHD$.AB22.AB30.
AB12.AB$.HD22.HD30.HD12.HD$.AB22.AB30.AB12.AB$.HD22.HD30.HD12.HD$.A
B22.AB30.AB12.AB$.HD22.HD30.HD12.HD$.AB22.AB30.AB12.AB$.HD22.HD30.H
D12.HD$.AB22.AB30.AB12.AB$.HD22.HD30.HD12.HD$.AB22.AB30.AB12.AB$.HD
22.HD30.HD5.B6.HD$.AB22.ABABABABABABABAB16.ABABABABABABABAB$.HD22.H
DHDHDHDHDHDHDHD16.HDHDHDHDHDHDHDHD!

Code: Select all

x = 71, y = 16, rule = PCA_4
AHB20.AHB28.AHBHBHBHBHBHBHBHB$.HB21.HB29.HBHBHBHBHBHBHBHB$.HB21.HB29.
HB12.HB$.HB21.HB29.HB12.HB$.HB21.HB29.HB12.HB$.HB21.HB29.HB12.HB$.H
B21.HB29.HB12.HB$.HB21.HB29.HB12.HB$.HB21.HB29.HB12.HB$.HB21.HB29.H
B12.HB$.HB21.HB29.HB12.HB$.HB21.HB29.HB12.HB$.HB21.HB29.HB12.HB$.HB
21.HB29.HB6.A5.HB$.HB21.HBHBHBHBHBHBHBHB15.HBHBHBHBHBHBHBHB$.HB21.H
BHBHBHBHBHBHBHB15.HBHBHBHBHBHBHBHB!

Code: Select all

x = 124, y = 32, rule = PCA_4
2.AB35.AB52.AB2.AB2.AB2.AB2.AB2.AB2.AB2.AB$2ACFB32.2ACFB49.2ACFBACF
BACFBACFBACFBACFBACFBACFB$.HILD33.HILD50.HILDHILDHILDHILDHILDHILDHI
LDHILD$2.HD35.HD52.HD2.HD2.HD2.HD2.HD2.HD2.HD2.HD$2.AB35.AB52.AB26.
AB$.ACFB33.ACFB50.ACFB24.ACFB$.HILD33.HILD50.HILD24.HILD$2.HD35.HD52.
HD26.HD$2.AB35.AB52.AB26.AB$.ACFB33.ACFB50.ACFB24.ACFB$.HILD33.HILD
50.HILD24.HILD$2.HD35.HD52.HD26.HD$2.AB35.AB52.AB26.AB$.ACFB33.ACFB
50.ACFB24.ACFB$.HILD33.HILD50.HILD24.HILD$2.HD35.HD52.HD26.HD$2.AB35.
AB52.AB26.AB$.ACFB33.ACFB50.ACFB24.ACFB$.HILD33.HILD50.HILD24.HILD$
2.HD35.HD52.HD26.HD$2.AB35.AB52.AB26.AB$.ACFB33.ACFB50.ACFB24.ACFB$
.HILD33.HILD50.HILD24.HILD$2.HD35.HD52.HD26.HD$2.AB35.AB52.AB26.AB$
.ACFB33.ACFB50.ACFB24.ACFB$.HILD33.HILD50.HILD24.HILD$2.HD35.HD52.H
D15.B10.HD$2.AB35.AB2.AB2.AB2.AB2.AB2.AB2.AB2.AB24.AB2.AB2.AB2.AB2.
AB2.AB2.AB2.AB$.ACFB33.ACFBACFBACFBACFBACFBACFBACFBACFB22.ACFBACFBA
CFBACFBACFBACFBACFBACFB$.HILD33.HILDHILDHILDHILDHILDHILDHILDHILD22.
HILDHILDHILDHILDHILDHILDHILDHILD$2.HD35.HD2.HD2.HD2.HD2.HD2.HD2.HD2.
HD24.HD2.HD2.HD2.HD2.HD2.HD2.HD2.HD!

Code: Select all

x = 69, y = 16, rule = PCA_4
A.B19.A.B27.A.B.B.B.B.B.B.B.B$.H21.H29.H.H.H.H.H.H.H.H$2.B21.B29.B13.
B$.H21.H29.H13.H$2.B21.B29.B13.B$.H21.H29.H13.H$2.B21.B29.B13.B$.H21.
H29.H13.H$2.B21.B29.B13.B$.H21.H29.H13.H$2.B21.B29.B13.B$.H21.H29.H
13.H$2.B21.B29.B13.B$.H21.H29.H7.A5.H$2.B21.B.B.B.B.B.B.B.B15.B.B.B
.B.B.B.B.B$.H21.H.H.H.H.H.H.H.H15.H.H.H.H.H.H.H.H!
Brian Prentice

Re: Partitioned Cellular Automata

Posted: August 31st, 2019, 9:01 pm
by bprentice
Another stable reflector:

Code: Select all

x = 53, y = 23, rule = PCA_4
.HD$.AB18.BA$16.A4.DH10.HD$15.E17.AB16.BA$16.B29.A4.DH$45.E$2.H.A41.
B$3.J$34.H.A$35.J6$19.J29.J$18.D.B27.D.B2$6.H31.H$7.E31.E$BA4.D25.B
A4.D$DH18.HD10.DH16.HD$20.AB28.AB!
Periods 1672 and 1492.

Brian Prentice

Re: Partitioned Cellular Automata

Posted: August 31st, 2019, 11:33 pm
by bprentice
A new 3c/606 diagonal ship:

Code: Select all

x = 5, y = 4, rule = PCA_4
3.A$A.D.H$.D$H!
The list of ships in this thread's introduction and the associated archive have been updated.

Brian Prentice

Re: Partitioned Cellular Automata

Posted: September 1st, 2019, 10:49 pm
by bprentice
The missing paper proving that rule PCA_1 is computation-universal:

http://bprentice.webenet.net/PCA/16%20S ... tomata.pdf

Brian Prentice

Re: Partitioned Cellular Automata

Posted: September 2nd, 2019, 12:20 am
by bprentice
A new 3c/1324 diagonal ship:

Code: Select all

x = 4, y = 5, rule = PCA_4
2.B$.H$A$3.D$D.H!
The list of ships in this thread's introduction and the associated archive have been updated.

Brian Prentice

Re: Partitioned Cellular Automata

Posted: September 2nd, 2019, 3:12 pm
by bprentice
A period 16226 oscillator:

Code: Select all

x = 31, y = 4, rule = PCA_4
A$.D23.H$24.I5.B$25.H3.H!
which leads to this c/15613 orthogonal ship:

Code: Select all

x = 4, y = 5, rule = PCA_4:T70,70
.D2$.A.E$A$3.B!
Brian Prentice

Re: Partitioned Cellular Automata

Posted: September 2nd, 2019, 11:15 pm
by bprentice
A new 4c/2006 diagonal ship:

Code: Select all

x = 5, y = 5, rule = PCA_4
2.A.H2$H$.D.D$2.H!
The list of ships in this thread's introduction and the associated archive have been updated.

Brian Prentice

Re: Partitioned Cellular Automata

Posted: September 3rd, 2019, 3:07 pm
by bprentice
Oscillators with periods (n + 1) * 4:

Code: Select all

x = 65, y = 65, rule = PCA_4
J14$64.E2$J.J61.E2$64.E2$64.E2$64.E2$64.E2$64.E2$64.E2$64.E2$J.J.J59.
E2$64.E2$64.E2$64.E2$64.E2$64.E2$64.E2$64.E2$J.J.J.J57.E2$64.E2$64.
E12$J.J.J.J.J!
Brian Prentice

Re: Partitioned Cellular Automata

Posted: September 3rd, 2019, 3:39 pm
by Gustone
How does this work?
PkmnQ wrote:I ran a 20x20 soup.
I ran a 116x79 soup :P

Code: Select all

x = 5, y = 5, rule = PCA_4
2.A.A$3.E$H2$2.H!
c/50d, new record!
some soups
Big ship

Code: Select all

x = 9, y = 5, rule = PCA_4
.B.B$A3.B$8.D$7.I$6.A!
Slow diagonal

Code: Select all

x = 4, y = 3, rule = PCA_4
A.A$3.A$C!
Oscillator

Code: Select all

x = 5, y = 5, rule = PCA_4
2.A2$2.B$3.E$A3.D!
Dot diagonal

Code: Select all

x = 6, y = 3, rule = PCA_4
5.B$A.I$3.L!

Re: Partitioned Cellular Automata

Posted: September 3rd, 2019, 4:16 pm
by Gustone
PHPBB12345 wrote:PCA 1
Isn't this just HPP?

Re: Partitioned Cellular Automata

Posted: September 3rd, 2019, 6:45 pm
by Moosey
Gustone wrote:
PHPBB12345 wrote:PCA 1
Isn't this just HPP?
No-some parts aren't stable on their own and need copies