Larger than Life

For discussion of other cellular automata.
User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Generations LtL

Post by martin.novy » March 25th, 2020, 12:02 pm

A small discovery: R2 rules seem a bit more GoL-like after changing C0 to C3!

Code: Select all

x = 50, y = 159, rule = R2,C3,M1,S6..10,B7..8,NM
49o$
60b49o$
60b49o$
120b49o2$
120b49o$
180b49o3$
180b49o$
240b49o4$
240b49o$
80$
18b2o$17b2o$16b2o$15b2o$14b2o$13b2o$12b2o$11b2o$10b2o$9b2o$8b2o$7b2o$
6b2o$5b2o$4b2o$3b2o$2b2o$b2o$2o
40$
18b3o$17b3o$16b3o$15b3o$14b3o$13b3o$12b3o$11b3o$10b3o$9b3o$8b3o$7b3o$
6b3o$5b3o$4b3o$3b3o$2b3o$b3o$2o!

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

merely some LtL research questions

Post by martin.novy » March 25th, 2020, 12:34 pm

1. What is the shape of the "habitable zone" ... the region in the parameter space that supports natural spaceships ... could it be nearly convex? or a union of a few nearly convex regions?
2. Which rules are the most GoL-like: the rules in the center of the region, or the rules at the extremes of the region?

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

newly found R3 rule parameters, that support natural spaceships

Post by martin.novy » March 29th, 2020, 11:46 am

my first results:

https://docs.google.com/spreadsheets/d/ ... edit#gid=0


One of the new rules:

Code: Select all

