## Randomness in rules

For discussion of other cellular automata.
Saka
Posts: 3188
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X
Contact:

### Randomness in rules

Is it possible to have a random transition in rule tables?
(E.g.
State 1 has a 25% chance to turn to state 2
25% turn to state 0
25% turn to state 3
25% no change)

Code: Select all

x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!  (Check gen 2) Alexey_Nigin Posts: 323 Joined: August 4th, 2014, 12:33 pm Location: Ann Arbor, MI Contact: ### Re: Randomness in rules No. There are 10 types of people in the world: those who understand binary and those who don't. Saka Posts: 3188 Joined: June 19th, 2015, 8:50 pm Location: In the kingdom of Sultan Hamengkubuwono X Contact: ### Re: Randomness in rules Ok Can somebody close or delete this topic? Code: Select all x = 17, y = 10, rule = B3/S23 b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!

(Check gen 2)

A for awesome
Posts: 1994
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1
Contact:

### Re: Randomness in rules

In response to this, I modified my JS cellular automata program on Khan Academy to support a random transition (in this case, survival): https://www.khanacademy.org/computer-pr ... 6456716288

The result is interesting. If the half-life of a cell (var halfLife) is set to a low number (5 to 20), the pattern quickly coalesces into blocks, which decay slower than everything else. With higher half-lives, some other stable objects show up temporarily, but eventually everything but blocks decay (and eventually so do blocks). It is unfortunately impossible to engineer, because sheer random chance will eventually overwhelm everything. However, it might be interesting to see the result of a random transition inserted into Evoloop, for instance.
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce

Billabob
Posts: 146
Joined: April 2nd, 2015, 5:28 pm

### Re: Randomness in rules

Yes, a very low chance of a mutation in rules with a lot of small replicators could be interesting -- they could, in theory, simulate evolution.
▄▀
▀▀▀

SuperSupermario24
Posts: 120
Joined: July 22nd, 2014, 12:59 pm
Location: Within the infinite expanses of the Life universe

### Re: Randomness in rules

Billabob wrote:Yes, a very low chance of a mutation in rules with a lot of small replicators could be interesting -- they could, in theory, simulate evolution.
...Me gusta.

Code: Select all

bobo2b3o2b2o2bo3bobo$obobobo3bo2bobo3bobo$obobob2o2bo2bobo3bobo$o3bobo3bo2bobobobo$o3bob3o2b2o3bobo2bo!

BartekChom
Posts: 4
Joined: April 19th, 2013, 3:50 pm

### Re: Randomness in rules

I use a script to add randomness to rules. Now it is in this form:

Code: Select all

import golly
import random

golly.autoupdate(False)
golly.setstep(0)

side = 256

while 1:
for i in range(1, random.randint(1, 100)):
golly.setcell(random.randint(-side/2, (side-1)/2), random.randint(-side/2, (side-1)/2), random.randint(0, 1))
golly.step()

In fact, I keep in the file a lot of commented out ideas to turn on and off:

Code: Select all

import golly
import random

golly.autoupdate(False)
#golly.setrule("B0234678/S:T101,101")
golly.setstep(0)

side = 256

#for n in range(1, 10000000):
while 1:
#while random.randint(1, 10) <= 1:
for i in range(1, random.randint(1, 100)):
#for i in range(1, 10):
#golly.setcell(random.randint(-side/2, (side-1)/2), random.randint(-side/2, (side-1)/2), 12)
golly.setcell(random.randint(-side/2, (side-1)/2), random.randint(-side/2, (side-1)/2), random.randint(0, 1))
#golly.setcell(random.randint(-50, 50), random.randint(-50, 50), random.randint(0, 4))#Zycie-I-Mozg:T101,101#PetelkaPrim:T101,101
#golly.setcell(random.randint(-500, 500), random.randint(-500, 500), random.randint(0, 23))#GoucherLoops:T1001,1001
#golly.setcell(random.randint(-50, 50), random.randint(-50, 50), random.randint(0, 8))#SDSR-Loop:T101,101
#golly.setcell(random.randint(-250, 249), random.randint(-250, 249), random.randint(0, 8))#SDSR-Loop:T500,500
#golly.setcell(random.randint(-50, 50), random.randint(-50, 50), random.randint(0, 1))#B3/S23:T101,101
#golly.setcell(random.randint(-50, 50), random.randint(-50, 50), random.randint(0, 5))#Byl-Loop:T101,101
#golly.run(64)#8*8*8*8
golly.step()
#golly.update()

Of non-exploding rules with natural gliders I have checked, only Conway's life (B2/S23), its close variants (B38/S238, B3/S238, B38/S23 and maybe B368/S238) and Stains (B3678/S235678) get exploding with slight randomness. In other such rules, all pattern die out, unless there is S0 and vacuum gets trivially polluted. Interesting that also rules B/S1234 and B/S123 without deterministic birth get exploding.

It seems that with bigger randomness Pseudolife (B357/S238) becomes exploding. Patterns in Conway's life start to die out if probability of random death is bigger than of random birth. However, this means that if some replicators that grow in vacuum are possible (ant theoretically they are), they would finally appear spontaneously and start competing.

Many maze-like rules like B3/S12345 transform into parallel lines (with some holes) with randomness. Other rules with static end state either get more chaotic or less.

I was giving a flash talk about slight randomness (epsilon indeterminism) in cellular automata and I have prepared notes, but very short and in Polish.
Billabob wrote:Yes, a very low chance of a mutation in rules with a lot of small replicators could be interesting -- they could, in theory, simulate evolution.
In theory. In practice Eveloop and Sexyloop are projected to have evolution without randomness and the loops are getting smaller and smaller. SDSR loop and GoucherLoops have loops that keep replicating with small perturbations (even though such perturbations create ash), but I have not seen evolution. Even slight pseudorandomness makes rules much slower then full speed of the HashLife algorithm.