Other Loop rules

For discussion of other cellular automata.
c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » June 20th, 2014, 3:21 pm

Since the "left duplicator constructor" seems necessary for loop replication, I have included it in the rule.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
@TABLE
n_states:14
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13}
p,1,a,b,c,12,d,e,f,12
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,p,1,i,m,e,k,j,4,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,0,0,0,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » June 22nd, 2014, 6:31 pm

I added a "left and right right-turn constructor", to complete my signal collection.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
@TABLE
n_states:16
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15}
p,1,a,b,c,12,d,e,f,12
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,p,1,i,m,e,k,j,4,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,0,0,0,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
This rule can also support chaotic explosions, surprisingly enough.

Code: Select all

x = 99, y = 156, rule = GoucherParticleLoop
54.E9$54.J$54.A4$54.B$54.A4$54.B$54.A4$54.J$54.A45$.53F.24F4.F$.F77.
4F.2F$.F84.F$.F85.F$.F86.F$.F87.F$.F88.F$.F88.F$.F89.F$.F89.F$F91.F$F
91.F$F92.F$F92.F$F25.C67.F$F26.AJ26.F39.F$F25.B68.F$F25.A69.F$F96.F$F
25.B70.F$F25.A71.F$F97.F$.F24.B70.F$.F24.A70.F$.F94.F$.F24.B69.F$.F
24.A69.F$.F94.F$.F24.B68.F$.F24.A68.F$.F93.F$.F24.B68.F$.F24.A67.F$2.
F91.F$2.F23.B67.F$2.F23.A67.F$2.F91.F$2.F23.B67.F$2.F22.CA.BA.BA.BA.B
A.BA.BA.BA.BA.BA40.F$2.F51.C39.F$2.F90.F$2.F90.F$2.F90.F$2.F90.F$2.F
90.F$2.F89.F$2.F89.F$3.F88.F$3.F88.F$4.F87.F$5.F85.F$6.F84.F$7.F83.F$
8.F82.F$9.F81.F$10.F80.F$10.F80.F$11.F78.F$12.F77.F$13.F76.F$14.F75.F
$15.F74.F$16.F73.F$17.2F70.F$19.F69.F$20.F67.F$21.F66.F$22.F64.F$23.F
63.F$24.F60.2F$25.F57.2F$26.F54.2F$27.F51.2F$28.F48.2F$29.F44.3F$30.
2F40.2F$32.2F36.2F$34.2F32.2F$36.F30.F$37.2F26.2F$39.F23.2F$40.F20.2F
$41.2F16.2F$43.2F12.2F$45.3F7.2F$48.7F!

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » June 28th, 2014, 10:02 pm

The "construction done" signal is working almost perfectly. The only thing that prevents this from being a loop rule is that the "construction done" cannot be created when a loop is complete.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is special state
@TABLE
n_states:17
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15}
var q={p}
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
p,6,0,0,0,1,0,12,0,12
p,6,0,12,0,1,0,0,0,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,16,a,b,c,d,e,f,g,12
16,a,b,c,d,e,f,g,h,0
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,p,1,i,m,e,k,j,4,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,0,0,0,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » June 29th, 2014, 9:38 pm

The dynamics at the end of the "construction done" signal's arbitrarily long journey have been completely worked out.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
@TABLE
n_states:18
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
12,p,6,0,0,0,0,0,1,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,16,a,b,c,d,e,f,g,12
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,4,2
0,17,4,i,m,e,k,j,1,5
4,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,4
0,2,1,i,m,e,k,j,16,17
0,p,1,i,m,e,k,j,16,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,0,0,0,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 80  65  212 #dark lavender
17 100 66  66  #medium wood

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » June 30th, 2014, 10:16 pm

The loop rule is complete! Making a loop, though, is left as an exercise for the reader.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
@TABLE
n_states:18
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,5
0,1,0,0,7,p,0,0,0,0
1,p,7,0,0,0,0,0,0,12
p,0,0,7,0,1,0,0,0,5
12,p,6,0,0,0,0,0,1,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,16,a,b,c,d,e,f,g,12
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,4,2
0,17,4,i,m,e,k,j,1,5
4,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,4
0,2,1,i,m,e,k,j,16,17
0,p,1,i,m,e,k,j,16,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 80  65  212 #dark lavender
17 100 66  66  #medium wood

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Other Loop rules

Post by wildmyron » July 1st, 2014, 4:54 am