x = 92, y = 80, rule = R3,C0,M1,S12..23,B15..23,NM
2obo2b3obob3ob3o2bo2bob2o8bobobo2b2o2b2o2b3o4bo2b2o3bob2obo2b3o2bo5bob
3o$o6bobobo3bobo3b2o2bo3b5obobobo2bo2bob4ob5o3b2ob3obobo3b4o4bob3ob2ob
2o$o3bo2b4obobo2bo3b4ob3obob2ob7o4bo2bob2ob2o2bo2b3o2b2ob4ob4ob2o2b4ob
3o$2obob2o5bob2o2bo2bobobo2b2o2b2ob2o5bobob10o4b3obo5b2ob3obob3o3b2ob
4o$b2ob3obo2bob4ob2o3bob2obobo3b4o4bobobo3b2o2b2obob6obobob2o2bob2o4b
5o3b2o$2bo2bo3b2obob4o3bo4b3o2b2o5b4o3b3obobo3bo2b3o2bobobo8bo2bob2o2b
2ob2obo$b2obobo3b3obobo4b7obo2bo2bob6ob4ob3obob2ob2o2b2o2b2o5b2obobo3b
2obobo2b2o$2ob2o2b2o4b2o2b5o4bob3o3b2o2bob4ob2ob6ob2ob3ob5o2b2ob3o6bob
o5bobo$6bo5b3o2bobobo2bobobobo2b2o2bob3obo2b5o2bob2o2b2obo3bobobo3b3ob
3obo6bobo$7o5bo2b2o2bobob2o3b2ob2o2b9o2bo5b2ob2obo3bob2o3b3obo3b2o2b2o
b2o2bo2bo$2b8ob2obobo2b4o2b3o5b3o3bobob2o4b3o2b2o2bo5b2o2b4obo2b6o3bo
2bo2bo$2ob2o2b4o5bo4b3o3bo3b2ob2obo3bo3b3o2bo2b4ob6ob3ob3o3b2obobob2o
3bob2o$2o3bob4obo2b2o2bo5b5o3b2obob4obobo5bo2b4o2bo2b4o2b2obo5b2o2b7ob
o$3obo4b5ob2ob2ob8o5bo4bobo2b2ob2o3b2ob2ob2o2bob2o5b3o5bobo7bobo$3bobo
b2o3bobobobob5o2b6ob3obo3b2o4b3o4b2o2b2obob3o3bo3b5o2b2obobo3bo$b2obo
2bob4obob2o2bob2obob5ob2ob2o2b3o3b2o3b2obobob3o2bo2b2ob6o5b2o2b2obo2bo
$bobobo4bob6ob2o2bob3obob2ob2o2bobob2ob2obob3obo2bob2o6b6ob4o5bob3ob2o
$3o4b2obobo2b2o4b3o3b2o3bob2o2b2obo3b4obobob2o2b2o2b7ob2ob3o2b2ob3obob
o2bo$bob2obo2b4o2b5o3bobobob2o4bo2bo2b2ob5ob2ob4o3b2obobob3ob2o2bo2bob
o3bo4b2o$o2b2o5bob2o5bo2b4o2bobo4b2obo5bo3bobob2obo2b4o2b2o2b2obobobo
6b2ob2obo$bo3b4ob2ob2ob3o5b2ob4ob2ob2obobo3b2o2bo7bo3b5obobob4obobo3bo
b3obobobo$2bob5obo2b2o6b2obo4b2ob2obobobo3b2obobo3b3obo2bo2bo3b2o2b3o
4b2o3bob3o3b2o$3b2o2bo4bob3o3bo6b4ob2ob4o3bob2o2bob3obob2obo3bo3bob3o
2bob2o5b2o3b2obo$2b3obo3bo4b6o2bo3bo3bo2bobob2obo2bob6obob3obo2b3o4bo
2b2ob2ob2o2bobo3bobo$4bo2b3o2b2obob2ob7ob2o8bo3bo8b3obob3o2bob3o3b6o2b
4o4bo2b2o$2o2bo2b2ob2ob3o3b4o13b2obob3obobo3bo3b4o2b2obo2b4o2bo2bobob
5obobo$4ob2o2b2o3bobob2obob3o3bo6b2o2bobo4b2ob2ob2ob3obo2bo2bob6obo4b
2obo5bo$obo3b2ob2o4bobobobo4b3o2bobobo3bobob3o2b3ob7o4bo2bo4b3o3bob2ob
o2bob2o$b2o2bobobob2o3bo9bob2ob2o7bo5bob3o4b6o4bob2obob2o3b3o3bo3bo$bo
b2ob2o3b2o6bob4o2bo2b2o2bo2bo2b2o4bo4b2o3b4o3b2o3b2o3bob3obobobo2bo2b
2o$5o2b2obob2o2b5ob3ob2ob3ob2ob3ob3o5b2o6bo2bobob2o2bobobob2ob3obob8o$
3bo2bo2bobob2ob4obob2o2bo3b4obo2bobob2o3b2ob5o2b2ob2o6bo3b2obobo2bo2bo
6bo$o2b3o3bo2b2o2bo2bo4b2obo2bobob2o2bo2bo2bo4b2ob5ob3ob2obo2bo5bo7b5o
2b2o$2obob3obob3ob2o2bo2bo5b3o3bo3b5o2bobo2bo3bob2o2bob2o4bobob3o2bobo
2bo5bo2bo$9ob2obob3ob2o2bo3bob2obo3b2obo2b2ob2obobob2o3bob10o2b2ob2o4b
o2b2obobo2bo$b2o2b9obobob4obo2bo2b4ob3o4b4o3bob2ob5o5b3o2bob4ob2obob2o
bo2bob3o$obobob3obo2bobo3b3o2bob3o4b5o2b2ob2o4b2o3b2o3b2ob4obobobo2b2o
b2ob2o5bo2b2o$11b2o2b2ob2obob5o2b2obo2bo8bobob4obo2bobob2o2bo3bob3obo
2bo2bo4b6o$b2obob4o4bo2b4o3b2o7bo3bobob2ob2obobo2b5o4bobo5bo3bobo4bobo
2b2o4bo$obobo3b4obo2bo2b2o6b2ob2o2bo2b3obobob2ob2obob3ob5obobobo2bob5o
b5o4b2ob2o$obob2ob4obob3obobob3o3b2o2bo3b3obob3ob5o3b6obob3o2bo2b2ob4o
b2o2b2o2bob3o$3b2obo2b5o3bo2b3ob2o6bo4bob3obo4b3o2bob2o2b3o2b2o2bob3ob
2ob2ob3o2b3o$o2bo2bo2bob5ob2o3bo3bo3b4o2bob6obobobob3o3b3o3b2obobo3bob
2obobob3o3bo$2ob2o2bobo2b4ob2obo2b3obobo3bob6o2bob2ob2o2bobo2b3o4b3ob
2obo6bobobobobob4o$5b2o6bobo2b5obobo2bo3bo3b3obob4o2bo2bo2b2o2b3ob4obo
2b4obo4b3obo2bobo$o3bo2b2o2b2o2b3obo2bobob3obob2o7bo3bo4b3ob5obo3b2ob
2o2bo3bo2bo3bob4ob2o$2bo2b5o2bo8b2o7bobobobob2o2bo2b2o3b2obob2obobo5b
2obo2bobo2b2o2bo2b3o3bo$3o2b2ob4ob4obob2obobo2b2obo3bobobo2b3o2b3o2b2o
2b2o2b2o3bo3b2o2b2o5bo3bobobobo$bo2bob2ob2ob3obobo2b2ob5o2b2o2b2obo3b
2o2b2o2bobo3bo5b2obob4ob2o3bobo2b3obobo$b2o3bob7ob2o3b3o11bobob3o4b3ob
2o6bobo3b4obo3bobo3b3o6b2obo$o3bob2o2b2ob2o2bobob3ob2o2b2o2b3o3bobobo
6b6ob2o3bobob2o2b2o2bobobob2ob3o4b2o$3bobobo4b5o5b4o5b7o4bob2o2b4o4bo
3b2obo4bo2bo2bob3o2bob2o2bo2b2o$4bo3bo3b2o4b2o2bob2ob2o3b5o2bobob2ob3o
5b2o2bo3bob3o2bo3b3o2b2obo2bobo2bobo$o4bob2obo4bob2o3bobo2bo3b2o4bo3b
2o2bo2bo2bo2bobo2bob4o7b3o3b2o4b3o2bo$2ob3o2bobob2obo7b3o2b2ob4o3bo2bo
b3obobobo2b2o3bo5b2obo2b2obo2b2ob3o2b2o2b3o$2bo4bo2b2o2bobo2bo2b3obobo
bo5b3o3bo3b3obob2o2b5o4bob3ob2ob2o2b2obo2bob2o2b2o$4o7b6obo3b3o2bo2bob
4obo3bobo2bo2bo2bob2ob2ob3o7b2o2bo2b2obo4bo4b2o$o2bo2b2ob3ob2o4bob2o3b
ob3ob4ob6o2bo3bobo4b2o6b2o2bobob6o3bobobo3bo$bobobo4b2ob2o4b3o2b2ob2ob
4o2b4ob3obob2o3b6ob3obob2o3b4o2bo4bobo2bo$bob2obobo2bo5bo2bo2bo4b2o2b
3obo6b3o3b3ob4o2bobo3bob2o6b5o2bo2b2ob2obo$b2o2bob3o2bo3b4ob2o3b2o5bo
2b5o3b2o2b2obo2b3o3bo3b3ob3o7bo2b3obo2bo2bo$bo2bobo2bobo6b2ob3o2b2ob3o
bo2bob2ob2o3b5ob2obo2b3ob2ob2o2bo2b2obobo4bo7b2o$ob3o2bobob2obo3b2o2bo
4b4ob2o4b3obob2obo2bo8b4o2bo2b3o3bo2bob2ob2ob2obo$2bob2obob5o2bob5o2b
3o2b2obo3bo2bo5b2o2b2ob2obob2obo2bobobob2o3bobob2o4bob2ob2o$2bob7ob4o
3b2obo2b2ob2obobo7bo5bobob2obo3b2ob2o2bob3o2b2o2b7o2b2o3b2o$4b3ob3ob2o
b5obo3bob6o4bob2o2b2ob3ob2obobob3obob3o4b3o6b4o4b2o2bo$2ob5o4b3o3b2obo
5b2o7bobobo2bo3b2o5b2o3b3obobo2b5ob3ob3ob2o7bo$o2b2obob2obob6o2bobo2bo
b2o4b3o6b2ob3obob5o2bo7b4ob2o3b6o5b2o$o2bobobo3bob2obob3obobob3obob3o
2bo2b2obob2obobo3bo2b2ob2ob2o4bob7ob6obo3bo$2obob6ob4o4b2o2bob2obobo3b
ob3o2bobo2bobob2obo2bo2bob2obo3b4o2b4ob2o2bo2bobobo$7b3obob4obobob3o4b
6o2bo2bob2o4bob5o2bobo2b3obob2o3b2ob2obob5o2bo2bo$2o3b3ob3o4bo2b2ob4o
2b3o2bo3bo4b3o2b3obo3b2ob6o2bo2bob11o3b3o2bo$4obob3obo2b3ob2o2bo4b5obo
4bo2b3o2bob2o2bob3o2bob3o4bo7bobo3bob3o2bobo$b2o3bobobob6o5b3ob2obob4o
2bob2obo2b3ob4o2bo2bo2b2obobobo2b3ob3o2bo3bo3bobo$3bob4o3bobobobob2o2b
2o2bo3bo3bob4ob3o2b2obob2o4b2ob2ob2obo2bo2bob5obob2ob2o$b2obo2b4o2bo2b
3ob2ob2o6b7o6bo5b2obo5b2ob3o3b2obo3bob2ob6o4bo$9bobobob2o4b2obo2b5o2bo
bobo2bob5o6b7o2b2ob3o5bob8o3bob2o$2b2ob3ob3ob2obobo3bobo6b2obo2bo2b3ob
2o5bo2b4o2b2o5bo2b3o4bobo3b4o3b2o$obob2obo6b2o2bob3ob2o2bob3o2bob2obob
4obob3ob2ob3ob5o2bobobo4b2o3bobo2bo$3ob2obobobo3bo2bobob4o3bobo3bobo2b
3ob8o2b2o3b5obob6obobob2obo2bo4b3o!

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 5:47 am

