Page 1 of 3

Real Life Speeds

Posted: August 22nd, 2017, 9:26 am
by BlinkerSpawn
As a continuation of the speed comparison discussion in the Larger than Life thread, I wondered how feasible it would be to make real-life speeds in a cellular automaton.
I figured putting this rule together was a reasonable start:

Code: Select all

@RULE ReallySlow
1 tape ON
2 tape OFF
3 tape advance
4 ticker right
5 ticker left
@TABLE
n_states:6
neighborhood:Moore
symmetries:none
var a = {0,1,2,3,4}
var b = a
var c = b
var d = c
var e = d
var f = e
var g = f
var h = g
var A = {1,2,3,4}
var B = A
var C = B
var D = C

#tape counts up
1,a,b,c,0,0,0,3,d,3
2,a,b,c,0,0,0,3,d,1
2,a,b,c,0,0,0,0,d,3
3,a,b,c,0,0,0,d,e,2
#ticker ticks up
0,0,0,0,a,1,b,4,0,4
0,0,0,0,a,b,0,4,0,4
4,0,0,0,1,A,b,0,0,0
4,0,0,0,a,0,0,0,0,0
4,0,0,0,0,a,b,0,0,0
#ticker ticks down
0,0,0,0,0,0,A,4,0,5
0,0,0,0,0,0,0,A,4,2
A,5,0,b,0,0,0,C,0,2
A,0,5,b,0,0,0,C,0,2
0,0,0,5,a,B,c,0,0,5
5,0,0,0,a,b,C,0,0,0
5,0,0,0,A,B,0,0,0,4
A,5,0,B,0,0,0,0,0,0
Spaceships in this rule consist of a state-3 cell with a state-4 cell above it and any number (including 0) of state-2 cells to the right of it.
A 2x1 spaceship is p4, and periods for longer ships increase roughly exponentially with length.
More specifically, if a 2-by-X spaceship is pN, then the next ship's period is 2N - (2X+1).
The first few periods:

Code: Select all

x = 21, y = 47, rule = ReallySlow
6.B.B$6.B.B4.D$6.3B4.C$8.B$8.B2$6.3B$8.B4.D$8.B4.CB$8.B$8.B2$6.B.B$6.
B.B4.D$6.B.B4.C2B$6.B.B$6.B.B2$4.B.3B$4.B3.B4.D$4.B3.B4.C3B$4.B3.B$4.
B3.B2$2.3B.3B$4.B3.B4.D$2.3B3.B4.C4B$2.B5.B$2.3B3.B2$2.B.B.3B$2.B.B.B
6.D$2.3B.3B4.C5B$4.B3.B$4.B.3B2$2.3B.3B$4.B.B.B4.D$4.B.3B4.C6B$4.B3.B
$4.B.3B2$B.B.B.3B$B.B.B.B6.D$B.3B.3B4.C7B$B3.B3.B$B3.B.3B!
The 2x21 ship is our "passenger airline", with a speed of c/1048619 or 286 meters/sec:

Code: Select all

x = 21, y = 2, rule = ReallySlow
D$C20B!
2x28 gets you down to just over 1 meter/sec, or a good walking speed:

Code: Select all

x = 66, y = 5, rule = ReallySlow
3B.3B.3B.B.B.3B.3B.3B.B.3B$2.B.B3.B.B.B.B3.B.B3.B3.B.B6.D$3B.3B.3B.3B
.3B.3B.3B.B.3B4.C28B$B3.B.B.B.B3.B3.B3.B3.B.B3.B$3B.3B.3B3.B.3B.3B.3B
.B.3B!
2x36 (p34,359,738,441) is just a bit slower than a snail, and 2x62 moves about as fast as Mount Everest grows naturally.
Any other methods of compactly creating arbitrarily slow speeds that people can come up with?

Re: Real Life Speeds

Posted: August 22nd, 2017, 9:41 am
by Saka
Muzik said he wants a ship that grows as fast as toenails. C/43 Quintillion please! What about:
-Bugatti top speed
-Bullet average speed
-Train average speed
-Average car
It just shows how fast light is...

Re: Real Life Speeds

Posted: August 22nd, 2017, 11:19 am
by BlinkerSpawn
Saka wrote:Muzik said he wants a ship that grows as fast as toenails. C/43 Quintillion please! What about:
-Bugatti top speed
-Bullet average speed
-Train average speed
-Average car
It just shows how fast light is...
The 2x66 ship is p(36.9 qiuntillion), or about one-sixth faster than the average toenail.
The rest are relatively close together on a log scale. What other benchmarks are available?