c0b0p0 wrote:The loop rule is complete! Making a loop, though, is left as an exercise for the reader.
[snip rule definition][/code]
Well done - I've been looking forward to you completing the construction done dynamics and seeing what sort of constructions are possible. My simple loop examples I tried during early iterations seem far from being able to work in this rule though - particularly as your design of the construction done signal is still opaque to me and I haven't yet explored the dynamics of state 16 and 17. I'm curious if you think a simple loop will still work in this rule, i.e. a direct analogue of the original Goucher loops, or if the design is entirely focussed on the short circuit method of construction discussed early on. I ask this because I've noticed that pulling the construction done around a corner then deletes the corner, which indicates to me that a simple loop design would not be possible.

While trying to close a few different loops, I've noticed some situations where the rule is not invariant to left/right swap under mirror symmetry. The following pattern illustrates this best, showing several pairs of interactions which I would expect to have the same behaviour, but they don't.

Code: Select all

x = 21, y = 75, rule = GoucherParticleLoop
E19.E2$I19.H$A19.A2$B19.B$A19.A2$B19.B$A19.A15$A19.A$B19.B2$A19.A$B
19.B2$E19.E$2.D15.C4$2.B15.B$2.A15.A14$BEBA13.ABEB$A19.A2$B19.B$A19.A
6$B19.B$AEBA13.ABEA2$B19.B$A19.A6$B19.B$A19.A$.EBA13.ABE$B19.B$A19.A!
Also, I wonder if you would consider revising the state definitions to group different types of states together, before embarking on loop creation, or do you already have a significant number of patterns using the current state definitions?

P.S. No color is defined for state 7
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 1st, 2014, 10:06 pm

@wildmyron: The rule below should fix the top problem (which is especially worrisome).

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
@TABLE
n_states:19
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,5
0,1,0,0,7,p,0,0,0,0
1,p,7,0,0,0,0,0,0,12
p,0,0,7,0,1,0,0,0,5
12,p,6,0,0,0,0,0,1,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,16,a,b,c,d,e,f,g,12
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,4,2
0,17,4,i,m,e,k,j,1,5
4,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,4
0,2,1,i,m,e,k,j,16,17
0,p,1,i,m,e,k,j,16,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 80  65  212 #dark lavender
17 100 66  66  #medium wood
The basic square loop skeleton I had in mind is as follows, while it seems the one you had in mind used right turns instead of left turns.

Code: Select all

x = 9, y = 9, rule = GoucherParticleLoop
7.F$D2$7.B$7.A3$8.D$.D!

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Other Loop rules

Post by wildmyron » July 2nd, 2014, 3:57 am

c0b0p0 wrote:@wildmyron: The rule below should fix the top problem (which is especially worrisome).
Indeed it does. That helps somewhat, even though it could be worked around by giving turn signals an extra space behind them. I've actually tried both left and right turning loops which is how the discrepancies became apparent.
From my previous post I think you can ignore the centre issue - it's essentially the same as the last one and the geometry with left and right turners is unrealistic. However the creation of the construction done signal is still problematic. The demonstration below shows what I understand might happen in a pure left hand loop on the left, and a pure right hand loop on the right.

Code: Select all

x = 52, y = 58, rule = GoucherParticleLoop
11.A28.A$11.B28.B2$11.A28.A$11.B28.B$11.E28.E2$.AB.AB.AB.AB28.BA.BA.B
A.BA13$11.A28.A$11.B28.B2$11.A28.A$11.B28.B$11.E28.E2$AB.AB.AB.AB30.B
A.BA.BA.BA10$10.F30.F$10.B.L26.L.B$10.A30.A2$10.B30.B$10.A30.A2$10.B
30.B$10.A30.A12$10.D.QA3.IA3.BA4.AB3.AH3.AQ.D!
If I understand your design correctly, then the creation of the construction done signal works for the right hand case, but not for the left. However, the evolution of the duplicator into a latch works for the left hand case, but not the right. The evolution of a turner into duplicator seems to work OK for both left and right, but the placement of the constructor results in the new loop colliding with the duplicator of the parent loop. This is the motivation for the complex cascade of special states in simsim314's LoopParticles rules:

Code: Select all

x = 2, y = 3, rule = LoopParticles
.A$.K$E!
You could avoid the need for this with some means of pushing the constructor away from the loop prior to beginning construction (as is done in many other loop rules) but I can't see any way of doing that in the current design.
The other fairly big issue is that I can't seem to send construction done to the new loop so that it can begin replicating, and once that's done it also seems to me that it will be particularly difficult to get exactly one copy of the entire signal stream into the new loop.

I haven't yet worked out what might be possible using the left and right duplicator/turner constructor signals (i.e. states 10, 11, 13, 14 and 15), but I'm leaving that till later.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 2nd, 2014, 10:18 pm

@wildmyron: Below are the only lines that favor left turn cells over right turn cells.

Code: Select all