R3 LtL seem much more interesting than R2 LtL

a relatively long-boiling soup (for a LtL) ... approx. 80*80, approx. 900 generations

Code: Select all

x = 81, y = 79, rule = R3,C0,M1,S12..19,B12..14,NM
4ob2o2bo4bo3b2o6bo2bob6o3bob4o3b2o2b2ob4o2b2o13b2obo$2bo6b2obobobob2o
2b2o2b5ob7ob2ob2o2b2o2bobob2ob3o5bobo2b5ob3o$3b2obo4b3o3bob2o2bo3b2o2b
ob3o5bob4obo3b2o2bob2o2bo2bo4bo3b7o$ob2o3bobob2o2bo6bob2obo2b2o5b2obob
obo4bo5b3o2b2obo3bo3b2ob5obo$4bo2b2ob4o4bob3obo4bobo6b2o3bob5o3bobo3b
2o4b4o2b3o3bo$ob2o2bo2b2obo4b2obob4obo4bo3b3o2bo2bo2bob2obob2ob4o2bo5b
5o2b3obo$bobo3b3obob2o2b4o2b3o3b3o2bobo5b2o3b2o2b2obobo3bo3bo2b2obob4o
b2o$3bo4bob3o4b3ob6o3b2o2bob3ob2o2b2obob2obob2ob2ob2obob2o2bobobo2bo$
4obobob3obob3o2b2o3bobo4bo2bo4b3o2bobobob3ob2obob4obo2b2ob9o$2bo5b2ob
2o3b5obob2o2bo4bo3b4obo2bob6ob3o3bo3b5ob3ob5obo$3b2obo2b5o3b2o3bo2bob
2obobo2bob2o3bob2obobob4o2bo4b2obo5bobobo4bo$b2o3b3o2b3o2bobob3o2bo2bo
b3o2b2ob2o2b2o2bo5b2o2bob2obobob2o3b2o3b2o$2o2b3obo3b3o3bob3ob2o4b3o4b
2o2bob2ob3o3b2o5bob2obob2ob4ob5obo$2o3bobo2bob5o4bob3o3bo2bobo2b2obobo
3bo2b3obo4bo2b4ob3obo2bobobobo$o3bo2bob5ob3ob3ob3ob2o3b2ob4ob2ob3ob2ob
2ob5obo3bob4o4bo3bo2bo$o2bobo3bo3bob3obo2bobobo2b2o2b2obob6obo4bob9ob
4o2bobo2bobo2b2o$3o3b7obob3o2bobobob5o6bo2b5o2b3obob2o3bo2b4o5bo5bo2bo
$2b2ob9o2bo3bo2bobob3o6b3o2b2o3b4ob6o5b2obo3bo7bobo$4b3obobo2b4o4bob2o
b5ob2o2bo3b3o2bobob2obobo2bo3b2o4bo2b2obob2ob2o$4bo2bobob2o2bo6bo2bobo
bo2b3o3b3ob2ob2ob2o4b3o2bo2bob2obob3ob2o$2o2b2ob3o4b3o2b2o5b3obo2bo3bo
11b2obo2bobobo3b5ob2ob2o3b4o$b2obobo3b2obob2ob3obobo4b2ob2obob2ob6ob2o
b3o3b2o4bo4b5o3bob2o$b2obob2obo4bob4obo3b7o2b5obo2b2obo5b7ob2o3bo3b3ob
o3b2o$bo4bob2obob2obo2b5o2b2o5bob5o2b3o4bob5obo2bobobob2ob2o2bobobo2bo
$o2bob3o2b2obo2b2o4b2o2b4ob4o6b2o4b3ob8ob2ob2o3b9obo$bob7o5bob2o4bo2b
3obobo3bo3b3ob2ob3o3bo2bobobo2bo2b2o2b3o$b4obob2obo3b3o7bo4bob3o2b2ob
4o2bo3bo3b2o2bob2o2b3ob2o2b2obob2obo$b2obo2b3o4bo2bo2bobob7ob2ob2o2bob
obobo5bo2b4o3bo4b2o2b5o$2o3b2o2bob2ob4o2bob2o2b2ob2o2b2ob2o2bo2b2obo5b
2ob2o2b2ob2o2bo5bo6b2o$bo6bob2ob3obobob4obobo2bo2b3o2bo3bob5obo2bobo2b
2ob2o2bobo2bo2b4o2bo$obo2bo3b2obobo11bo2b6o7bo10bo2bobo2b2obob2obo2b2o
2bo$obob2ob2ob2obo4b3obob2ob2obobo2bob2o2b5obo2b3o2b4obob2o2b2o2b2o2b
3o2b2o$b5o2bo5b3obo3bo3bo3bobobo2b2o2b3o3bob2obo2b2ob3o2bob4o6b2o2b2o$
2bob3o3b3o2bo3b3o3bo2b2obo2bob4o2bo7b3o5b4ob3o2b2o3b2o3bo$5b3o2b2o5bo
6bo2bobob3ob3ob2ob3ob2ob4o2b3o4bob2obo2bo2b3o3b2o$ob3ob3obob3obob2o2b
5o2b2o4bobob4obobob2o2b2o3b2obo5b2obobo2b2ob3o$bob2ob2ob3obo2b2o6bobo
3b6obo2b2ob2ob5ob3o3bo2bo2bo3b2obo2b2ob3o$bob3o2b2obob2obo3bobo3bobo4b
3obo4bo5b2obo3b2ob4o4bob5ob2o2b2o$3b3o2b2o3b3obobo2bo3b3o7b2ob2o2bo3bo
b3obob4ob3ob2ob6o2b2obo$4o2bo3bobobobo4bo4bo4bo2b8o3bobobobob5o3b3o3b
2o2bo2b2o2b3o$5o3bob2o2bobo2bob4o3b3o2b7obo4bobo2bobo2bob4obo3bo5b3obo
b2o$2o3b4o7b5ob2o3b2o2b3obo2b2o4bo3b3ob5o4bo6b4obo3bob2o$3b2ob3o2b2ob
2o2bo2b6obo2b7o5b2o2b2o2b2o4b8obo2bobobo3b2obo$2obob3o2bo3bo4bo4b2obob
2o4bo4bobobob3ob3o10b2o2bo2b2o2bob3o$4bob2obobob2obob3obob2o3bobo4b3o
2bob2o3bob5o2bob4ob2o2bo2b4obob2o$2o2b3obo5b4obo3b2o2b2obobob2obob2ob
5obob4o2bob4o4b2obo3bo2b2obo$o6bob2o2b3o4bobo2b2o2bo5bo2b2o2b3o5b2o2bo
3b3o5bob2o5b6o$3o3bobo3bobob3ob2obo2b3o3bobob5obob6ob2o6b3o2bo4b3o6bo$
b4o2b2o2b3o2b2ob2ob5obo2b2o3b5obo3b2ob3obobo2b4ob4ob2ob3o3b2o$bo2bob2o
2b3o2b2ob5o2b2o7bobob3o2bo2b2o4b2o2b4o2bo3bo3bob2ob2o2bo$b4obobobob3o
3b4ob2obob2ob3ob2ob6ob3obob2obo5b4obobo7bo$b2ob2o2bobo2b3ob3o2bobo3bo
2b6ob2obo2b3o8b5obo2b2obo2bobo2b2ob2o$3bo2b2ob2o2bobo2bob2o5b2o3b2o4b
3ob5o3b4o3b5obobobo4b2obobo$4bo2b4o5b2ob3o2b7ob8obo4bo2b2ob5o2b3obob3o
2bob2obobobo$3ob3o2bob2o2bo3bobob2o3bobobob3o2bobob2obo4b3obobo2b3ob2o
2bob2ob2obob2o$4o4bo2bo2bo7bo3bobo2b2o2bo4bo2bo3b3ob2o6bo2b3o5b2ob3o2b
2o$2o2bo2b2o2bo2bo2b2obo5bobobobo6bo2bo3bob2ob2o2bob2o4bobo3bo3b3o2bob
o$3obobobobob3o5bob2ob3ob4obo4b2ob2obob3o3bob3o2b6ob2o3b3o4bo$o2bo2b2o
2b3o2bobobo3bob2o3b4o6bobobobo2bo2b2ob2o2bo4bo3b2ob2obo2b2obo$3b2obob
3ob2obo4b2o3bobo3b2obo3bob6ob3o2b2o6b7o2b2o3b4o2bo$3o3bobobobobo3bobo
2bo9b7ob4obo4bobo2bob4o2b2obobo2bob2o$5bobo2b2ob3o2b2ob3obo2bob2o2bo2b
3o4bo3b4obo2bo2bob2o3b2obob2o2b2ob2o$bo3bo2b3obobo6b3ob2o2b5o2b4obob2o
2b3obo3bobo2bob4ob2ob2ob4ob2o$b2obob3ob2o2b4obo3bo4bob2o2bobo7bob3obob
2o2b4o3b2ob3obob2ob5o$4ob2o2b2o4b6o4bo3b2obob3ob2ob2ob6obo2b5obobo2bo
2bob2o2b4o2bo$2bo2b3ob3obob2ob2ob3o3b4o2b4obob2o3b2ob3o8b3o4b4o2bo$3b
2ob2o3bo2bobo2bobob2obo3bo2b2ob4ob2obo2bob4ob2ob2o2bo7bobobo2bo3bo$2b
2o2bo3bo2b4ob2obobo2bo3bobo2b2o3b2o3bo5bob2o2b2o2bo3b2obobo3b2o3bo$o3b
o3bo2b2ob2o2b2o4b2o2bo4bo5bob2o3bobo3b2o2bo5b3o2bob5o4bobo$bobo2b4o2b
2o4bo2bob3o3b2o3bobob2obo3bo3b3o3bo2b2obo5b2o4b2o2bo$b4obo2bob3o3b2o2b
2o3bobo6bo2b3obobob5o2b2obobobobo2b5obo5bobo$2o3b3ob2ob3o2b2obob7ob2ob
3o2b2ob2obo2b3o3b2obo2bob3obobobo3b2o4bo$2bo2b2o2bo2b2obobo4b2o7b5obob
2ob2o2bobo2b5ob5o2b2o4bobob2ob2obo$2o2bo3bob2obo8b4o3b3ob2o3bob2ob3obo
b3o2b2obobob3o3b2o2bob4o2bo$2obob2ob2o5bobo2b4o4b2o2bo3bob2obobob2ob4o
2b2o6bo3bobo5bo2b4o$b3o4b2obo2bob3ob2obo4b2o2b9o3bobobobob6ob5ob3o5bo
3bo2bo$2ob2ob2obo2b4o4b2o4b2o2bo2bo4b4obo6b3ob2o6bo2b2ob2o3b2ob2obo$ob
o2bobo3b3o2b2o2b2o2b2o5b3ob2ob3obo3b3ob4ob4o2b4o7bobo2b2obo$2obo2b2obo
3b2o6b3ob3o3bo6bo3bobo5bo2b2o2bobobo7b3obo4b2o!

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 5:53 am