Mildly related: Hyperspeed works pretty well with this rule up until about 2^16 (since for the most part it's just a binary counter), then noticeable slowdowns start to occur, most likely because the movement phase prevents true powers of two timewise.

Re: Real Life Speeds

Posted: August 23rd, 2017, 4:16 am
by gameoflifemaniac
I know about the recursive formula for the period for a 2xN spaceship, but what is the 'real' formula?
EDIT: And is it possible to create a rule where the spaceship's speed gets even slower?

Re: Real Life Speeds

Posted: August 23rd, 2017, 9:02 am
by BlinkerSpawn
gameoflifemaniac wrote:I know about the recursive formula for the period for a 2xN spaceship, but what is the 'real' formula?
EDIT: And is it possible to create a rule where the spaceship's speed gets even slower?
A) The closest I can get to a closed-form equation would be Image
where n is the length of the spaceship.

B) Of course. For starters, I'm pretty sure the rule could - relatively easily - be modified to be a counter in higher bases.

Re: Real Life Speeds

Posted: August 23rd, 2017, 9:34 am
by gameoflifemaniac
BlinkerSpawn wrote:
gameoflifemaniac wrote:I know about the recursive formula for the period for a 2xN spaceship, but what is the 'real' formula?
EDIT: And is it possible to create a rule where the spaceship's speed gets even slower?
A) The closest I can get to a closed-form equation would be Image
where n is the length of the spaceship.

B) Of course. For starters, I'm pretty sure the rule could - relatively easily - be modified to be a counter in higher bases.
I didn't mean higher bases (because it's still exponental). I mean, for example, double exponentialy (y^y^x) etc.

Re: Real Life Speeds

Posted: August 23rd, 2017, 9:43 am
by calcyman
gameoflifemaniac wrote:I didn't mean higher bases (because it's still exponental). I mean, for example, double exponentialy (y^y^x) etc.
For a spaceship of bounding box with side-length N, you're limited to period S^(N^2), where S is the number of states.

You can attain this growth rate by modifying Langton's Loops to have a two-dimensional binary counter in that square void within the loop, controlling the reproductive cycle of the loop. For it to be a spaceship, you'll need the old loop to self-destruct after replication, but that should be straightforward.

Re: Real Life Speeds

Posted: August 23rd, 2017, 11:27 am
by muzik
It's possible to get things that move ridiculously slowly in Life using apporopiately spaced elbow ladders; just get two glider guns, bounce a glider between two of these guns via the glider kickback reaction, and done.

Re: Real Life Speeds

Posted: August 23rd, 2017, 7:28 pm
by Saka
Log(t) growth?

Code: Select all

x = 3, y = 3, rule = ReallySlow
.D$.CB$B!
[[ GRAPH ]]

Re: Real Life Speeds

Posted: August 23rd, 2017, 9:33 pm
by BlinkerSpawn
Saka wrote:Log(t) growth?

Code: Select all

x = 3, y = 3, rule = ReallySlow
.D$.CB$B!
[[ GRAPH ]]
Yup; specifically, log2(t) growth.

Re: Real Life Speeds

Posted: August 24th, 2017, 1:58 pm
by gameoflifemaniac
What about a spaceship that moves slower and slower?

Re: Real Life Speeds

Posted: August 24th, 2017, 2:42 pm
by BlinkerSpawn
gameoflifemaniac wrote:What about a spaceship that moves slower and slower?
Having the backend move every other cycle would do it.
Oddly enough, the period would be increasing at a roughly linear rate :!:

Re: Real Life Speeds

Posted: August 24th, 2017, 4:56 pm
by AbhpzTa

Code: Select all

@RULE SlowSpeeds
@TABLE
n_states:5
neighborhood:Moore
symmetries:none
var a={1,2,3}
var b={a}
var c={0,1,2,3}
var d={c}
var e={c}
var f={c}
var g={c}
var h={0,1,2,3,4}
var i={0,4}
2,a,b,1,0,0,0,c,d,1
1,a,c,d,0,0,0,2,b,2
2,a,0,0,0,0,0,1,b,3
3,a,c,d,0,0,0,1,b,1
1,a,b,3,0,0,0,c,d,3
3,a,b,1,0,0,0,0,0,2
2,c,d,1,1,3,e,f,g,1
1,c,d,e,f,1,3,2,g,2
2,a,0,0,0,3,1,1,b,3
3,a,c,d,e,2,1,1,b,1
1,a,b,3,2,1,c,d,e,3
3,a,b,1,1,2,0,0,0,2
2,0,0,0,0,3,1,1,0,4
0,0,0,0,0,0,3,2,0,1
a,0,c,4,d,e,0,0,0,0
0,1,0,0,0,0,c,a,4,1
a,4,1,h,c,d,e,f,b,4
1,0,0,4,c,d,e,1,0,4
4,a,1,1,i,c,d,b,0,2
4,c,d,1,h,e,f,a,i,1
1,0,0,1,1,4,a,0,0,2
x * y rectangle (x,y>=2), leftmost cells = state 2, other cells = state 1
period = (2x-1)^(y-1) * x + x + 2y - 3
speed = c/period