0,17,1,i,m,e,k,j,4,2
0,17,4,i,m,e,k,j,1,5
4,17,a,b,c,d,e,f,g,6
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
16,2,a,b,c,d,e,f,g,4
0,2,1,i,m,e,k,j,16,17
0,p,1,i,m,e,k,j,16,p
0,2,1,i,m,e,k,j,16,17 

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Other Loop rules

Post by wildmyron » July 3rd, 2014, 5:28 am

c0b0p0 wrote:@wildmyron: Below are the only lines that favor left turn cells over right turn cells.

Code: Select all

0,17,1,i,m,e,k,j,4,2
0,17,4,i,m,e,k,j,1,5
4,17,a,b,c,d,e,f,g,6
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
16,2,a,b,c,d,e,f,g,4
0,2,1,i,m,e,k,j,16,17
0,p,1,i,m,e,k,j,16,p
0,2,1,i,m,e,k,j,16,17 
Looking at your list and my example I realised that I made a mistake in the left and right reflector example, so here it is again.

Code: Select all

x = 52, y = 61, rule = GoucherParticleLoop
11.A28.A$11.B28.B2$11.A28.A$11.B28.B2$11.A28.A$11.B28.B$11.E28.E2$.AB
.AB.AB.AB28.BA.BA.BA.BA10$11.A28.A$11.B28.B2$11.A28.A$11.B28.B2$11.A
28.A$11.B28.B$11.E28.E2$AB.AB.AB.AB30.BA.BA.BA.BA10$10.F30.F$10.B.L
26.L.B$10.A30.A2$10.B30.B$10.A30.A2$10.B30.B$10.A30.A12$10.D.QA3.IA3.
BA4.AB3.AH3.AQ.C!
The first two rules in your list deal with evolving a left hand reflector into a duplicator, and it's not difficult to add the right hand versions which would make the right hand case work the same way, but I'll get to that later.

There are a few other rules which preference left or right hand behaviour:

Code: Select all

12,p,6,0,0,0,0,0,1,0
You can see the effect of this rule in the third example from the top - for left hand side 'construction done' fades, but for right hand side it remains.

Code: Select all

0,1,7,0,0,p,0,0,0,12 #1

p,0,7,0,0,1,0,0,0,12 #2
0,1,0,7,0,p,0,0,0,5  #3

0,1,0,0,7,p,0,0,0,0  #4
1,p,7,0,0,0,0,0,0,12 #5
p,0,0,7,0,1,0,0,0,5  #6

1,7,0,0,0,0,0,2,0,5  #7

0,7,0,0,0,1,p,0,0,5  #9
0,0,0,7,0,0,1,p,0,5  #0 
These rules deal with creation of construction done signal and I have numbered them for reference. As far as I can see, only the right turn case works, and only in two of the three possible phases. Additionally, if the spacing between signals is altered (i.e. 2 empty cells between signals as in your earlier design) then the right hand case doesn't work either. Here's another pattern showing this in full detail - AFAIUI.

Code: Select all

x = 150, y = 60, rule = GoucherParticleLoop
5$70.B78.B$60.B9.A68.B9.A$50.B9.A68.B9.A$40.B9.A19.B48.B9.A19.B$30.B
9.A19.B9.A38.B9.A19.B9.A$3.AB.ABE5.AB.AG.B4.AB2.EA5.AB.E7.ABEB7.AGA9.
E20.EBA.BA2.B.GA.BA3.AE2.BA5.E.BA5.BEBA6.AGA7.E$10.B9.A19.B9.A19.L18.
B9.A19.B9.A19.L$10.A19.B9.A19.B9.A18.A19.B9.A19.B9.A$20.B9.A19.B9.A
38.B9.A19.B9.A$10.B9.A19.B9.A38.B9.A19.B9.A$10.A19.B9.A48.A12.2A5.B9.
A16.A2.3A$20.B9.A68.B.A2.A4.A26.A4.A$10.B9.A68.B9.A.A2.A31.A4.A$10.A
78.A11.A2.A31.A3.A$14.7A37.3A41.2A32.A3.A5$70.B78.B$60.B9.A68.B9.A$
50.B9.A68.B9.A$40.B9.A19.B48.B9.A19.B$30.B9.A19.B9.A38.B9.A19.B9.A$
20.B9.A19.B9.A38.B9.A19.B9.A$3.AB.ABE.B3.AB.AG.A4.AB2.E6.AB.EB6.ABEA
7.AG10.E18.B.EBA.BA2.A.GA.BA4.E2.BA4.BE.BA5.AEBA7.GA7.E$10.A19.B9.A
19.B9.L18.A19.B9.A19.B9.L$20.B9.A19.B9.A38.B9.A19.B9.A$10.B9.A19.B9.A
38.B9.A19.B9.A$10.A19.B9.A48.A19.B9.A$20.B9.A68.B2.2A5.A25.2A2.3A$10.
B9.A68.B9.A.A2.A29.A2.A4.A$10.A78.A12.3A32.A2.2A$104.A31.A5.A$14.7A
37.3A41.2A30.4A.3A4$70.B78.B$60.B9.A68.B9.A$60.A78.A$40.B9.A19.B48.B
9.A19.B$30.B9.A19.B9.A38.B9.A19.B9.A$20.B9.A19.B9.A38.B9.A19.B9.A$10.
B9.A19.B9.A38.B9.A19.B9.A$3.AB.ABE.A3.AB.AG6.AB2.EB5.AB.EA6.ABE8.AGB
9.E18.A.EBA.BA4.GA.BA3.BE2.BA4.AE.BA6.EBA6.BGA7.E$20.B9.A19.B9.A9.L
28.B9.A19.B9.A9.L$10.B9.A19.B9.A38.B9.A19.B9.A$10.A19.B9.A48.A19.B9.A
$20.B9.A68.B9.A$10.B9.A68.B9.A36.A6.2A$10.A78.A45.2A5.A$134.A.A2.2A.
3A$134.4A4.A2.A$14.7A37.3A38.7A30.A6.2A!
This shows the step by step evolution of two signal streams colliding, as far as I understand the dynamics should work. Once again, the left hand side is what should happen in a left turn loop and the right hand side a right turn loop. Steps which don't work as shown are underlined, and the rule which makes the corresponding case work is annotated with numerical reference to the rules above. Please tell me if I'm on the wrong track.