Screenshot from 2020-04-29 1533.png
Screenshot from 2020-04-29 1533.png (274.03 KiB) Viewed 6853 times
density plots of random soups for the Game of Life and for 2 LTL rules

for any rule
I define a random variable

Code: Select all

settleTime240in320
=
the number
	of generations before periodicity
for a random soup 240*240
	with density 0.5
	in grid 320*320

in script outputs, the first column is the settleTime240in320

r1 is the GoL

r2 is
bmin=7; bmax=8; smin=6; smax=10

r3 is
bmin=12; bmax=14; smin=12; smax=19

Please note, that this settleTime240 is not exactly fair for LtL with larger R , because the soup size is fixed.
(a different statistics would have been, if the size of the soup had grown with the R)


https://github.com/martin12333/PyMartin ... nsity-plot

Code: Select all

In [43]: fig = plt.figure()

In [44]: %time %run r1.py
1
9
pmc10 4404 0.024 0.000 ltl 1 3 3 3 4 320 240 1
pmc10 4752 0.025 0.000 ltl 1 3 3 3 4 320 240 2
pmc10 2232 0.025 0.000 ltl 1 3 3 3 4 320 240 3
pmc10 3444 0.024 0.000 ltl 1 3 3 3 4 320 240 4
pmc10 3108 0.023 0.000 ltl 1 3 3 3 4 320 240 5
pmc10 5052 0.025 0.000 ltl 1 3 3 3 4 320 240 6
pmc10 5520 0.024 0.000 ltl 1 3 3 3 4 320 240 7
pmc10 3360 0.024 0.000 ltl 1 3 3 3 4 320 240 8
pmc10 2340 0.025 0.000 ltl 1 3 3 3 4 320 240 9
CPU times: user 12.7 s, sys: 0 ns, total: 12.7 s
Wall time: 12.7 s