EXAMPLE
10 * 7 : c/470458831

Code: Select all

x = 10, y = 7, rule = SlowSpeeds
B9A$B9A$B9A$B9A$B9A$B9A$B9A!

Re: Real Life Speeds

Posted: August 25th, 2017, 10:37 am
by gameoflifemaniac
Thanks for the rule!

Re: Real Life Speeds

Posted: August 27th, 2017, 11:40 am
by toroidalet
Here's another arbitrarily-slow speeds ships rule:

Code: Select all

@RULE Slowy
@TABLE
n_states:13
neighborhood:Moore
Symmetries: none
var a={0,1,2,3,4,5,6,7,8,9,10,11,12}
var b=a
var c=b
var d=c
var e=d
var f=e
var g=f
var h=g
4,0,0,1,0,0,0,12,0,3
a,0,0,b,0,0,0,12,0,12
0,0,0,11,0,0,0,0,0,12
0,0,0,11,0,0,0,a,0,0
a,0,0,11,0,0,0,b,0,11
11,0,0,a,0,0,0,3,0,4
11,0,0,a,0,0,0,4,0,4
11,0,0,a,0,0,0,5,0,4
11,0,0,a,0,0,0,b,0,1
1,0,0,3,0,0,0,a,0,2
2,0,0,3,0,0,0,a,0,7
3,0,0,a,0,0,0,2,0,4
2,0,0,7,0,0,0,a,0,7
7,a,b,c,d,e,f,g,h,1
1,0,0,7,0,0,0,a,0,8
0,0,0,7,0,0,0,0,0,9
1,0,0,a,0,0,0,9,0,9
9,a,b,c,d,e,f,g,h,1
1,0,0,0,0,0,0,8,0,6
1,0,0,4,0,0,0,8,0,6
1,0,0,a,0,0,0,6,0,6
1,0,0,4,0,0,0,6,0,6
1,0,0,a,0,0,0,8,0,6
6,a,b,c,d,e,f,g,h,1
8,a,b,c,d,e,f,g,h,2
4,0,0,a,0,0,0,6,0,3
0,0,0,3,0,0,0,0,0,1
4,0,0,a,0,0,0,9,0,5
5,a,b,c,d,e,f,g,h,3
5,0,0,2,0,0,0,a,0,1
1,0,0,a,0,0,0,5,0,2
0,0,0,11,0,0,0,a,0,0
a,0,0,11,0,0,0,b,0,11
2,0,0,a,0,0,0,5,0,10
2,0,0,a,0,0,0,10,0,10
0,0,0,0,0,0,0,10,0,11
10,0,0,a,0,0,0,b,0,1
1,0,0,a,0,0,0,10,0,2
0,0,0,0,0,0,0,10,0,1
11,0,0,1,0,0,0,5,0,4
11,0,0,1,0,0,0,4,0,4
11,0,0,1,0,0,0,3,0,4
12,a,b,c,d,e,f,g,h,0
4,0,0,1,0,0,0,12,0,3
It's heavily unoptimized, but ships get really slow like no one ever was. I realized this could be a 1d rule but I don't care.
To make an arbitrarily-slow ship in this rule place a state-3 cell with a straight line of n≥1 state 1 cells. I'm not sure of the formula but it's bounded below by a double exponential.
Theorem: Before the ship advances one cell, the length of the binary counter on the left is (2^n)+1 if there are n state-1 cells in the ship (or, the ship's bounding box is (n+1)*n). Proof: Every time the left-side counter advances one cell, it counts 1 up on the right counter. The right counter has n cells and 2^n possible states. Right before the ship advances one cell (and destroys the counter on the left), the counter on the right has gone through all 2^n possible states. However, the counter on the left advances one last time before the ship advances, pushing the length of the left counter to (2^n)+1.
Corollary: The ships' speeds are bounded below by a double exponential. Proof: Because the left counter takes ≥2^n counting iterations to get to length n, it needs 2^((2^n)+1) counting iterations to get to length (2^n)+1. Thus, the speed of an n-cell ship in this rule is bounded below by 2^((2^n)+1) generations.
Speeds: (The speeds of the 2*1, 3*1, and 4*1 ships are relatively fast.)
With 4 state-1 cells the speed is c/458776, which is still 653m/s, but with 5, the period is 30064771114 (That’s just over 30 billion) and the speed is 0.01m/s.
The ships look like this:

Code: Select all

x = 7, y = 11, rule = Slowy
CA2$C2A2$C3A2$C4A2$C5A2$C6A!

Re: Real Life Speeds

Posted: August 27th, 2017, 11:49 am
by muzik
On a related subject, are any more 1-state Life-like adjustable-speed rules?

I've managed to reduce the three known ones to their minimum requirements:

B2c3ae4ai5iy6c/S2-kn3ijry4cit
B2ci3ar4a5iy6c/S2-kn3aijry4airt5eiy6c
B2c3aj4nrt5i6c7e/S1c2-en3enr4aet5cey6c7e

Are there any other such rules that don't involve adding trivial transitions that don't affect the evolution of the spaceship at all?

Re: Real Life Speeds

Posted: August 27th, 2017, 3:23 pm
by BlinkerSpawn
toroidalet wrote:I'm not sure of the formula but it's bounded below by a double exponential.
A ship with N state-1 cells has period 7*2^(2^N)+2^N+2N.

Re: Real Life Speeds

Posted: August 27th, 2017, 9:31 pm
by AforAmpere
Can we make a rule with tetrationally increasing period per length?

Re: Real Life Speeds

Posted: August 28th, 2017, 2:39 pm
by gameoflifemaniac

Code: Select all

x = 157, y = 55, rule = Slowy
77.CA2$75.3A.3A$77.A3.A$75.3A.3A$77.A.A$75.3A.3A2$77.C2A2$74.A.3A.3A$
74.A3.A.A.A$74.A.3A.A.A$74.A.A3.A.A$74.A.3A.3A2$77.C3A2$72.A.3A.3A.3A
$72.A.A.A.A.A.A$72.A.3A.A.A.3A$72.A.A.A.A.A.A.A$72.A.3A.3A.3A2$77.C4A
2$67.A.A.3A.3A.3A.3A.3A$67.A.A.A3.A.A3.A3.A.A$67.3A.3A.3A3.A3.A.3A$
69.A3.A.A.A3.A3.A.A.A$69.A.3A.3A3.A3.A.3A2$77.C5A2$60.3A.3A.3A.3A.A.A
.3A.3A.A.A.A.A.A$62.A.A.A.A.A.A3.A.A3.A3.A.A.A.A.A.A$60.3A.A.A.A.A.3A
.3A3.A3.A.A.A.A.3A$62.A.A.A.A.A.A.A3.A3.A3.A.A.A.A3.A$60.3A.3A.3A.3A
3.A3.A3.A.A.A.A3.A2$77.C6A2$41.A.3A.3A.A.3A.3A.3A.3A.3A.3A.A.3A.3A.3A
.3A.3A.3A.A.3A.3A.3A$41.A3.A.A.A.A3.A3.A3.A.A.A.A.A.A3.A.A3.A.A.A3.A
3.A.A.A3.A3.A.A.A.A.A$41.A.3A.3A.A.3A3.A.3A.A.A.3A.3A.A.3A.3A.3A.3A.
3A.3A.A.3A.3A.3A$41.A.A5.A.A.A5.A.A3.A.A.A.A3.A.A3.A3.A.A.A.A.A.A.A.A
.A.A3.A.A.A.A.A$41.A.3A.3A.A.3A3.A.3A.3A.3A.3A.A.3A.3A.3A.3A.3A.3A.A.
3A.3A.3A2$77.C7A2$3A.3A.3A.A.3A.3A.3A.3A.3A.3A.A.A.A.A.3A.3A.3A.3A.3A
.A.A.A.A.3A.A.A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.A.A.3A.3A.3A.
3A.A.A$2.A3.A.A.A.A.A.A3.A.A3.A3.A3.A.A.A.A.A.A.A3.A3.A3.A.A3.A.A.A.A
.A3.A.A.A3.A.A5.A3.A3.A.A5.A.A.A3.A3.A3.A3.A3.A.A.A.A.A.A.A3.A3.A.A.A
$3A.3A.3A.A.3A3.A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.
3A.3A.3A.3A.3A.A.A.3A.3A.3A3.A3.A.3A.3A.A.A.3A.3A.3A$A5.A.A.A.A3.A3.A
.A.A3.A.A.A.A.A3.A3.A.A.A3.A.A.A3.A.A5.A3.A.A5.A3.A.A.A.A3.A3.A5.A.A
3.A.A.A3.A5.A3.A3.A3.A.A.A.A.A3.A3.A3.A$3A.3A.3A.A.3A3.A.3A.3A.3A.3A
3.A3.A.3A.3A.3A.3A.3A3.A3.A.3A3.A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A.3A3.A
3.A3.A.3A.3A.3A.3A3.A!

Re: Real Life Speeds

Posted: August 30th, 2017, 7:55 am
by Saka
Lemme join in with my own rule, it's 7 states and it's based on a binary counter and it's not very slow, colors added for easy viewing:

Code: Select all

@RULE BinSlow

@TABLE
n_states:7
neighborhood:vonNeumann
symmetries:none
var a={0,1,2,3,4,5,6}
var b=a
var c=a
var d=a
#IMPORTANT
a,b,c,5,d,4
1,b,c,6,d,6

0,a,b,c,1,2
2,a,b,c,1,3
2,a,b,c,3,3
0,a,b,c,3,2
3,a,b,c,d,0
4,2,0,0,4,5
5,a,b,c,d,0
4,1,5,b,c,6
4,a,5,b,c,5
6,1,b,c,d,0
6,a,4,b,c,4
0,a,b,6,c,1

@COLORS
0 48 48 48
1 255 0 0
2 0 255 0
3 0 230 0
4 0 108 255
5 0 178 255
6 0 255 255
Example:

Code: Select all

x = 23, y = 21, rule = BinSlow
5.3D$5.D.D6.A$5.3D6.3D$5.D.D$5.3D4$3.3D.3D$5.D.D$3.3D.3D4.A$5.D3.D4.
6D$3.3D.3D4$3D.3D.3D$2.D.D.D.D.D3.A$3D.D.D.3D3.9D$D3.D.D3.D$3D.3D.3D!

Re: Real Life Speeds

Posted: September 1st, 2017, 2:11 am
by Saka
Has there been exploration and investigation on how to make things go slow in CA or the like?
In other words, has anyone investigated methods to go slow?

Re: Real Life Speeds

Posted: September 1st, 2017, 8:01 am
by BlinkerSpawn
Saka wrote:Has there been exploration and investigation on how to make things go slow in CA or the like?
In other words, has anyone investigated methods to go slow?
Well, that's part of what this thread is about: methods of creating really slow things without also creating really big things (e.g. a 3-by-7.94e+29 muzikship):
I, in the original post, wrote:Any other methods of compactly creating arbitrarily slow speeds that people can come up with?
If you're talking about 2-state isotropic rules, there's been very little investigation into that outside of Life.

Re: Real Life Speeds

Posted: September 1st, 2017, 8:33 am
by Saka
I have a few ideas that I am too lazy to make:
1. Similar to AbphzTa's but it goes in a spiral/square and each layer goes the opposite direction of the previous layer.
2. Similar to AbphzTa's but combine it so that each layer is a binary counter.
3. 2 different counters on either side of a line. When the 2 counters are the same in cell positions/value (pick one), the spaceship advances one. Or for even alower things, make the middle line a binary counter... the main problem with this is finding good types of counters that meet up.

Re: Real Life Speeds

Posted: September 1st, 2017, 12:01 pm
by gameoflifemaniac
I would like a rule where the spaceship period grows triple/quadruple/quintuple... exponential per length.
It would work similar to toroidalet's Slowy rule. The spaceships would look like an L upside-down. The bottommost cell would make a counter. If it gets to the edge, it would advance a second counter. If it overflows, it would advance a third counter etc. The last counter would be limited. If the last counter overflows, the spaceship would move.
That would be amazing!

Re: Real Life Speeds

Posted: September 1st, 2017, 1:24 pm
by BlinkerSpawn
I personally was thinking of an idea that would definitely violate the size criterion but it would be a row of counters, where each one sets the length of the next by its period in a similar fashion to a sawtooth or a long-distance constructor (fast signal catches slow signal).
The resulting ship would have period (and size) on the order of 2^2^2^2^...^2 for some number of exponents defined by how many counters there were.