Now, I could fix up a few of these problems, but I don't feel that I understand what you are trying to do well enough to create a set of rules which works as expected. Here are the existing issues as I see them, beyond the left / right / mirror symmetry differences (including previously mentioned issues):
  • The creation of the construction done block occurs mid transfer of the signal stream into the child loop. This results in only partial transfer of the stream into the loop. This could be resolved either using simsim314's technique of waiting until the end of the signal stream to create the construction done particle and to automatically finish off the child loop (taking care to correctly determine whether a left or right turn is required), OR using the existing signal stream to finish the loop, but also duplicate the last few signals which would otherwise have been lost.
  • When the construction signal transforms a reflector into a duplicator, it creates a construction cell adjacent to the signal stream. This location results in the almost completed child loop crashing into the duplicator. Possible solutions mentioned in previous post.
  • As I understand it, the goal of this rule is to allow complex loops with left and right turns. At this stage, the construction signal will transform the next reflector it comes across into a duplicator, but this is unlikely to be a suitable location for a duplicator as it won't be on the next corner. There currently doesn't seem to be any way to abort construction at inappropriate locations, or to mark particular reflectors as corner reflectors suitable to be used as duplicators.
  • The short circuit construction idea proposed to allow better than linear increase in available storage space seems to me as though it will need a quite different method of closing the loop, but I really can't envisage how this will work at this stage.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 3rd, 2014, 10:38 pm

@wildmyron: Here is the adjusted rule table, which favors right turns over left and thus can make a loop which reproduces itself. Accordingly, the color of state 16 is now dark red.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
@TABLE
n_states:18
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,5
0,1,0,0,7,p,0,0,0,0
1,p,7,0,0,0,0,0,0,12
p,0,0,7,0,1,0,0,0,5
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood
wildmyron wrote:As I understand it, the goal of this rule is to allow complex loops with left and right turns. At this stage, the construction signal will transform the next reflector it comes across into a duplicator, but this is unlikely to be a suitable location for a duplicator as it won't be on the next corner. There currently doesn't seem to be any way to abort construction at inappropriate locations, or to mark particular reflectors as corner reflectors suitable to be used as duplicators.
Actually, the construction signal will only change right turns into duplicators. I think the rule already does make loops that are complex enough to attempt implementing some form of evolutionary behavior, which is my goal for the rule.
wildmyron wrote:The creation of the construction done block occurs mid transfer of the signal stream into the child loop. This results in only partial transfer of the stream into the loop. This could be resolved either using simsim314's technique of waiting until the end of the signal stream to create the construction done particle and to automatically finish off the child loop (taking care to correctly determine whether a left or right turn is required), OR using the existing signal stream to finish the loop, but also duplicate the last few signals which would otherwise have been lost.
Duplicating those signals is probably best -- there is quite a large chance that those signals are state 2.

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 6th, 2014, 10:46 pm

Unfortunately, I had forgotten to include state 18. Here is the new rule.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
@TABLE
n_states:19
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,5
0,1,0,0,7,p,0,0,0,0
1,p,7,0,0,0,0,0,0,12
p,0,0,7,0,1,0,0,0,5
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 7th, 2014, 10:24 pm