In [45]: %time %run r2.py
1
9
pmc10 468 0.012 0.000 ltl 2 7 8 6 10 320 240 1
pmc10 540 0.010 0.001 ltl 2 7 8 6 10 320 240 2
pmc10 384 0.012 0.001 ltl 2 7 8 6 10 320 240 3
pmc10 588 0.012 0.000 ltl 2 7 8 6 10 320 240 4
pmc10 804 0.013 0.000 ltl 2 7 8 6 10 320 240 5
pmc10 432 0.011 0.000 ltl 2 7 8 6 10 320 240 6
pmc10 624 0.012 0.000 ltl 2 7 8 6 10 320 240 7
pmc10 648 0.013 0.000 ltl 2 7 8 6 10 320 240 8
pmc10 492 0.011 0.000 ltl 2 7 8 6 10 320 240 9
CPU times: user 4.06 s, sys: 0 ns, total: 4.06 s
Wall time: 4.13 s

In [46]: %time %run r3.py
1
9
pmc10 3660 0.001 0.000 ltl 3 12 14 12 19 320 240 1
pmc10 3492 0.001 0.001 ltl 3 12 14 12 19 320 240 2
pmc10 1548 0.000 0.000 ltl 3 12 14 12 19 320 240 3
pmc10 1488 0.001 0.000 ltl 3 12 14 12 19 320 240 4
pmc10 1272 0.000 0.000 ltl 3 12 14 12 19 320 240 5
pmc10 2028 0.001 0.001 ltl 3 12 14 12 19 320 240 6
pmc10 3999 0.002 0.005 ltl 3 12 14 12 19 320 240 7
pmc10 3216 0.001 0.001 ltl 3 12 14 12 19 320 240 8
pmc10 1116 0.001 0.001 ltl 3 12 14 12 19 320 240 9


