Page 1 of 1

The RotaRule

Posted: August 6th, 2015, 6:04 pm
by praosylen
I have created a cellular automaton that can be loosely described as a simulation of rotating particles (it is not exact because particles can be created and destroyed). It is inspired by SeanBP's Attract and Repel rule, but the dynamics are quite different. The rule definition is as follows:
State 0: Vacuum
State 1: Counterclockwise-spinning particle
State 2: Clockwise-spinning particle
State 3: Nonrotating particle
State 4: Noninteracting state
A state 1 particle rotates counterclockwise around another particle (not state 4) and vacates its previous state. A state 2 particle behaves like a state one particle, except goes clockwise. A state 3 particle does nothing itself, but can cause another particle to rotate. A state 4 cell is completely inert vacuum. If a particle should, according to this definition, move into multiple different cells, it splits. If two particles of different states should move into the same cell, they are both destroyed.
Here is the rule table:

Code: Select all

@RULE RotaRule
@TABLE
n_states:5
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4}
var aa=a
var ab=a
var ac=a
var ad=a
var ae=a
var af=a
var b={1,2,3}
var ba=b
var c={1,2}
# Particles must vacate the space they are in in order to move
c,b,a,aa,ab,ac,ad,ae,af,0
c,a,b,aa,ab,ac,ad,ae,af,0
# Particles of opposite states cannot occupy the same space
0,1,ae,2,a,aa,ab,ac,ad,0
0,1,b,a,ba,2,aa,ab,ac,0
0,1,b,a,aa,ab,ba,2,ac,0
0,1,b,ba,a,2,aa,ab,ac,0
0,1,b,a,aa,ba,ab,2,ac,0
0,1,a,b,ba,2,aa,ab,ac,0
0,1,a,b,aa,ab,ba,2,ac,0
0,1,a,b,aa,ba,ab,2,ac,0
# State 1 particles rotate counterclockwise
0,1,b,a,aa,ab,ac,ad,ae,1
0,1,a,b,aa,ab,ac,ad,ae,1
# State 2 particles rotate clockwise
0,2,a,aa,ab,ac,ad,ae,b,2
0,2,a,aa,ab,ac,ad,b,ae,2
@COLORS
0 60 60 60
1 0 0 255
2 0 255 0
3 255 128 0
4 0 255 255
This rule tends to form regions of p2 oscillation that are either stable or bounded by wickstretchers when run from random soup. However, there is a 2-cell glider that can be reflected, shot out of guns (with period 2^n for any n>0) or eaten, so this rule might be computationally universal. I haven't found a duplicator or any logic gates yet, but I'm sure they exist. Here is all of the useful technology I have found so far (gun, period doubler, reflector, eater) in one pattern:

Code: Select all

x = 30, y = 32, rule = RotaRule
9.C19.A$9.C18.A$9.3C17.A2$26.B$27.B5$.2D14.2D$CABC12.CABC6$3.D12.D$8.
C2DC$.D2.C.D6.D.C2.D$4.D10.D$4.D3.D2.D3.D$.D2.C10.C2.D2$3.D12.D6$CBAC
12.CBAC$.2D14.2D!
Interestingly, the automatic color scheme in LifeViewer isn't too much different from that in the actual rule, even though I didn't design the rule that way. Also, this rule is meant to obey CP symmetry, so if anyone notices any violations, let me know.

Re: The RotaRule

Posted: August 9th, 2015, 6:17 pm
by praosylen
It proved surprisingly difficult to construct a duplicator, but here is one:

Code: Select all

x = 14, y = 10, rule = RotaRule
8.3D$5C.D2C$4.A$7.2D$11.D$8.D2.A.A$10.A.C$8.CD.A.A$5.B$5.A!

Re: The RotaRule

Posted: August 10th, 2015, 3:46 am
by Bullet51
Memory Cell:

Code: Select all

x = 147, y = 3, rule = RotaRule
B53.B3.B3.B18.B5.D10.A22.A24.A$A53.A3.A3.A18.A5.A10.B22.B24.B$85.D!

Re: The RotaRule

Posted: September 25th, 2016, 3:51 am
by PHPBB12345
Symmetry breaking?

Code: Select all

x = 31, y = 15, rule = RotaRule
2C$.3C$3.3C18.C$5.3C15.DB4.D$7.3C13.DA5.C$9.3C12.C4D.C$11.2C17.D$14.
15C$11.2C17.D$9.3C12.C4D.C$7.3C13.DB5.C$5.3C15.DA4.D$3.3C18.C$.3C$2C!

Re: The RotaRule

Posted: September 25th, 2016, 11:06 pm
by AbhpzTa
PHPBB12345 wrote:Symmetry breaking?

Code: Select all

x = 31, y = 15, rule = RotaRule
2C$.3C$3.3C18.C$5.3C15.DB4.D$7.3C13.DA5.C$9.3C12.C4D.C$11.2C17.D$14.
15C$11.2C17.D$9.3C12.C4D.C$7.3C13.DB5.C$5.3C15.DA4.D$3.3C18.C$.3C$2C!

Code: Select all

@RULE RotaRule
@TABLE
n_states:5
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4}
var aa=a
var ab=a
var ac=a
var ad=a
var ae=a
var af=a
var b={1,2,3}
var ba=b
var c={1,2}
c,b,a,aa,ab,ac,ad,ae,af,0
c,a,b,aa,ab,ac,ad,ae,af,0
0,1,a,2,aa,ab,ac,ad,ae,0
0,1,b,a,ba,2,aa,ab,ac,0
0,1,b,a,aa,ab,ba,2,ac,0
0,1,a,b,aa,2,ab,ac,ad,0
0,1,b,a,aa,ba,ab,2,ac,0
0,1,a,b,aa,ab,ba,2,ac,0
0,1,a,b,aa,ba,ab,2,ac,0
0,1,b,a,aa,ab,ac,ad,ae,1
0,1,a,b,aa,ab,ac,ad,ae,1
0,2,a,aa,ab,ac,ad,ae,b,2
0,2,a,aa,ab,ac,ad,b,ae,2
@COLORS
0 60 60 60
1 0 0 255
2 0 255 0
3 255 128 0
4 0 255 255