[quote="wildmyron][*]The short circuit construction idea proposed to allow better than linear increase in available storage space seems to me as though it will need a quite different method of closing the loop, but I really can't envisage how this will work at this stage.[/*]
[/quote]
simsim314 also considered a moving construction cell, which was used in the Tempesti loops. That design would use your average square loop, but with a moving construction cell, and would probably use a very similar method of closing the loop. simsim314's actual "quadratic DNA" design would probably use an "end loop" signal, which would be duplicated when it hit a reflector (which would be created to insert the parent loop's DNA into the child loop) and would make a "construction done" signal.
wildmyron wrote:When the construction signal transforms a reflector into a duplicator, it creates a construction cell adjacent to the signal stream. This location results in the almost completed child loop crashing into the duplicator. Possible solutions mentioned in previous post.
That was part of the end of loop dynamics, not the beginning of loop dynamics. My solution to this problem was to have some space between the loops to avoid this problem.
c0b0p0 wrote:Duplicating those signals is probably best -- there is quite a large chance that those signals are state 2.
It seems that state 17, instead of state 2, must be released, thus making the left-and-right left-turn constructor useless. (It kept the projected loop size larger than the size of the loop it was going to create for a long time.)

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 11th, 2014, 5:10 pm

c0b0p0 wrote: It seems that state 17, instead of state 2, must be released, thus making the left-and-right left-turn constructor useless. (It kept the projected loop size larger than the size of the loop it was going to create for a long time.)
This should fix the problem.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
@TABLE
n_states:21
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
var r={0,1}
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
p,0,0,7,0,1,0,0,0,5
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 13th, 2014, 11:10 pm

I fixed a major error in my rule that had to do with state 17.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is special state
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
@TABLE
n_states:21
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
var r={0,1}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
p,0,0,7,0,1,0,0,0,5
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 14th, 2014, 2:58 pm

Well I decided to add more states to GoucherParticleLoops to make it work and here's the result:

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
@TABLE
n_states:26
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
var r={0,1}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
p,0,0,7,0,1,0,0,0,5
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
#my transitions
#useless
0,7,0,0,1,0,2,0,0,5
0,7,0,0,2,1,0,0,0,5
0,7,0,0,0,2,1,0,0,5
#complete loop
5,0,0,1,17,2,0,0,0,21
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood
I think someone can do better though.

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 14th, 2014, 5:46 pm

@fluffykitty: Here is my loop design (for square loops). Unfortunately, it doesn't seem to work, even though it has the same basic design as most loops. Did you have a different loop design?

Code: Select all

x = 130, y = 43, rule = GoucherParticleLoop
88.C$AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.A
B.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AH.C40$
87.C$128.F!

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 14th, 2014, 6:06 pm

Well i'm looking into it. Here's my loop:

Code: Select all

x = 9, y = 9, rule = GoucherParticleLoop
.C$.AB.AB.AC$7.B$.B$.A2$.B$CA.BA.HA$7.P!
Try experimenting with that.

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 14th, 2014, 6:49 pm

Oh now I get it. First let me introduce the breadth measurement. To calculate it simply find out the distance between two reflectors and add 2. You should have the same number of push signals as the breadth measurement. (You had two more push signals than necessary.) Here's the corrected version:

Code: Select all

x = 149, y = 53, rule = GoucherParticleLoop
9$92.C$10.AH.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB
.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.AB.C40$
91.C44.E$132.F!
(Am I now the official developer of GoucherParticleLoop? Please tell me.)

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 14th, 2014, 9:05 pm

I made a new version that supports cross loops. (Kind of.)

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
#state 26 is separator
@TABLE
n_states:27
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
var r={0,1}
var s={3,4,6,16}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
1,p,21,7,0,0,0,0,0,20 #
p,0,0,7,0,1,0,0,0,5
12,p,s,0,0,0,0,0,1,0 #
12,p,1,0,0,0,0,0,s,0 #
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,0,0,8,5,0,0,0,0,12
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,6,0,1,0,2,0,0,26,17
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
#my transitions
#complete loop
5,0,0,1,17,2,0,0,0,21
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
#resolve collisions
0,7,0,0,0,s,0,0,0,12
0,0,0,s,0,0,0,25,0,12a
#separate
0,0,0,6,0,1,0,0,0,26
6,0,0,0,0,17,0,26,0,3
26,0,0,6,17,0,0,0,0,0
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 14th, 2014, 10:47 pm