User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Larger than Life

Post by Saka » May 2nd, 2020, 5:59 am

Martin, sorry if I missed anything, but how do you calculate the variable GoLSimilar in your spreadsheets?

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 6:07 am

Saka wrote:
May 2nd, 2020, 5:59 am
Martin, sorry if I missed anything, but how do you calculate the variable GoLSimilar in your spreadsheets?
I am glad, that anyone asked.

the variable GoLSimilar in my spreadsheets is not very good ...
it is not calculated ...

it is subjective

+9 ... the GoL
+4 to +8 ... i will have to shrink to +4to+6, because "my" r3 looks quite different from CGOL in plots
+4 or higher ... has natural spaceships
+3 ... looks like +4, but eventually ends up as Wolfram class 3 ... everything "boiling" forever
+2 ... Wolfram class 2

-3 ... Wolfram class 3 from the beginning ... everything "boiling" forever
Last edited by martin.novy on May 2nd, 2020, 6:15 am, edited 2 times in total.

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Larger than Life

Post by Saka » May 2nd, 2020, 6:13 am

martin.novy wrote:
May 2nd, 2020, 6:07 am

I am glad, that anyone asked.

the variable GoLSimilar in my spreadsheets is not very good ...
it is not calculated ...

it is subjective
higher is better
Oh, I thought you had some way of automatically calculating the GoL-similarity of each rule...
So let me get this straight, you're judging all the range 2 rules by yourself? How are you generating the Range 2 rules that you are going to judge? Manually messing around with transitions? Unless... you judge every single range 2 rule :?

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 6:23 am

Saka wrote:
May 2nd, 2020, 6:13 am

So let me get this straight, you're judging all the range 2 rules by yourself?
yes

Saka wrote:
May 2nd, 2020, 6:13 am
How are you generating the Range 2 rules that you are going to judge? Manually messing around with transitions? Unless... you judge every single range 2 rule :?
weeks ago, I did everything using my parameter maps scripts ... maybe I should explain them better ?

https://conwaylife.com/forums/viewtopic.php?f=11&t=4346
I believe I probably covered all or almost all R2 zones where natural spaceships could be ...
just look at the filenames
https://github.com/martin12333/PyMartin ... l-as-float

----

but days ago, I implemented density plots, which may be a better approach
Last edited by martin.novy on May 2nd, 2020, 7:05 am, edited 1 time in total.

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Larger than Life

Post by Saka » May 2nd, 2020, 6:31 am

martin.novy wrote:
May 2nd, 2020, 6:23 am

