Circle generating rules

For discussion of other cellular automata.
Post Reply
User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Circle generating rules

Post by simsim314 » April 24th, 2020, 1:54 pm

During experimentation with isometric rules, I've discovered some of the rules are generating a perfect circle.

An example (run for 5K generations):

Code: Select all

x = 7, y = 9, rule = B2cn3acekq4air5-acn7e/S12k3-jkn4airtw5acjnq6-ce78
3bo$bob4o$5obo$6o$4o2bo$7o$b5o$bobob2o$3bob2o!
As the grid is square based I had the question of how this happens and why?

My explanation is a stochastic fire theory. Imagine that each fire state (1) that can either 1. remain fire state 2. become stable state, and copy itself to 8 neighbors, converting all Moore neighbors 0->1 (fire). Lets say fire becoming a stable state with probability 0.1. The claim is that this is what happens to circular rules as well.

To test the theory two tests were conducted:

1. The test with rule = B2cn3acekq4air5-acn7e/S12k3-jkn4airtw5acjnq6-ce78

1.1. Generating an average histogram of fire expansion 100 times from initial random [11, 11] square. Expecting to see a circular pattern:

Example of single histogram (generated by roberband.txt python script):
single.png
single.png (28.37 KiB) Viewed 2147 times
Averaging such 100 (statistical_raberband.txt):
Average.png
Average.png (16.75 KiB) Viewed 2147 times
1.2. Same as 1.1 but initial is two squares: one [11, 11] and another random moved by 200. Expecting to see two merging circular patterns:
double.png
double.png (22.87 KiB) Viewed 2147 times
2. The same can be seen with stochastic fire simulation (robersimulation.txt):

Single circle stochastic:
stochastic_single.png
stochastic_single.png (19.62 KiB) Viewed 2147 times
Averaging single circle stochastic:
stochastic_single_avg.png
stochastic_single_avg.png (12.57 KiB) Viewed 2147 times
Two circles stochastic:
stochastic_double_avg.png
stochastic_double_avg.png (14.17 KiB) Viewed 2147 times
-------------------------

The rule was found by radial_search.txt. About 0.1%-0.2% of random isometric rules (with P_flag = 0.6) generating a circle.

Some more examples:

Code: Select all

x = 10, y = 10, rule = B2-a3ejqr4aeknt5aeiq6cek8/S2-an3aeijn4-iknqt5air6-cn7c
2b2obob3o$obo4b2o$2bob2obo$2obo2b4o$3obo4bo$bob2o4bo$ob2obobo$2bo2b2ob
o$4ob2obo$bo2bobob2o!

Code: Select all

x = 10, y = 10, rule = B2cek3-einq4-kqrt5-ijkn6an/S2e3-aqr4cekrt5ajknr6ei7
bo2bobo2bo$2b7o$bobo2bobo$3bobo2b2o$ob3o2bobo$b2obob2obo$3o2bobo$obo3b
ob2o$2obo3bo$2b4o3bo!

Code: Select all

x = 10, y = 10, rule = B2ek3-jkqy4acikrty5-aijq6-ik8/S12k3-acjr4qz5cjk6aei
bob5obo$o6b3o$bo4bo$bo3bo2b2o$2o2b2o3bo$6o2b2o$obo2b2obo$b2o2b3obo$6ob
obo$2bobobob2o!
Attachments
radial_search.txt
(2.92 KiB) Downloaded 138 times
robersimulation.txt
(1.54 KiB) Downloaded 141 times
statistical_raberband.txt
(682 Bytes) Downloaded 133 times
roberband.txt
(1.57 KiB) Downloaded 140 times

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: Circle generating rules

Post by Hunting » April 25th, 2020, 9:05 pm

Nice work!

Minor point: There's really no point to make as cript that searches for this kind of rules, since such rules are common. Here's an example, made in 30 seconds:

Code: Select all

x = 31, y = 21, rule = B367/S45678
2bo$bo8b5o$o3b3o2bo5b2o$o6b2o8b2o$o4b8o6b2o$bob3o2bo4b9o$b2o2bo2bo12b
4o$4ob4o11bo4b2o$2b6o11b2o6b2o$5bo2b5o4b2o10bo$5bo7b18o$5bo7b2o$5bo5b
2o$5bo3b2o$5bob2o$5b2o$4b2o$5bo$5bo$5bo$5bo!

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Circle generating rules

Post by simsim314 » April 25th, 2020, 10:00 pm

Hunting wrote:
April 25th, 2020, 9:05 pm
since such rules are common
The script allows to collect stats about how common they are in isometric space rule set.

User avatar
Layz Boi
Posts: 265
Joined: October 25th, 2018, 3:57 pm

Re: Circle generating rules

Post by Layz Boi » April 26th, 2020, 4:25 pm

That's pretty neat and intriguing how they become circular!
I don't have anything to add, so I'll just post some oscillators and things in some of those rules. :)

Code: Select all