Just run the loop in the rule:

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
#state 26 is separator
#state 27 is stable construction done
@TABLE
n_states:28
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17}
var q={p}
var r={0,1}
var s={3,4,6,16}
var t={s}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
1,p,21,7,0,0,0,0,0,20 #
p,0,0,7,0,1,0,0,0,5
12,p,s,0,0,0,0,0,1,0 #
12,p,1,0,0,0,0,0,s,0 #
12,s,0,0,1,2,t,0,0,0 #
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
p,1,a,b,c,27,d,e,f,12 #
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
27,p,0,a,b,c,d,e,0,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,0,0,8,5,0,0,0,0,12
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,6,0,1,0,2,0,0,26,17
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,5,a,b,c,d,e,f,g,12 #
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
#my transitions
#complete loop
5,0,0,1,17,2,0,0,0,21
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
#resolve collisions
0,7,0,0,0,s,0,0,0,12
0,0,0,s,0,0,0,25,0,12
0,r,0,0,0,7,0,0,3,27
#separate
0,0,0,6,0,1,0,0,0,26
6,0,0,0,0,17,0,26,0,3
26,0,0,6,17,0,0,0,0,0
#constructor signal collision
0,0,0,7,0,0,p,1,0,12
#constructor constructor collision
0,0,0,7,0,0,0,5,0,5
5,a,b,c,d,e,f,7,g,12
#opening loop contact
23,1,0,0,0,23,0,0,6,1
0,6,1,23,23,0,0,0,0,26
#clean up constructors
5,0,0,0,0,0,p,12,0,0
#constructor reflector collision
0,s,0,0,0,1,t,0,0,12
#error
23,0,0,8,0,0,0,1,0,12
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
7 255 64  0   #red-orange
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

Code: Select all

x = 71, y = 24, rule = GoucherParticleLoop
63.E3$57.C$AH.AB.AB.AB.AB.AB.AB.AH.AB.AB.AB.AB.AB.AB.AI.AB.AB.AB.AB.A
B.AB2.F5$51.C$58.D11.C$63.D4$57.D$50.C11.D$69.C5$56.C$63.C!

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 15th, 2014, 9:56 am

An update for retracting a duplicator:

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
#state 26 is separator
#state 27 is stable construction done
#state 28 is double done
#state 29 is death signal
@TABLE
n_states:30
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17,29}
var q={p}
var r={0,1}
var s={3,4,6,16}
var t={s}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
1,p,21,7,0,0,0,0,0,20 #
p,0,0,7,0,1,0,0,0,5
12,p,s,0,0,0,0,0,1,0 #
12,p,1,0,0,0,0,0,s,0 #
12,s,0,0,1,2,t,0,0,0 #
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
p,1,a,b,c,27,d,e,f,12 #
p,1,a,b,c,28,d,e,f,12 #
6,29,a,b,c,d,e,f,12,0
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
27,p,0,a,b,c,d,e,0,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
p,6,0,0,0,1,0,12,0,27
p,6,0,12,0,1,0,0,0,27
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,0,0,8,5,0,0,0,0,12
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,6,0,1,0,2,0,0,26,17
0,p,12,i,j,e,l,m,o,p
0,p,0,0,29,27,0,0,0,12 #
0,p,i,j,e,l,m,o,12,p
0,p,0,1,0,6,0,12,0,29 #
0,p,i,c,d,e,f,g,o,p ##
0,p,3,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,5,a,b,c,d,e,f,g,12 #
7,1,0,0,0,0,p,0,0,27 #
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
#my transitions
#complete loop
5,0,0,1,17,2,0,0,0,21
22,1,0,0,0,23,0,0,6,23 #
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
#resolve collisions
0,7,0,0,0,s,0,0,0,12
0,0,0,s,0,0,0,25,0,12
0,r,0,0,0,7,0,0,3,27
#separate
0,0,0,6,0,1,0,0,0,26
6,0,0,0,0,17,0,26,0,3
26,0,0,6,17,0,0,0,0,0
#constructor signal collision
0,0,0,7,0,0,p,1,0,12
#constructor constructor collision
0,0,0,7,0,0,0,5,0,5
5,a,b,c,d,e,f,7,g,12
#opening loop contact
23,1,0,0,0,23,0,0,6,1
0,6,1,23,23,0,0,0,0,26
#clean up constructors
5,0,0,0,0,0,p,12,0,0
#constructor reflector collision
0,s,0,0,0,1,t,0,0,12
#error
23,0,0,8,0,0,0,1,0,12
#two constructor collision
0,0,0,0,0,7,0,0,23,12
#double done
0,7,0,0,0,7,0,0,0,28
28,p,0,0,0,q,0,0,0,0
#construction signal collision 2
0,0,0,0,0,0,0,p,27,p
#death
s,29,a,b,c,d,e,f,g,0
5,29,a,b,c,d,e,f,g,0
#too close
#22,1,0,0,0,23,0,0,6,23
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
7 255 64  0   #red-orange
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 15th, 2014, 11:41 am

