Randomness in rules

For discussion of other cellular automata.
Post Reply
User avatar
Saka
Posts: 3626
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Randomness in rules

Post by Saka »

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)
jarring cyan
User avatar
Alexey_Nigin
Posts: 326
Joined: August 4th, 2014, 12:33 pm
Location: Ann Arbor, MI
Contact:

Re: Randomness in rules

Post by Alexey_Nigin »

No.
There are 10 types of people in the world: those who understand binary and those who don't.
User avatar
Saka
Posts: 3626
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Randomness in rules

Post by Saka »

Ok



Can somebody close or delete this topic?
jarring cyan
User avatar
praosylen
Posts: 2449
Joined: September 13th, 2014, 5:36 pm
Location: Pembina University, Home of the Gliders
Contact:

Re: Randomness in rules

Post by praosylen »

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.
former username: A for Awesome
praosylen#5847 (Discord)

The only decision I made was made
of flowers, to jump universes to one of springtime in
a land of former winter, where no invisible walls stood,
or could stand for more than a few hours at most...
User avatar
Billabob
Posts: 160
Joined: April 2nd, 2015, 5:28 pm

Re: Randomness in rules

Post by Billabob »

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.
▄▀
▀▀▀
User avatar
SuperSupermario24
Posts: 127
Joined: July 22nd, 2014, 12:59 pm
Location: Within the infinite expanses of the Life universe

Re: Randomness in rules

Post by SuperSupermario24 »

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

7b2o2bo4bobo$obob2o5bo2bo4bobo$2bo4bo2b2o3bo4b2o$2o2bobo3bob2obo3bo$ob
ob2obo3bobobob3obo$4bo6b2o3bobo2bo$2o2bo2b2o11bo!
BartekChom
Posts: 4
Joined: April 19th, 2013, 3:50 pm

Re: Randomness in rules

Post by BartekChom »

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.
Post Reply