x = 108, y = 116, rule = B2cn3acekq4air5-acn7e/S12k3-jkn4airtw5acjnq6-ce78
55bobo$54b2ob2o$55b2o$58bo$57bo7$83bo$57bo12b2o9b2o$55b2o13b2o11bo$57b
o12$10b2o16b2o10b2o10bo3b3o9bo6b4o10bo3b3o5bo4bo$3bobo3b4o7bo4b2o4b2o
4b3o2b3o7bo4b2o8b3o5b4o8bo6b2o6b4o$10b2o8bo3b3ob2ob3o3bobo2bobo6bo16b
o7b2o8b2o4b2o6bo2b2o2bo$25b2o4b2o4bobo2bobo7b2o5bobo4b2ob2o3b6o6b2o5b
o7b2o2b2o$17b2o9b2o7b3o2b3o7b2o12b2ob2o3b2o2b2o5b2o14b2o2b2o$3bo5bo7b
o22b2o10bo15bo4bo6bo5bo13bo2b2o2bo$9b2o5bo50b3o3bo6bo21b4o$3bobo3b2o57b
o5b2o2b2o21bo4bo$5b2o3bo17bobo25bobo15b6o$4b3o32b4o33b2o10bobo$6bo19b
obobobo5b6o10bo3bobo14b4o$11bo4b6o16b6o31b4o7bo3bobo$10b2o3bo2b2o2bo3b
obobobo6b4o11bobobo$4bo6bo4bob2obo64bobobo3bo$16b6o6bobo25bo$2bobo11b
6o17bo2bo45bo3bo$16bob2obo16b6o$9bobo3bo2b2o2bo15b6o46bo$16b6o8b2o6b6o
$2bo6bobo17bo2bo5b6o$3bo25bo2bo6bo2bo$3b2o24b4o$5bo22b2o2b2o$28b2o2b2o
$8b3o18b4o$3b2o4b2o18bo2bo$9bo19bo2bo$2b4o24b2o$3b2o$9bo$9b2o$8b3o$3b
3o4bo$2b3o$56b2o2b2o2b2o2b2o2b2o$4bo4bo46b2o2b2o2b2o2b2o2b2o$4bo4b3o42b
22o$8b3o43b22o$10bo45b12ob5o$2bo53b3obob5obob4o$2bo51b6o3b5ob7o$3bo6b
o43b6ob6obob6o$4b2o2b2ob2o43b4ob7ob5o$10bo45b18o$54b22o$4bo49b22o$3bo
bo50b18o$2bobobo49b4o2b12o$bobobobo46b6o2b14o$2bobobo47b5o3bob12o$3bo
bo50b4o2b12o$4bo5bo45b4o2b12o$10bob2o40b22o$9bobo42b22o$5bo3b3o44b2o2b
2o2b2o2b2o2b2o$5bo4b3o43b2o2b2o2b2o2b2o2b2o$4bobo$4b3o$2b3ob3o$2obo3b
ob2o$2b3ob3o$4b3o$4bobo$5bo$5bo7b2o$8b2o$10b2o$10b2o$8b2o$13b2o2$b2o6b
2o$b10o$2bob4obo$2b8o$2b3o2b3o$2b3o2b3o$2b8o$2bob4obo$b10o$b2o6b2o4$5b
3o$5bobo$5bobo2$6bo$6bo!

Code: Select all

x = 101, y = 19, rule = B2-a3ejqr4aeknt5aeiq6cek8/S2-an3aeijn4-iknqt5air6-cn7c
2bo20bo70b2o3b2o$13bo9bo5bo6bo23bo15b2o6b3o7bob3obo$2ob2o7b3o7b3o5bo3b
2o6bobo6b2o7bo15bo7bob2o7bo3bo$2ob2o8bo13b2obo4bob2o2b2ob2o4bo2bo4b5o
16bo4b3o8bobobo$2ob2o25bo3b2o5b2ob2o4bo2bo5bobo6bobo7b2o4b3o8bo3bo$2o
b2o14b6o4bo6bo5bobo6b2o6bobo6bobo23bob3obo$5o14b2o2b2o41b2o3b2o21b2o3b
2o2$66b2o3b2o12bo$28bobo5bo5bo9bo15bobo14bo$23bo5bo4bo5b5o6b3o14bobo13b
4o$24bo3bobo6bo4bo7b2ob2o$35bo13b2o3b2o29b4o$50b2ob2o32bo$42b2o7b3o33b
o8bob2o$23bo5bo5bo5bo10bo46bo$24b2o4bo5b2o5bo52b2o$23bo4bo4b3o5bo55bo
bo$33b2o!

Code: Select all

x = 50, y = 11, rule = B2cek3-einq4-kqrt5-ijkn6an/S2e3-aqr4cekrt5ajknr6ei7
4bo2bo14bo$o4b2o4bo5bo3b2o11b2o$bo3b2o4b2o3b2o4bo9bo3bo6b2obob2o$4bo2b
o3bo4bo5bo10b2o8b2o3b2o$21bo23bobo$43bo2bo2bo$45bobo$27bo15b2o3b2o$2b
o3bo4bobo4bo8b3o13b2obob2o$2o17b3o4b3o$bo4bo4bobo5bo2bo5bo!

lemon41625
Posts: 354
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Circle generating rules

Post by lemon41625 » April 26th, 2020, 9:45 pm

Oblique Wickstretcher

Code: Select all

x = 62, y = 101, rule = B367/S45678 
7$45b7o$44b7o$44b7o$43b7o$43b7o$42b7o$42b7o$41b7o$41b7o$40b7o$40b7o$39b 7o$39b7o$38b7o$38b7o$37b7o$37b7o$36b7o$36b7o$35b7o$35b7o$34b7o$34b7o$ 33b7o$33b7o$32b7o$32b7o$31b7o$31b7o$30b7o$30b7o$29b7o$29b7o$28b7o$28b 7o$27b7o$27b7o$26b7o$26b7o$25b7o$25b7o$24b7o$24b7o$23b7o$23b7o$22b7o$ 22b7o$21b7o$21b7o$20b7o$20b7o$19b7o$19b7o$18b7o$18b7o$17b7o$17b7o$16b 7o$16b7o$15b7o$15b7o$14b7o$14b7o$13b7o$13b7o$12b7o$12b7o$11b7o$11b7o$ 10b7o$10b7o$9b7o$9b7o$8b7o$8b7o$7b7o$7b7o$6b7o$6b7o$6b6o$5b6o$6b3obo$ 7bo!
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Post Reply