Now loops can safely turn into turns:

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
#state 26 is separator
#state 27 is stable construction done
#state 28 is double done
#state 29 is death signal
@TABLE
n_states:30
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17,29}
var q={p}
var r={0,1}
var s={3,4,6,16}
var t={s}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
1,p,21,7,0,0,0,0,0,20 #
p,0,0,7,0,1,0,0,0,5
12,p,s,0,0,0,0,0,1,0 #
12,p,1,0,0,0,0,0,s,0 #
12,s,0,0,1,2,t,0,0,0 #
12,p,1,0,0,3,0,0,4,0 #
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
p,1,a,b,c,27,d,e,f,12 #
p,1,a,b,c,28,d,e,f,12 #
6,29,a,b,c,d,e,f,12,0
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
27,p,0,a,b,c,d,e,0,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
p,6,0,0,0,1,0,12,0,27
p,6,0,12,0,1,0,0,0,27
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,0,0,8,5,0,0,0,0,12
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,6,0,1,0,2,0,0,26,17
0,p,12,i,j,e,l,m,o,p
0,p,0,0,29,27,0,0,0,12 #
0,p,i,j,e,l,m,o,12,p
0,p,0,1,0,6,0,12,0,29 #
0,p,i,c,d,e,f,g,o,p ##
0,p,3,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,5,a,b,c,d,e,f,g,12 #
7,1,0,0,0,0,p,0,0,27 #
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
#my transitions
#complete loop
5,0,0,1,17,2,0,0,0,21
22,1,0,0,0,23,0,0,6,23 #
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
#resolve collisions
0,7,0,0,0,s,0,0,0,12
0,0,0,s,0,0,0,25,0,12
0,r,0,0,0,7,0,0,3,27
#separate
0,0,0,6,0,1,0,0,0,26
6,0,0,0,0,17,0,26,0,3
26,0,0,6,17,0,0,0,0,0
#constructor signal collision
0,0,0,7,0,0,p,1,0,12
#constructor constructor collision
0,0,0,7,0,0,0,5,0,5
5,a,b,c,d,e,f,7,g,12
#opening loop contact
23,1,0,0,0,23,0,0,6,1
0,6,1,23,23,0,0,0,0,26
#clean up constructors
5,0,0,0,0,0,p,12,0,0
#constructor reflector collision
0,s,0,0,0,1,t,0,0,12
#error
23,0,0,8,0,0,0,1,0,12
#two constructor collision
0,0,0,0,0,7,0,0,23,12
#double done
0,7,0,0,0,7,0,0,0,28
28,p,0,0,0,q,0,0,0,0
#construction signal collision 2
0,0,0,0,0,0,0,p,27,p
#death
s,29,a,b,c,d,e,f,g,0
5,29,a,b,c,d,e,f,g,0
#too close
#22,1,0,0,0,23,0,0,6,23
#reverse interaction
0,0,0,18,0,0,12,0,0,5
#turn into reflector
0,9,1,0,0,3,0,0,5,12
#12,p,1,0,0,3,0,0,4,0
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
7 255 64  0   #red-orange
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

c0b0p0
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Other Loop rules

Post by c0b0p0 » July 15th, 2014, 10:37 pm

fluffykitty wrote:(Am I now the official developer of GoucherParticleLoop? Please tell me.)
You're certainly one of them!
fluffykitty wrote:Just run the loop in the rule:
You really update rules quickly! For reference, here is wildmyron's original loop design. (It still does not work. Making it work would require some way to mark reflectors, which I will probably add quite soon.)

Code: Select all

x = 21, y = 18, rule = GoucherParticleLoop
.C10.C$.B.AB.AB.C3.AB.AC$.A6.A3.B3.H$8.I3.A$.B3.D10.A$CA.IA3.AB.ABD2.
B$5.B2.D$5.A10.A$.C9.D.BA.B$.AB.ABD5.A3.C$12.B$.B7.D$.A2.DA.BA3.AB.AB
C$5.B3.H2.D$.H7.A6.A$.A3.A10.B$C.BA.B2.C11.E$5.C10.F!
By the way, here is the smallest loop in this rule, which unfortunately dies out because of your improvements. It seems that cross-shaped loops and 7x7 loops simply cannot get along.

Code: Select all

x = 7, y = 7, rule = GoucherParticleLoop
.C$2.AB.AC$.B3.B$.A2$CBA.HA$5.P!

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Other Loop rules

Post by fluffykitty » July 16th, 2014, 8:32 pm

c0b0p0 wrote:By the way, here is the smallest loop in this rule, which unfortunately dies out because of your improvements. It seems that cross-shaped loops and 7x7 loops simply cannot get along.

Code: Select all

x = 7, y = 7, rule = GoucherParticleLoop
.C$2.AB.AC$.B3.B$.A2$CBA.HA$5.P!
Well they *kind of* can. The 7x7 loop isn't completely fixed, but I like it.