https://conwaylife.com/forums/viewtopic.php?f=11&t=4346
I believe I probably covered all or almost all R2 zones where natural spaceships could be ...
just look at the filenames
https://github.com/martin12333/PyMartin ... l-as-float

days ago, I implemented density plots, which may be a better approach
I'll have to look at that later.

Perhaps taking population, bounding box, and density (which is just population/bounding box) will be enough.

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 7:02 am

Saka wrote:
May 2nd, 2020, 6:31 am

Perhaps taking population, bounding box, and density (which is just population/bounding box) will be enough.
yes, or directly the population plots, they should be similarly useful

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 7:04 am

or: a few days ago ,
I implemented an automatic detection of periodicity ... an automatic computation of the settleTime ... that is a third approach

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Larger than Life

Post by Saka » May 2nd, 2020, 7:08 am

martin.novy wrote:
May 2nd, 2020, 7:04 am
or: a few days ago ,
I implemented an automatic detection of periodicity ... an automatic computation of the settleTime ... that is a third approach
Could you explain how this is automated? I've been struggling for a long time wrapping my head around how to automatically detect if a pattern has stabilized.

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 7:22 am

Saka wrote:
May 2nd, 2020, 7:08 am

Could you explain how this is automated? I've been struggling for a long time wrapping my head around how to automatically detect if a pattern has stabilized.
My oldest approach was testing only for p12 and p60 and p120 and p360, but there are sometimes periods multiples of 7 or 11 .....

----

now I use also

Cycle_detection#Floyd's_Tortoise_and_Hare
https://en.wikipedia.org/wiki/Cycle_det ... e_and_Hare

with custom speedups

I store every 12-th state

https://github.com/martin12333/PyMartin ... op-plot.py

( https://en.wikipedia.org/wiki/NumPy )

Code: Select all

# i ... int ... the current time (generation)
                    for i in xrange(1,niter):

# a ... 2D array of bool ... the grid

                        if (i % 12)==0:
                            ahistory[i/12] =a
                        
                        if (i % 24)==0:
                            aslower=ahistory[i/24]  # a slower .... tortoise
                  ...
if i is divisible by 24 , I compare a with the ahistory[i/24]

==========

but I am a weak programmer now

a better approach is to use a hash table

EDIT: (or maybe something from the Wikipedia page?? Disclaimer: I found it today.)
Last edited by martin.novy on May 2nd, 2020, 1:38 pm, edited 2 times in total.

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

Re: Larger than Life

Post by lemon41625 » May 2nd, 2020, 7:55 am

For your parameter maps, how do you efficient simulate the rule especially for higher ranges such as range 3 or above?

My application CAViewer tries to simulate neighbourhoods with such ranges but it is very slow so I would like to know how you did this.
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...

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 8:33 am

lemon41625 wrote:
May 2nd, 2020, 7:55 am
For your parameter maps, how do you efficient simulate the rule especially for higher ranges such as range 3 or above?

My application CAViewer tries to simulate neighbourhoods with such ranges but it is very slow so I would like to know how you did this.
Thanks for asking.

This is the reason why I love (Matlab and Octave and) NumPy/SciPy.

They have several fast functions for counting (summing) neighbors of every cell in an entire 2D array.

In image processing, it is called convolution.

a few years ago, I prepared a demo , with a glider, with print after every line of code
... in the comments of https://www.reddit.com/r/cellular_autom ... nu_octave/

EDIT: a related reddit post:
https://www.reddit.com/r/cellular_autom ... e_and_the/

Later today I will adapt my demo to NumPy , runnable in Pyodide in browser
EDIT: alpha.iodide.io failed, so I posted a python session below
Last edited by martin.novy on May 2nd, 2020, 12:26 pm, edited 3 times in total.

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

Re: Larger than Life

Post by lemon41625 » May 2nd, 2020, 8:51 am

Can convolution use neighbourhood weights like the gaussian weighted neighbourhood and state weights?
Can it also count the specific numbers of neighbours of each state?

In a numpy array, how can an infinite grid be implemented? Currently I am using a dictionary to represent a sparse matrix.

Sorry for the many questions.
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...

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 2nd, 2020, 9:20 am

lemon41625 wrote:
May 2nd, 2020, 8:51 am
Can convolution use neighbourhood weights like the gaussian weighted neighbourhood and state weights?
Can it also count the specific numbers of neighbours of each state?

In a numpy array, how can an infinite grid be implemented? Currently I am using a dictionary to represent a sparse matrix.

Sorry for the many questions.
> Can convolution use neighbourhood weights like the gaussian weighted neighbourhood

yes!

> state weights?

not difficult to do with expressions like Vector1[ Array2 ]
I can make a demo later

> Can it also count the specific numbers of neighbours of each state?

a bit more difficult but possible

> In a numpy array, how can an infinite grid be implemented? Currently I am using a dictionary to represent a sparse matrix.

several possibilities

a) I am almost sure there are sparse arrays supported in numpy, but I haven't tried them yet

> Sorry for the many questions.

You are welcome.

I would like to encourage:
Do you (or anybody else) have more questions related to numpy/scipy, jupyter, pyodide, (git, observablehq, linux, virtualbox, math, compsci, ...) ?
Last edited by martin.novy on May 2nd, 2020, 1:24 pm, edited 1 time in total.

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