Code: Select all

@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
#state 26 is separator
#state 27 is stable construction done
#state 28 is double done
#state 29 is death signal
@TABLE
n_states:30
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17,29}
var q={p}
var r={0,1}
var s={3,4,6,16}
var t={s}
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
1,p,21,7,0,0,0,0,0,20 #
p,0,0,7,0,1,0,0,0,5
12,p,s,0,0,0,0,0,1,0 #
12,p,1,0,0,0,0,0,s,0 #
12,s,0,0,1,2,t,0,0,0 #
12,p,1,0,0,3,0,0,4,0 #
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
p,1,a,b,c,27,d,e,f,12 #
p,1,a,b,c,28,d,e,f,12 #
6,29,a,b,c,d,e,f,12,0
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
27,p,0,a,b,c,d,e,0,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
p,6,0,0,0,1,0,12,0,27
p,6,0,12,0,1,0,0,0,27
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,0,0,8,5,0,0,0,0,12
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,3,0,12,0,1,0,27,0,12
p,a,b,c,d,e,f,g,h,1
0,6,0,1,0,2,0,0,26,17
0,p,12,i,j,e,l,m,o,p
0,p,0,0,29,27,0,0,0,12 #
0,p,i,j,e,l,m,o,12,p
0,p,0,1,0,6,0,12,0,29 #
0,p,i,c,d,e,f,g,o,p ##
0,p,3,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,0,0,0,0,2,0,0,23,12 #
5,2,0,0,c,d,e,0,0,7
7,5,a,b,c,d,e,f,g,12 #
7,1,0,0,0,0,p,0,0,27 #
7,0,12,0,0,r,0,0,p,28 #
7,a,b,c,d,e,f,g,h,0
0,7,0,0,0,0,0,0,0,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
5,9,0,0,0,0,0,0,0,4
0,0,0,0,5,9,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,0,0,0,5,10,1,0,0,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,0,0,0,5,11,1,0,0,5
5,11,0,0,0,0,0,0,0,6
0,11,5,0,0,0,0,0,1,5
0,13,1,0,0,0,0,0,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,0,0,0,0,0,1,5
5,15,0,0,0,0,0,0,0,3
0,0,0,0,5,15,1,0,0,5
5,15,0,0,0,0,0,0,0,6
0,15,5,0,0,0,0,0,1,5
#my transitions
#complete loop
5,0,0,1,17,2,0,0,0,21
22,1,0,0,0,23,0,0,6,23 #
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
#resolve collisions
0,7,0,0,0,s,0,0,0,12
0,0,0,s,0,0,0,25,0,12
0,r,0,0,0,7,0,0,3,27
#separate
0,0,0,6,0,1,0,0,0,26
6,0,0,0,0,17,0,26,0,3
26,0,0,6,17,0,0,0,0,0
#constructor signal collision
0,0,0,7,0,0,p,1,0,12
#constructor constructor collision
0,0,0,7,0,0,0,5,0,5
5,a,b,c,d,e,f,7,g,12
#opening loop contact
23,1,0,0,0,23,0,0,6,1
0,6,1,23,23,0,0,0,0,26
#clean up constructors
5,0,0,0,0,0,p,12,0,0
#constructor reflector collision
0,s,0,0,0,1,t,0,0,12
#error
23,0,0,8,0,0,0,1,0,12
#two constructor collision
0,0,0,0,0,7,0,0,23,12
#double done
0,7,0,0,0,7,0,0,0,28
28,p,0,0,0,q,0,0,0,0
#construction signal collision 2
0,0,0,0,0,0,0,p,27,p
#death
s,29,a,b,c,d,e,f,g,0
5,29,a,b,c,d,e,f,g,0
#too close
#22,1,0,0,0,23,0,0,6,23
#reverse interaction
0,0,0,18,0,0,12,0,0,5
#turn into reflector
0,9,1,0,0,3,0,0,5,12
#12,p,1,0,0,3,0,0,4,0
#two one
12,0,0,0,0,0,7,0,0,28
28,p,a,b,c,d,e,f,g,12
#7,0,12,0,0,r,0,0,p,12
#retract advance
#1,3,0,12,0,1,0,27,0,12
#7x7 fix
#5,0,0,0,2,0,0,23,12
@COLORS
1 255 255 255 #white
2 0   0   255 #blue
3 255 0   0   #red
4 122 107 255 #lavender
5 0   255 255 #cyan
6 0   255 0   #green
7 255 64  0   #red-orange
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 230 255 #lavender-green
12 133 99  99  #light wood
13 100 200 255 #deep lavender-green
14 255 255 0   #red-green
15 255 255 128 #pale red-green
16 150 0   0   #dark red
17 100 66  66  #medium wood

Post Reply