demo of NumPy cellular automata

Post by martin.novy » May 2nd, 2020, 12:20 pm

Code: Select all

In [4]: import numpy as np

In [5]: #parameters are described at PARAMETERS.txt
   ...: # CGOL
   ...: r=1; bmin=3; bmax=3; smin=3; smax=4

In [7]: import scipy.ndimage 


In [13]: kernel = [[1, 1, 1],[ 1 ,1, 1],[ 1, 1, 1]]  # define neighbors

In [15]: kr=np.array(kernel)

In [16]: kr
Out[16]: 
array([[1, 1, 1],
       [1, 1, 1],
       [1, 1, 1]])


In [26]: 
    ...: OR = np.logical_or
    ...: AND = np.logical_and
    ...: 

In [27]: world=[
    ...: [0,0,0,0],
    ...: [0,1,0,0],
    ...: [0,1,0,0],
    ...: [0,1,0,0],
    ...: [0,0,0,0],
    ...: ] # a blinker
    ...: 

In [28]: a=np.array(world)

In [29]: n=scipy.ndimage.convolve(a,kr)

In [30]: n
Out[30]: 
array([[1, 1, 1, 0],
       [2, 2, 2, 0],
       [3, 3, 3, 0],
       [2, 2, 2, 0],
       [1, 1, 1, 0]])

In [31]: birth = AND(  n>=bmin,  AND( n<=bmax, np.logical_not(a) )  )

In [32]: birth
Out[32]: 
array([[False, False, False, False],
       [False, False, False, False],
       [ True, False,  True, False],
       [False, False, False, False],
       [False, False, False, False]], dtype=bool)

In [33]: survi = AND(  n>=smin,  AND( n<=smax, a )  )

In [34]: survi
Out[34]: 
array([[False, False, False, False],
       [False, False, False, False],
       [False,  True, False, False],
       [False, False, False, False],
       [False, False, False, False]], dtype=bool)

In [35]: a =  OR( birth , survi )  

In [36]: a
Out[36]: 
array([[False, False, False, False],
       [False, False, False, False],
       [ True,  True,  True, False],
       [False, False, False, False],
       [False, False, False, False]], dtype=bool)

# a blinker

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

Re: Larger than Life

Post by lemon41625 » May 5th, 2020, 5:48 am

Can a transition function be passed into the convolve function that takes in the cell's neighbours and outputs the new cell state?
This would be necessary for non-totalistic cellular automaton.

Also how would naive rules as defined here (https://conwaylife.com/forums/viewtopic.php?f=11&t=4483) be implemented?
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...

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 5th, 2020, 8:15 am

lemon41625 wrote:
May 5th, 2020, 5:48 am
how would naive rules as defined here (https://conwaylife.com/forums/viewtopic.php?f=11&t=4483) be implemented?
convolutions probably cannot do naive

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 5th, 2020, 8:16 am

lemon41625 wrote:
May 5th, 2020, 5:48 am
Can a transition function be passed into the convolve function that takes in the cell's neighbours and outputs the new cell state?
no, but I could implement isotropic-non-totalistic by using two (or more) convolutions with different kernels

and non-isotropic by kernels like

Code: Select all

1    2   4
8   16  32
64 128 256

User avatar
LuxiusGOL
Posts: 116
Joined: April 6th, 2020, 4:28 pm
Location: Giakteda, HKD, Tesana

Re: Larger than Life

Post by LuxiusGOL » May 7th, 2020, 6:09 pm

I found a (26,3)/26 oblique ship in Bugsmovie

(or discovered)

x = 19, y = 19, rule = R10,C0,M1,S123..212,B123..170,NM
6b6o$5b9o$4b11o$3b13o$3b13o$3b13o$2b15o$2b15o$b17o$7o5b7o$6o7b6o$6o7b
6o$6o7b5o$b5o7b4o$2b5o6b4o$3b4o5b4o$4b11o$5b9o$6b6o!
iambackhooray

User avatar
martin.novy
Posts: 142
Joined: October 22nd, 2014, 6:22 am
Location: Czechia, EU
Contact:

Re: Larger than Life

Post by martin.novy » May 8th, 2020, 10:09 am

LuxiusGOL wrote:
May 7th, 2020, 6:09 pm
I found a (26,3)/26 oblique ship in Bugsmovie
I wonder, how many directions are possible in Larger than Life, or in Primordia rules.

(( https://en.wikipedia.org/wiki/Isotropy#Physics ))

User avatar
LuxiusGOL
Posts: 116
Joined: April 6th, 2020, 4:28 pm
Location: Giakteda, HKD, Tesana

Re: Larger than Life

Post by LuxiusGOL » May 8th, 2020, 1:16 pm

I found a g-da-rafe ship.

Code: Select all

x = 21, y = 24, rule = R7,C4,M1,S90..171,B36..63,NM
10.8A$9.10A$7.12A$6.13A$5.6A8B$4.6A10B$3.5A12B$3.4A13B$2.4A6B8C$.4A6B
10C$.3A5B12C$4A4B13C$3A4B6C$2A4B6C$2A3B5C$A4B4C$.3B4C$.2B4C$.2B3C$.B
4C$2.3C$2.2C$2.2C$2.C!
iambackhooray

Post Reply