Evolving novel rules for CGoL

For general discussion about Conway's Game of Life.
Post Reply
DrMiaow
Posts: 5
Joined: April 24th, 2020, 4:21 am

Evolving novel rules for CGoL

Post by DrMiaow » April 24th, 2020, 3:15 pm

Hi,

First post here. I muck about with artificial life via a fun long term project I have been working on; Seems I have time to play with it at the moment :)

Anyway, I turned it towards evolving the CGoL rules (genetic/reinforcement), it came up with many strange variants.

Not an expert on CGoL. I was wondering if anyone had ever seen *this* way before?

https://twitter.com/DrMiaow/status/1253586275417894912

GUYTU6J
Posts: 2200
Joined: August 5th, 2016, 10:27 am
Location: 拆哪!I repeat, CHINA! (a.k.a. 种花家)
Contact:

Re: Evolving novel rules for CGoL

Post by GUYTU6J » April 24th, 2020, 8:54 pm

Hi, welcome to the forums! For comparison this is your pattern in regular Conway's Game of Life:

Code: Select all

x = 258, y = 146, rule = B3/S23
b2o2bobobo4bo3bo2bobob5o2b4ob3obob7o3bo5b2o2bo2b2o2b5obob2obob4o2bo4bo
7b2o2bobo3b2o5bo7b3o3b2ob4ob2o4bo2bobob3ob4ob3obo9b2obo3b3obo3bo2b2ob
2o2b3ob2o2bobo4b2ob2obobo3bo7b6obob2obo2b2ob3o$4ob3ob2o3bob2o2b4obo2bo
b4ob3o2b3obobo3bobo5bo3bo5bo2b2obobo2b4o3b2o2bob3o4bobo5bo2b2o2b2ob3o
3b3o2b2obo2bobo3b4o2b2o2bob3ob3o3bob4o3bo2bobo3bobobo4bo2b2obo3bob3o8b
obo3bob4o2bobo3b2o5b2o2b2obo2bob4o2bo$3bo2bobo3b5ob8ob3o3b2obo9b4ob5o
3bo4b2ob2o6bo3b3o3bob4obob4o2b3obobobo2bobo2bob2o5bob2ob9obo5b2o3bob2o
2b2ob4o2bob6ob2o2bob2o2b2o3b3o2b3obo2bobob2ob2o2bob7o2bo2bob3o3bo4b3ob
o3bo4bob3o$2ob3o2bob2ob10obobo4b2ob5obo4bob2o3b3o2b3o2bobobob2o3b3obob
3ob7o2bo2b2obo2bob3obo6bob4o2b4ob4ob2o4bo11bobob3obobobo5b2o4bo3bob2ob
o3b2ob3o3b3ob6o2bo2bo2bo2bo4b3o4bo3b5ob2obob3o2b2o5b2o$bo2b2obobobob2o
bo4bo3b3ob5o2b2ob3obob4o6bob3ob2o5bob4ob3o4bo3b5o5b2ob2obob3o4bobob4ob
o5b3ob2ob2o2bobo3bo6b5o4b2obo2b5ob4obo2bo2bobo2b4o3bo3bobobo2bob2obobo
b2o5bob2o3b2o2b8o5b4o2b2o3b2o$b2ob2o4b3o3b6o2b2obo2bo2bo4b3o3bob2obobo
2bo4b5o2bo4b2o3b2o2b2obo3b3o3b3ob3o4b3ob4o2bobob2ob4obo5bo2bo4b2ob6obo
bo4bobo3b2obob2obo3b3obob2o3bob3o3bobob2o2b2obo2b3o2bo3b2o2bo2bo3bo5b
3obo3bo2b4ob5ob2o$b2obo3b3ob3ob5ob2o3b3o2bobob2o2b3o3b3ob2obobo2b3o4bo
2bo2b4obobo2b3ob2o4b2o4b2obo4b3o2b6o3b4o2bobo3bobo2bob6o7bobobobob2o7b
3ob3obob3o4bo3bo3bobobob2obo2b4o2bob6obobob2obo2b3obo2bobo3b2o3bo2bo3b
2o$ob2ob2o4bobo2b5o3bob2ob7ob2o4b3o2bob3ob3o2b2obo2bo4b4o7b4o3bo2b2o3b
3obo2b3obob4o2bobo2b2o2b8o4bobobo2b2o2bo4bo5bo2bo2bo3b2o3bob2o2bob3ob
2ob2obobob3o4b7o3bo2bo3bobobob4ob2obobobobobo2b3obobo3bo2bo$3obob3o3bo
3b2ob2obo3bob3ob3o2bobob2o2bo3b2o3b3o6b3ob2o2b2o3bo3bo3bobo5b2o2bobo2b
5ob4o6b2ob2o2bo2b2o2bo3b2obobobob2ob3o2bob2obobo3b3o5b2obo2bob4o3b4o4b
4ob2o2b3ob2obobo4bob2o3bo2bo2b3ob3o2bobobobobo2b3o2b3o$bob5o3b2obobob
2o3bo3bo2b11o3bob2ob2ob7o2bo2b2ob2o2b2obo3bo2bo3bobobobobob2obob7o3b2o
b2ob10obob2o2bo2bobo7b2o2bob2o2bo3b2o2bobob4ob2ob3o3b2obob5obo2b5o2b3o
b3obob2ob7obo3bob2o3bo5bo2b3o6b3o$b4ob5o5b6obobo11b3ob3ob2o3bob2o3b2ob
2o3b9o3b2obobobobo2b2ob4ob3o5bobob2o2b2o3bobob4obob5obobo4b4o2b3obo3bo
b3o2bobo2b2ob2o2bobo2bobo3bo2bobobo2bo2b6obob3obo3bo2bo2b2ob4o4bob2obo
3b3o2bo6bobo$2o4b2ob2ob2obo3bo5bobo2bo2b6ob2obobobobo2bo2b3o3bobo4bobo
2b2o5bo2b2obo6b2o3b2ob3obob2ob2o2b2ob2ob3o6b6o2bob4obo2bo3b6ob4o2b3o3b
2ob2ob2o3b3o2b2ob2o3b2o3bo3b2o3bobobobo2bob2ob2obob2o2b3o3b4ob3obo3bob
o3b2o$3ob5obobob2o2bo3b5obo2bo2b3o3b2o4b6o2b2ob2o2bo2b3obobo3bobobob2o
bo3b2o2b2ob3o2bobo2bobo2bob2ob3ob2obo3b3o3bob2ob2ob4obo2b2obo5b3ob2o2b
o2bo2bobobobo2bo2bob4ob2ob2ob4ob2ob2o2bob3o2b2obob2ob2obob3ob2o2b3o2bo
2bobo2b4o5bo$4bo2b5obo3bo2bo2bo3bo2bo2b6o3b2obob2obo3b6o3bo3b3o3b6o2bo
bob4o3b2o2b6o2b5o3bo2b6o2bob2ob2ob8ob2o2bo2bobo3bo2bo2bo2b2ob3o6b9o3b
2obob4ob3o2b7obob5o2b2o4b3o2b3ob4o2bob5ob3o7bo$2obobob2ob2o3bo2b5obobo
2b2o2b3ob2obob2ob3o2bo3b4o2b2obobobo2b3ob2ob6o3bobob2ob2o3b9obo2bo2b7o
3b7ob4ob3obo7b2ob4o4b3o2b5obo2b2o2b3o2bo7b5o2bob3o2bo3b2ob2o2b2ob2obob
ob4o3bo2bobob2obob2o2bobobob3o$obobob2ob3ob3o2b2ob2ob4obo4b2obo5bo3bob
4o6b2obo6b2o3b4o2b2obob3o2bobob2obob2o7b2o6bobobobo2b4obobo2b2obobob2o
5b3ob7ob3o6bobobo3b4obob5obo3bobo2b3obob3o3b2obob2o7bo2b3o2b2o3b2obo3b
obobobo3bo$b2ob4o2bo2b3ob3ob3o3b3obob4obo2bo2bobo3b3o2bob2o4bobob3ob3o
3bo2bo8b7o4b5obo2bo3b2o2bob3obobo2bo2bo2bobo3bo4b2ob2o2bo2b2ob4o2b2o4b
2o3bo4b3obo2bobobo6bo3bobobob2o2bobo4b4o2bob3o2b3o2b2o2bo2b2obobobo4bo
$2o2b2o2bo4bob2o4b2ob2o2b5o2bo3b4ob2ob3o6bob2o2bobob2o2bo2bobo3bobo2bo
b2o2b2o3bob4obo4bob4o3bo3bobo3bo2bo5b2o2bo3bobo2b4o2b2o2bo4b2obob2obob
2o2b4o5bo3bob3ob7ob3obo3b2o3b2o2b5obob2obobo3bob2ob2obo5bo2b2o$2o2b2ob
o9bobo6b2o2b3o2bo2bo2bob2o2b2o3bo4bob2o4bo2b2o3b2o4bo2bo2bo2b6obob2o3b
o2bo2b2ob7o4b2o2b3ob5obo2b2obobob2ob6obo2bo2b3ob4obo2bo3b2obo2bob3o3bo
bobo3b2o2b4obo2bo5bobo5b2o2b4ob2o2b3ob2o2b5obobobo$2o2b3o2b2o2b2obobob
o3bob3ob2ob2obo2bobob3o8bobo5b2o2bo2b2o2bo4bo3bo3b2o2b5ob2obobo4b2o2b
2o4bo2b4ob2ob2o2bo2bo3bo2b2obob2obo3bobob3o3b10ob2o2b2o2bo2b4o10bo3b2o
3b2obobobo6bob2obo2bobobobob2obobobo4b2obo3bo$4o3b2obo2b3o4b4o2b2ob3ob
ob2obo3b4o3b3o2bobob2obo3b5ob2o2b2o2b5obo2b2ob4o2b3obo4bob3ob2obob2obo
3b2obob2ob2o2bo4b2o2bob6ob5ob2ob2ob2o3bo4bo3bo4bobob5o4bob6ob3obob2o2b
2obo3bobob2obobo2bob2o4b3o3b3obobo$bo3b3ob2o3bob2ob4o2b2o2b8o2bobo2bob
3o2b4o2bob2o2b3o2bo2b4o3b3obobobob2obo3bo2bob3ob2ob3obobob2ob2o3bo4bob
2obob3ob4o2b2ob6obo2b2obobobob5ob4o2b3o2b2o4bo2bobo6bo3b3obob2o8bob3ob
2obob7o2bo2bobo2b2obo2bo$b3ob2ob2o5bob2obob2obobobob2obo2b2obobo2bo4b
2obobobo2bo4bob3o3bo2bobo2bobob2obo2b2o7bob3obob2ob2obo2b3o3bo3b2ob2o
2bo7bob3ob2o6bob2ob2ob7obo2b3o5bo4b4o3b2ob2o4b2o2b2ob5obo3bob2o9bo5b5o
bo3b3o4bo$b2o4bob3o3bob4o2b3ob2ob2o2b4o2bo3bo3b2ob2o2b4obobob3ob2o3bob
o2b2obo2bo2b2o2bo2bob2ob2o3b4obo2bo2bob5ob2ob2o2bo3bo2b3o2bob4o2b3obob
o2b2obob3o4b2o4b2o3bobob3ob7obob2o4b2o2b3o2b2obo5bo5bob3ob2obob4obob3o
bob2o$b2o4bob3o3bob4o2b3ob2ob2o2b4o2bo3bo3b2ob2o2b4obobob3ob2o3bobo2b
2obo2bo2b2o2bo2bob2ob2o3b4obo2bo2bob5ob2ob2o2bo3bo2b3o2bob4o2b3obobo2b
2obob3o4b2o4b2o3bobob3ob7obob2o4b2o2b3o2b2obo5bo5bob3ob2obob4obob3obob
2o$2obobo5bob4obo3bo2bo2bob4o4b2obo3bo3b2o2b2ob2ob5o2bo2b2o2b3obo10bo
3bo2b3o4b3obo3b4obo2b3o2b4obo3b3o2bo2b2obob2ob3o3bo2bo2b2obob2o7bobo3b
2ob3o7b2ob6o7bo2b2o3b2ob2o4b2o2bo3bo2bob3o3bob2obob2o2bo$2o3bo2bo2bo5b
obo3b3ob3o2b6o2b2o3b2o4bo5b3o2b2ob2obo7b4obo2bobo3bo2b5ob4o3b4ob4o3b2o
b4ob2obob6ob3ob7o2bo2b4obob3ob2ob5o3b2o5bo2bo2bob4obobo5b2obob2obo2bob
3obobo3b5o2bo2b3ob2obo7b3ob2o$8b2obobo2b3o3bob5o2bo3bo2bo3b3ob3o2b3o2b
2obob2o4b2o2b2ob4o3bo4b2o6b2ob2o2b2o3b3o2bobob3o6bo3b2ob2obo2b2o4b2o6b
obobo7b2ob2o5bob2obo3b2o2b2obo2b4obo2bo2bob5obo2bo5bo3b4o2b2o2bo2b6ob
2o2bo2b4o$bob2ob4o2b2o2bo2bob2obobobo5bo2b2ob2ob3o3bob4o3bobo7b5ob4o5b
2o2bo3bo3bob5obo2b2obobo3bob2o3bob3o3b4o2bob2o2bobo7bo3b2o2bo2b3ob3o3b
o2bo4b3o2bob5o2b2ob2o2bobo3b2obobob5obob2o3b2o2b4ob6obob3ob2o2bo$2obo
2b2obob3o7bo2bo2bo2b4obobobobo2b2o3bob2o3b2ob2obobo5bo3bobo7bob2o2bo3b
ob5o2bo5b2o2bo2bo2b4o2b2ob7o3b2ob2o3bobo3bo2b7ob5o2b2o3b5o2bo2b4obo2bo
3bo3b3o2b7ob3o2b2o3bob3o2bobob2o7bobo9bo$5o3bo5bob5o2bobobob4obobobo3b
o3bobo2b2obo4bob6ob5obobobob2ob4o4bo3b3ob5o2bo4bobob2o2bo7b2ob3o2b2o3b
3o3bob3obob2o2bo8b8o2bo2b2ob5ob2obo3b3o4b3o2bob2ob2o2b2obob4ob5obob3o
3bob3o4b2o2bo$b5o2bo2bo3bob5ob5ob2ob2o3b2ob7o3b3o4bob2o2bo3b2o2b3o2b4o
2bob3o2bo4bo3bo4b4o2b2o4bob3o2bo2b3obo4b2o5b4obo4b2o3b2o2bobo4bo3b5o3b
2obob2ob5obo3b2obo2b2obo2b2o4b6ob10obo2bo2bo4b2o4bob6o$2b2ob3obob4o4bo
2bob3o2bobobob3o3b9o3bob2o2b7o3b2o3b2o6bobo2b4o3b2o4b2obob2o3bo2b5obo
3bob2o4bo2b2o2b2obob3o2b3ob3obob2obob2ob2o2b3obo2bo2b2obob2obob3o2b2o
2b4o2bo4bobo3b4o2b2ob2o2bo2b3ob2o2b2o5b3o7bo$bo4bo2bo2bobob4obo2b2o2bo
bobo2b2ob6ob3obo3bo2bobo5b4o2bo5bo2bo3b3ob4ob2ob3o6bobo2b3ob5ob3ob2o3b
ob3o2b4ob6obob2ob3ob3obo2bo2bob2o4b2o2bobob3o6bob4ob2obob2ob2o4b2ob4o
2bo2b2ob2ob2ob4ob3o2b3ob2o3b6o$b2o2b2o2bo3b3obob3obobobo9b3ob2ob3o2b3o
2b2ob2o2bob2obo2b2o6b5ob2o2b2obob2o3bo2bo3bobo2b3obo5bobo3bob2obobo2bo
2bobobo2b2o2bob3ob4o3b2o3bo2b5o4bob3obo5b6obobobo2bobob7o2b4o2b2o3bobo
bob2ob3o2bobo3bo2b2obo$o2bo5b3ob2o3b2obob2ob2o4b2o2b2o2b2o3b2ob2ob7o2b
2o2bobobo5bobob2o2b3o2bobob4obob2o2b2obo2b2obo2b2obob3o4bobo2b3o2bo2bo
2b2ob2obo3b2ob2ob2o2b2obob4ob3obo2bo3bo2b2ob3o2bobo4b3o2bobob2o3b2o2b
2o3b2o2bobob2o4bo5b3ob2obo2b4o$3b3ob3obo2bob2o3bo3b5obobo4bob4o3b6obob
obo2bo2b2obo7b5ob3o2bo2b2o5b4o3b3o2b2o3bo3b5ob5obob3o3bo2bobob2o2b3ob
2o6b5o5bobo2b2o6b2ob3o3b2obobo3b2ob5obobo4b2o4bo2b3o2b3ob2o2b3o5bob2o
5b2o$b2o5bo2bo2b3ob2o2bo3b4ob2o2b7o2b4o6bo3b2ob2o2bob4o2b2obobo3b5ob3o
2b2o2b3ob3obo3bo2b4obo7bobob4o2b2obobob3o2b5ob2o2bo4b3ob4obobob3obo3bo
2b4obob2obo2bob2o2b3obob2obo2b5obobo9b4obo2bobob3ob2o$o3bobo6bo4bo4bob
3o2b2o3b2obo2b7o4bo3b7o2bo2b2o4bob3o4bo5bo2b3obo2b3ob3ob2ob2o3bo3b3o2b
ob3ob2o3bo2bo6b4o2bobobob2obo4b2ob3obo6b3o2bob2o2b5o2b7ob2o6bob4ob2obo
b2obo2b2ob2ob2obo4bobo2b2o2bo2bo$b3o2bobo4b2o2bo3bo2bobo2b4ob2obobo2bo
2b2o2b2o4b2obob4o2b3ob3o3b4o2b2o2b2obobo9bo2bobobo5bo3bo5bo2b2o3bobo2b
2obo3b4o2b3ob7o4b2ob2o2bobob2obobob3o2bo2bo2bob2o2b3obob2ob6obob2ob2ob
4ob4obobobobo2b4o2bo2b2o3bo$4o5b2ob3o3b2o3b4o2bo2b2ob2o2bob5o2bo2bo3b
4o3bobobo2bo3b4o2b7o5b2ob2obobo2b2o2b5obo3b2o2bob3o3b3ob3o4b2o2b2o4b2o
2bo4b2ob7o3b5o4b2obob4o3bob2obob5o2b7obob3o3bo2b2o6bo3b2o2bo2b2o2bobob
o2b2o$2bobobob2o4b2ob3o9bob5o2bo4b3o2b4o3bo5bo2b2ob3ob3ob3ob2ob5o2bob
2o2bobob3o2b3obobo2bo2b2o2b4o5b2o2b5ob2obo2bo3bo3bo2bo4bobobo4bob6ob3o
2bob4ob4ob2o2b8obo2bob2ob2ob4o2bo2b3ob2o2bobo6b2ob2ob4obo$4o2b3ob3o2b
2o2bobo3b3o2bobob3o3bo2bobo3b3obobobo2b5ob2o3b4o4bobob4obo2bob8ob2o2bo
7b4ob2o4bo2bo2bob2o3bo3bobo3b2o2b2ob2ob2obob2ob4ob2ob2ob2ob3o2bo3b3obo
2bo2b3o2bobobo2bo3b2obobo2b3obob2o4b2ob2obob3o2b3obo2bobo$bobobob3o3b
2obob2ob5ob4ob3o4bo3bob3o6b2o5bob7o5bob2o2b2o2b2ob2o3bo4b4o2b4o2b3obo
3bo2b2o3bobob3o4bo5bob5o2bob3o2b3obo2b2o2bo2bo4b4ob2ob11ob4obo4bob2o2b
2o2b2ob2o4b5o2bo2bo3b2obo3b2obob2o$o2b3o2b2obobob3ob4o3bob3obo2b2obo2b
ob2obo3bo2b2ob3o2b4o2bob6obobobob4o3b2ob3obob3ob5o2b2ob3o2b4ob4ob3o2b
2ob4o5b2o4b6o2b3o2bobob5ob2obobo4bobo2b2o3bo8bob2ob3o7b2o2bob2ob2obobo
b5obobob2o2b5obob2o$2ob2o2b3o5b2obob4ob4o2bo2bob3o3bo3bobobob2obobobo
3b2o3b3o2bo4bo3bobobobobobo2bob2o3b4obob5o3b3o2bob3o2bo2bo2bobob2o3bob
o3bob3obobobobob3o4bob2o2b3o2bobo3bob3ob5o2b3o2b2ob3o2b5o3bob6o3bob3ob
3ob7o4b4o$bo2bo2b3o2b2o11b3o2bobo4bo2bobob3ob2o2b3ob5ob2obobob7o3b2ob
3ob4obo4bobo2bobo5bobo3bob2ob7ob2ob4o2bob2o2bobo2b2obo4b6obo2bob2ob3o
4b2o2bobob2o2bo2bo7bobob2ob2obo2bo3bob2o2b4o2bobob5o2bo2bob5o2b3o$b4ob
o2bobobo3bobo2bo2bo2bo6bo3bob4o4b2obob2obob2obo4b2ob5o4b3obobo2bo4b3ob
2obo2b2o2bob3o2bobo2bo2bo4bo4b5ob2obob2o3b3o2b3o5bob2o5b2o5b2obobo5bob
obo2bo3b2o4bobo2b2o2bobob2obobobo5b5o2b4o2bobo5b2o$4o3bo2bo3bobo2bobo
2b2o2bob2ob2obo2bobo2bo2b2o2bob3o2bob3obob2o5b2o3bobobo3bob3o2b2obo2bo
2b3o5b3ob2o2bob2o2bo3b2ob2o2bob3ob2o2b2obo2b8obobob3ob5o3bob3obob3o2b
2obo2b2obo2b2o2b5o4b3ob2o2bobo2b2ob3o4bob2o4bo2bo7bo$b4o3bob2o2bo4bobo
2bo3b3ob2o6b2o6b2o3b2obo3bob2o2b2o2bo3b8o2b7o4b3ob2o3bo2b5obobo2bo2bo
4bo3b3obob2obo5bo3bob2obob4ob2o2bob5o3b2ob3o2bo5b2obo2bob2obo2b3o5bob
2obo2b4o3bo5b4o2bob3o2bob3o2b3ob2o$2obo3b3o2bob5obo2bob2obob3o4bobob4o
b2o4b2o3b3o2b3ob2o8bo4bob3obobobo2bo5bo2b4o2bo2b2obobob2obo2bobo2bob2o
6b2obo3b2obo2bo2bo2b2o2b3o2b2o3bo2bo3bobobo2bobobo3bobobo6b4ob2o3bo2b
2obobo3b4ob2o3b5ob4obo3bobobo$5b2obobob2obob6o11bob4o2b2ob2obo3bob3o3b
3o2bobo2b3ob2ob2obo2b4o2b3ob2o3b2o3b2ob4ob2o4bobo5bob4o3bobo2bo2b2o4bo
b5ob3o2b4ob5obo4b3obo3b2o2b2ob4ob2ob3o2bo2bob5o7bobo2bo3b2o2bo2bo2bo2b
o2b2ob2obobo$2o6b2o3bo3b2o3b2obobob2ob3ob2o2b3o2b3ob7o2bobo3b3o2b2o2b
3ob4o2b2ob3o5bo2b2ob3o6bob2o3bo3bo3bo2b3o2bo4b5ob5obob3ob2o4b2obo2b5o
2bobo2b3o3bobo3bo4bo2bo2bob5ob2obo2bob3ob2ob3o3bo5bobo3bo2bo2bo2b3obo$
ob2o2bob2ob3obobob2o2bob4o3b2o3bob2o2b2o3b4obo2bobo3b6o3b2o2b7ob2ob2ob
2obobo3bobo2bo2b3o3b2ob2obob2ob2ob2ob2o2bo3b8o4bo4bobobob2ob2ob2o3b5ob
o8b2o2bobobobo3b2o2b2obobobobo3bo2bobobo4bob2o2bobo2bo2b2o3b2o2bo$4ob
2o4bo3bob3o14b4ob2o2bo2b2ob2ob3ob4obobo2b2obob2obob3o2b2obo2b2obobobo
7b2o3bo2b2obo4b4o3bob3ob3o3b2o3bob3o6bob3ob2o2b3ob3ob2obo4b3o6b5o2bobo
b4o2b4o3bo2bob3o3b2ob4o2bo3b2o4bobobo2b4o2bobo$3bo2b2o3b2o2bob3o2bo2bo
bobobobo3b5obo2b3o3b2ob3ob2obob4o2b3o2bo7bo5b2o2b4ob2obob4o2b2o5b2ob2o
2bo2bo4b2o2bobo2b4o2bob2obo2b3o3b2obo2bo3bo3bo2b2obo3bo2bobob2o5b3ob3o
2b2ob4o2bo2bob3ob3ob3o2bo2b2ob3obo2bobobo2b2o$2b5obo2bob8o3b2o2bo4bobo
b3o3bob4obo4b2o5bo2b2obo2b2o2b3ob2o2b5o2b2obo2bo2b7obobo3b2o2b2obo2b3o
4b2o2b4ob2ob2ob4obo3bo2bobo4bo3b2obob5o4b3o2b5o3b2ob2o3b2obobo3b4o2b2o
bo2bo3b3o2b4o2b2ob4ob2obo5bo$bo2bo5b3obob3ob2obo2bo2bobo5bo8b4ob2obob
3obo2b2ob3o5b2obo2b2o3bo6bobob2obob3obo2bob2obob2o4bob3ob4obob2o2b3obo
b5o3b2o4bo2bob4o3b2obobob3obo2b3o4b3o2bobo2bob2o3b2o2b3ob3o3bo2bobob2o
bo2b2obob8ob3ob3obo$b4ob3o4bobobo3bo2b2o2b5o2bobo4b3obob2o3b2o2b3ob2ob
4o2bo2b3obo2b6o2b5ob2o2bobob3ob2o3bobob4ob2obo2bo2b4obo2b3ob2o2b2o5b3o
3b2o2bob2o2b2obob2obo4b5o2b3ob2o3b2ob3o4bob2o4b2o5b2obob2o4bobob2o3b3o
b2ob6ob2o$bo3bo6b2ob3o4bo2b2ob5ob4o2bo4b6o3b2o3b2obo3b7o5bo3b6obob2o2b
o2bobobobob5ob2o3b2o2bob2obo6bo4b3obo4bo3bob5ob2ob2o2b2o3b2ob4obobo2b
3o2bob7obob6obo2bobo2b2o3bo4b2obob2o2bo2b4o3bo2bobob2o2b2o$2bobo2b2o2b
2obobobob5o4b5o4bo2bo2bo4bobob3o2b2obo2bobobo2b2o3b2o2bob2ob10o4b3ob2o
b3ob3o4bob3obob9obo2b2o3bobo14bo7b2obob3o4b2o3b4ob2obob4obo3bo2bob5o2b
o2bobobo2bo2b2obo3b2ob2obo5b2o3b2obo$4b2o2b4o2b2obob3ob2o4bobo4b6o2bo
2bobobo6b2obobob4obo3b3obo4bo2bob2o2b5obo6b3o2bobo2bob2o3b2o2bob4o2bob
o3b2ob2ob3ob2ob2ob4o2bobobo3b2obobob3obobobo2b4obo2b2o3b3ob2ob4o2bo2bo
bo3bob8obo4bob2obobo2b4obob2o$ob8o4bo2bob8o3bob2o2bob2o3bo3bobo2bob2o
2b2obo3bo2bob6o5bo2b2ob3ob2ob2o2b3obobob3o3bobo2bobo3b8o2bob2obobo2b2o
bob2ob4ob3ob3o4b3obobo4b2o5b2obo3bobobo4b3o3b2obobobob2obob2obobob4o2b
6o4bobo2bob2ob2o$o3bo2bo2bob2obo3b3o2bo3b4o2bo7b2ob4o4b4ob3ob2ob4o4b3o
bobo7b2o4bo3bo4b3obob3ob3o2bo3b2ob4o3b2obo7b2ob3obobob3o2b2obob2o2b5ob
2o4b6o8bobob2o3bob2o2bo4b2ob2obobob2obo4bo3b2obobo2bo3bo2b2ob5o$2ob2o
3b5o3bob4o2bo2bobob2obo2b6o3b5o3bobo4bobo4bob3obo2b3o4b2o2bo2b4o4bo3bo
bob3o3b2o3bo2bobo3bob3o3b3ob2ob2o2b3o3b3o2b5ob2ob4obo2bo4b2o2b4o3b4o2b
o3bob3obo2b4o2b2ob4obob3o3bobo3bo2b5o2b2ob3o3bo$2bo7bob2o3bob2ob3o2bob
6o2bo2bo5b2obobo3b2ob2o2bob3obo2b4o2b5ob4ob5obobob5o2bo2bob2o2b2o3b2ob
o4b2ob2obo2b2o2bo6b3o2bo2b2obobo5b2o5bobob2ob3o3b5ob3o3b3obob3obo3b8ob
11o2bobobob3o2bo2bobo2bo2bo$ob2o4bobob2ob2o2b3ob2obo4b3o4bo2bob8o2b2ob
2o2b2obo4b2o4b6o3b2obobo3b2o2b2obobobobo2bo2b2obo2bo3b2o3bo4b2o6bob2ob
obob6o2b2o2b4obo6bobo2b2ob2o2b2ob2ob3o2b2obob3o2b2o3b2o5bob6obob4ob2ob
2obo3b2o3b3o3b2o$3bo2bo3bo3bob3o3b5o2b2o2bob2obobo3bo2b4ob2obobo2bob2o
b2obobo3b2ob6obob2ob3obo2b5obob6ob2o6b8o4bobo2b5ob2o2bob4o4b2o2bobobob
2o3bo6b2obo10bob5o2bob4o5bo2bob4o2b2ob2o6bo3bobo4bob2obobobob2o$ob2obo
bo2b4obobo2b5o3b3o2b5ob3obobobobobob2o2b2o2b3ob2obo4bobo4bo2b2obo5bo2b
o2bob2o3bo12bo3b2obob5obo3bob3o5b2ob2ob2ob2o5b4ob3o3bobo2bo2bob2o2b5o
4b2o3b2obob2o2bo2bob3obob3ob2ob4o2bobob4ob2o2bob4ob2o$3ob2obo2bobo2bo
3bo2bo2b2o2b2obob2o2bo3bob5ob2o3bob2obob7o2b3obo8b2o2b2o2b2o7bobob2obo
4b2o2bo3bo2b2o3b5o3b2obobobo3b2ob2ob2o3b2obo2bo2b2o2b2o3bo2b7ob5ob2ob
2ob3ob3o2bob4ob4o2b5o3b2o2b2o3b3o3bobo3b3obo$obo4b2obob2o2bob2o2b2o7bo
6bob2ob2obo3bo5b3obob3o3b2ob3ob3o3bo3b3o3bo2bo2b5o2bobob6o3b2ob2ob2obo
b2obob2ob2o3b2o3b3o2bobo3bob3obo2bo3bobo2bobo8b2obobo3b3obo3bobob3obo
2b2o2b5o2bo2bo2b5obo2bo2bobob2o2b4ob2o$3ob3o3bo2bob2obob2ob5o3b4ob3ob
2obobobo3b2o3b2ob2obobob4o4bobo3b2ob3o3bob3o3bobobo2b2o2bo4bo2bo4bo2b
2o2bo2bob2o2b2obobo4bob2o2bob3o2bo2bo2bo3bo4b4ob2obo2bobo4bo3bo2bob3o
4b2o5bo5bo3bobobobo2b3obob2ob4obob5o$b2o2bo2b3obob2o6b3o3b2obobo2bo2bo
2b4ob4obobo2bo4bo3bo4b4obobo4bobo2bobo3b2o3b2ob4o3b2o2bo4b4o2bo2bo4b5o
b2o5b2ob2o3b2obobob2obob2ob3ob7obo3bob2ob3obobo2b5obobob2o6bobob3o2b2o
b3o4bobob3o5bo2b3o3bo$2obobo2b4o3b2o2b2obo2bo2b2obo4bobob4o2bob2o2b3o
2b4ob2o3b4o4b2ob2ob9obo2b3o2bobo2bob3o2bo4b2obob3o2bo3b2o3bo4b3o3b2o4b
o6b5ob3o3b2ob3obob3o7bobobo2b2o2bo2bo2bo2bob2o2bob5obobo2bobobob3obo2b
obo2b4obo3b2o$bob2o4b5o7b2o5b2ob2ob3obobo4bo2bo2bo5bob4obobob2ob2obob
2o7bob2ob4ob2obo2bobobob10o4bo6bo2bo3bob2o2b2o2b2o5bo3bob2obo2b2obo2bo
b4o3b2obobo2b4o3bobobob5o2bobo2b3o2b2o3b2obo3b6ob3obo2bo2bob3ob2o2b2o$
3ob7obobobobo3b2ob2o2bob2ob3o3b2o3b2ob4o4bob5o4bo2b3obob2obob4o3bo3b2o
2b2ob7o2b4o2b4o4bo2bo2bo6b2o3b2o7bo2bobobo5bobobo3b2o5b2o6b2ob2obo8bo
3b4ob2o2b2obobo2b2obo4b2o2bo2b5o5bob5o2bobo$bob2ob2o5bo2bo2b5o3bobobo
4b12ob3obob4obob2obo4bo3bo4b3obobobobob2ob9o6b2ob2ob3o5b2o2b2obo5b2o2b
ob5ob3o4b2obo3b2o7bob2o2b2ob2ob2obo2b3obo2bo2bobob2o4b2ob5o3bo6b2ob3ob
2o2b3obobob4o3bobobo$8b3o2b2obobob3ob2obo3b3o2b3o3bo2b2o2b2o3bob2o2b5o
5bo2b3o2b2o3b2o2b2o2b5obo2bob2o2b2ob2obob2o2b3o2b5obob2ob2obo3b2ob4o2b
ob4o8bobo4bo2b2ob2obob6ob4o8b2o3bo5b2obo2bo4bo5bo4b5ob4o3bo4b3o2bo$b3o
4bobo2b7obobobob2obo2b2obobo3b3obo2b2o6bobo2bobo5b4ob5obob3obobo3b2o2b
ob3o4bo3b2o2b2ob2ob2ob3o2bob2ob2o5b3o2bo4bo2bo3bo4b4o2b4o2bo2bob2obob
2obo2bobo5bobobo6b2ob2ob2o5b2ob6obo4bob4o2bo4b3o2bobo$3bo3b2o3bo6b2ob
2obob3obobo2b3o2bob2o2b2o2b2o2bo5bob2o2b2obo2bobo2b2o2bob2obo3bo2b5o2b
ob2obo3bob2obob3ob2o2bo3b2o5b2o2bob3ob3obob4o4bo2bo3bo3b2o2b2o2b2ob2ob
ob2o3b2obobo3b2o2bo2bo2b2ob2o2bo9b2obob3o4b3obo6bobo2bo$5o5bobob2o2bo
4bobobob2obob4obobob2o3bo5bobo2b3o3bo2b2ob3ob2o3b2o2b3o3b4o2b2ob2o4bo
2b2o3bo2b2o2b2o5b4o4b9ob7o2b2ob2obo5b4o2bob4o2b2ob3o3b2ob2o3bob3o2bobo
b6obo2bob5ob2ob2ob2obob4ob2ob2ob2ob2obo$2b2o3bob4o4bo4b2obobo3bo2b2o2b
2o4bo4b11o2bobob2o3b3ob4ob3obo3bobobob3o2bobo2bob2o2bo2bo2b6o2b5o3bob
5o3b2ob2o2bob4obo2b4ob3o4bobob2obo2bob3ob3obob5obob3obo9bob4o2b2ob2o2b
o2bo2bo11b2ob2obo$obo2b2o2b7ob2obo3bobo2b2ob2ob3ob3o2b2obo2bob4o2b5obo
bobobo4b4o3bo4b4o3bob2o2b3o3b3ob2o2bo2b7obo2bo3bob2obo4bo3b2obobo3b2o
3bo3bobob3o3b3ob2obob2ob2o2b2ob2o6bo3b5obo3bob2obo3b2o2b4o2b4ob4ob4o2b
2o2b2obo$b3o3b2o2b5obobo3bob2ob5o2bo2b6o7b3o2bobo2bo2bob3ob3o4bobo2b2o
bob2o6bobo4bobob2o2b4o5bobobobobo2b3o3b4o2b2o3b2obo6b3o4bo2b3o3b4o2b3o
b2o2b2obo3bob2o3b2ob4o2b3o3b2o2bob2o3bo5bo3b2ob3o4bobo2b2ob3o$3ob2o2bo
b4obobobo3b5obobobobo4b2ob2o2bob4o2bob2o2b2o2bo2bo2b2o3bob2obobo3bob3o
bob3ob2ob2obob4ob2o5bo4bob4o3b3o2b4obobobo5b3obo4bob4o2b2ob7obobobo2bo
bo4b2o4b2obo2b2ob2o2b2o3bobo2bobob5o2bob2o3b3o4bobo5bo$o3bo2b2o2b3o2b
3o2bo2b2o2b2o4bob3o3bo2b4o2b3ob2obobobobob3o2b10o2bo2b2obobobobo4b2ob
2o4b5obo2bob2o3bob2o5bob2obo2bob3ob2ob3obobob4o2bobo2bob2ob3o3b2o5bobo
2b2obo7bo2b2ob2obob5o2bob3o6bo4b2o3b6o2bob2obo$2b2o5b2o2b2o3b2ob3ob2o
3b3obo2bo5b2o6b2obo5bo4bobo2bo2bob4obo7b3o3bo2b2obo2b2ob2obob3ob3o2bob
ob2o5bo3bo2b2o3b2ob6o2b4obob2obo2b8ob2o2bo5bo4b3o3b2o2b5o3bo2b2o3bo7bo
bo4bo2bob2o3b5obob2obo3bo$3o3b2ob2o6b3o3b4ob2ob3ob4o2bo3bobo2bo2bo2bo
2bo3bobob6obo2bo4bobo2b2ob3obo3bo3b3o2b2ob3o3b3obobob4ob2o4bob2o2bo5bo
2b2obo2b4o2b2ob3o2b5o2b2o3b2o4bobob6o4b2o3b2o2b3o2bo2bo2bob2o5bobo3b2o
4bob6o5bo$bo4bo3bobobo5bo2bo2b2o2bo2bo3bo2bo2bobobobob2obo2b3ob2obobo
3bo4b7obob6o4b2o5bo4bobo2b3o2bo2b3obo2b3o2bo3b7o3b8o2b4ob4o3b4ob6o2b2o
2bo3b6o6b2ob4o4b2ob2o2bob3ob6o4bo3bob3ob3o2b4o2bo$2o4bo4bobo2bo2b5ob3o
bob3o3bob2o5b3ob4o2b3obobob2o2bo4b5obobo4bo6bob3obo2b3o2b3obob7o2bob2o
bo2b2o3b6obo6bob2ob2ob3o2bo2b3o4bob4o3b2o7b3obo2bo2b4o2bob2ob5o3b7obob
ob2o2bobob2o2b5obo2bob2o$o2b2ob2ob6ob5o3b3o2b2o6bo8b3o2b4obo2bob2o2bob
2ob5o3bo3bo2b4o4bob2o2b5o6b2obobo2b5o3b3o3b2o2b2o4b4ob3o3b2o3b2ob2o2b
5o2bo2bob2ob4o4bob2o3b4obo2b2o2bobo4bo3b2obo2bobobobo2b2ob2ob2obob2obo
b2o2b4o$bobob2o5b2obo3b2o2b2o4b4o3bo2b3o2bob2ob2obob3o2bobobo4bob3obo
2bob3ob3obo2b4ob2obob4ob3ob3ob2obo7bob2ob2ob2o7b3obo2b3ob2obobo3b3ob6o
b2ob3o2bobobobob5o3b4o4bob3o2b3o2bo6b5obobobo3b3ob2o4bo7b2o$2obobo4b6o
4b2obo2b2o7b3o2bob2obobo2bo2bobo4bo13bo3bobob2ob8ob3obo2bob3o2b2o3b3ob
obo2b5ob3o3b2o4bob3o2bo5b3o2b3o2b3o2b2o2bobo2b2ob6o2b2obobo3bo4bo2bob
2o4bo4b3ob4o3bob2o3b5o2b3ob4o3bo2bo$b2obo2bob2ob2o3bo2bo4b2ob2o2b2ob2o
2b2obob3o2bobobo2bobob2obobob2ob3ob2o3bo3bobo3b2ob6ob2ob5obob2obo3bo6b
o3bo2bo2b2o2b2ob4obo2bobo2b3ob3obo2b2ob4o6b5o2bobob5o2bo3bob3o3bob3o2b
o3b3obo3bob2o2bo5bo2bobobobobo3b2o$2obo4b3o2bobob2ob2o3b3ob2obo3b2ob2o
b2o2b2o2bo4b2obobobo6b2o2b2obobobob2o3bo2b3ob4obo3bobob2obob5o2b5o6b2o
3b2o3b2o3b4ob2ob2ob2o2b3ob2o4bo2bob2o2bob3ob3o2bo3bobobo4bob2o3b2o3b3o
b3o2b3o2b3ob2obo2b4obobo3bob2obo$o3bo2b3obo4b5ob6o2b4obobob4o3b4o6b2o
3b2o3b2obob2obobo3b2o2b2o4bob2o4b2ob6o6bobo6b3obobobobob2obob2obo2bob
2obob2ob3o3b2obobob3ob3ob2ob4ob4obo2bobobobo2bob2obo2b2o2bob2o2b3ob3ob
ob2obo4b2o3bo2bo2bo6bo$2bob4ob3o3bobobob2ob3o4b4ob2o2bobob2obob4o2b2o
4bobobo2b3o3b3obob2o2bo2bob2ob2obobo4b4o2bo2bo2bo2b7o5b3obobob2o2bo6bo
b5o8b2o3b2obo2bobo3bob2o2bobo4bo3b2o2b2ob2o2b3o2bobo4bo2bo2bo4b3ob2o2b
obob3o2bo7bo$bob2ob3ob2ob2ob3o2bobo3b2obo3b4o2b2o7b5o5b4o2b2o2b2o2bo2b
o2b7obo2bob3o2b4o2bo2b2obob2o2bo2b5o7bo2b2o2bo2bobobo3bo3bo5bobo3bob7o
b3o2b2o5b4ob2obobo2bo2bob6obo5bob4obobobob3o4b3obobobo2b2ob2o2b3o$2o2b
ob5o3b4ob2ob4ob3o4bob2o4b8o6b2o3b3o4b5obobo2b2obo2b2ob3o2bo2bobobo11b
5obobob2o3b3o2b3obo2b10ob2ob2o11b4o2bo4bo2b8o2bob7o2b2o2b2o6bobo3b6o2b
o3b3o6b7o2bobobo2b2o$4o3b4ob2o2bo2bob2obob3o2b3o7bo4bobob3ob4obob2obo
2b2o6bo2b2o4b4o4bo2bo2b2o3bo2b2obob2obobob2ob4ob2o2bobo2bobo2b2ob2o2b
2obo5bob3obob3ob2o2b4obo4bobo2b2o3bob13o2bob4o6b2ob2ob2o3bob2ob2o4b4ob
ob2ob2obo$3bo3bo4b2o2bob3o2bo2bo2b4ob3o2b4ob3o2bobobo6bo12bo5b4obobo7b
4obo3bobo2bob2o2b4o2b6o3bo3b3o2b2obobo4bo2bob4o2b8ob5obob3o2bo2b5o4bob
2o3b3o2bobo2bo3b7obob5obobobob2o2bob3obo7bo2bo$obob2o4b2o2bo7bo2bobo3b
3ob8o3b2o2b2o2b6o4b3o2b2o4bobobobobobo2b3ob2o6bobobo3b2o3bo3bob2o2bobo
2bob3o3bobobob3o3bo3bob3o2b3obobo2b3ob2ob3obob4obo6bo2b5obo2b4o3bob4ob
obo5b2ob4o2bob3o3b8o2bo$2b3o2bob4o3bo2bobo7b2o3b2ob2o2b2o6b3o3bo3b4o3b
3o14bo6bob3o2bobob4o2b3o2b3o3bo3bob5o2bob2o4bo3bo3b2o3bobob3obobob6ob
2ob5o2b2o3b4o2bobobobo3b3o2b6o4b2o4bo3b4obob2ob4o2b2o4bobobo2bo$b2obob
3o2b7o3b4o2bo2b2obo2b3o3bob4ob4obo2bob2ob2obob2obo3bo2b2obobo3b2o4b4o
2b4o3b2ob2o7b2o2b2obob2obob5o5b5o2bo2b6o2bo3b2o3b5obob3obo2bo3bobo2b5o
4bob3ob7o2b2o3bob2ob2ob2ob4o2bo3bobob3obobo$obobo3b3o3bobo2b4o2bobobob
4ob6o3bo3b2o3b2o2b2obob2ob2o2b3o3bo5bo2b6o2b2obobo3bo4b2ob2obo2bo2bo2b
4ob3ob2ob6obob2o2b2ob4obo2bobo5bo3bo2bo2b2ob3o3bobob3ob2o2bo2bob3obobo
bo3bobo6b4o2b2ob3obo2bo2bobo6b2ob4o$2ob5obo3bob8o2b4o3b7ob3obo3b3o2bo
2b2obo3bob2obo2b2ob2o2b2obo7b3ob5o2bo3b5o2b3o2bob2obo2b2o3bob2o2bo2b3o
4bo2bo2bob2obo3b2ob3ob3obo3bobo4bo2bobo2bo2bo2b4o4bobobobob2o3bo4bob2o
3b2o3b4ob2obo5b3ob4obo$3b3o7bobobo7b2obobo2b2o5b2o2b4ob4o2b2o2b3obo4bo
bo4b2o6b2ob2ob4obobo2bobob2ob4o4b2ob3obo2b2obobo5b2obo2b3o2bobob3o2b2o
b2o3bo4b5o4b2obob2obo2b2ob3o2bob2ob5o4b2o4b3obob3o3bo2b2obob5o2bo4bobo
2bob3o$4ob2o4bo2b2obo2b5o3bob4o7b3obob4o2b4o2bobobo4bo5b6ob4o2b4o2bo5b
o4bo2bo3b2obo3b2ob2o5bobo2b3ob2o3b3obo5bo3b2obo3b2o2b4o5b5obo3b2o2b2o
2bo2bo4bo2bob5ob3o2bo3b5o2b2o4bo2b2o2bo2bo5b2o3bo$3b2o2b2o2b2o2b4o2b2o
2b2o2b5ob5obob3o5bobob3o3b2obob2obob2ob2o2bob3o2b3o2bo4bob2o2bobo2b5o
2b7o2b5o2bo2bob2ob2o2bo2b2ob4o3bob2obobo2bo5bo5bo3bo2bo2bo2b3obob3o2bo
2b2obo2b2obobob3o3b3obo2bo3bob2ob2o2bob3ob3ob6o$2obo4bo2b2o2bo2b2o2bob
obo3bobo4bob3obo4b2o4bob2o2bo3b3o3bo2b2obob3o3b3ob4o5b2o2bob6ob2o2b3ob
ob5o4bobo2b2obo3b4o2bo6b2o2bobobobo3b3o3bob2obobo3b3ob2o4bob2o2bo3b2o
3bo2b4o2b7o4bo3b3obo2bo3b5obobobobo$b4obobobobo5b5o4b2ob2o2b3ob2o2b2o
10b4o3bobo2bobo2b11o2b2ob6ob2ob5obo2bob3obo3bo4bo2bo5bobob3o3bo3b5ob3o
2b4ob3o2bobo4bob2o2b2o7b3ob4ob4o2b3ob3obo3bob2obob3ob3obo3bo2b2ob3ob2o
2b6o2b2o$2bo2b5o3b3obo3b3o2b5obobobobobobo2b4obobob3o2bo2b3ob2obo4bob
2ob4ob2o2b2obob2ob2obo4b3o2b4o3bob2obob3o3bo4bobo3bob3o4b2o2bobob4obob
4o4bobobob2ob2o2b4obo5b3ob2ob2o3b5obobob2ob3obob2o4bobo6bo2b4obob3o2bo
$o2b2obo4bob2ob2o7bob5obo3bo2bo2b3o5bobob2o4b2obobob7ob3ob3obobobob4o
2b2obobob3o3b2o4bo6bo5b3obo2bo2b8o2b3o4b2ob9o3b2o3b7o4bo2bob6ob3o4bo2b
ob5obo3b2ob4obobo6bo2b2o2bo2bo2b4o3bo$2bo3bobo4b2o2bo4bob2o2b4o2bobo4b
2obo5b2ob2obobobob5obo4b2o2b5ob2ob2obob2o4b2ob3o4bob4ob7o2b3o2b2o3b3ob
2ob2ob3o2bobob2o2bob4o3b2o4b2obobobob2obobobob4obo2bob2o2b3obo3bo3bo2b
4ob3o6b3ob2o3b2o2b2o3bo2bob2o$bo2bobob2ob2ob4obobo5bobo2b3obob4obo3b2o
2b2ob5ob5ob3obo2bo2b2o2b5o2bob2obo4b3obo3b2o2bo2b3o2bobobo4bobo2b2o3b
3o4bobo2b2o2bobo2b2o3bobo2b8o3bobo2bobobob2o3b2o2b3obo10bo3b5ob3ob2obo
b4obobo2b4o3bo2bo3b2o$2b4o3b5o2b2o2bobob3obob2o4b2ob2o2b3obo2bo2bobo3b
o2b3ob2o2b3o7b3ob4o2bob2o2bob6o6bobo2bob4ob2ob4o2bob2o7bo3b2o2b2o2b3o
3bobob2obo2bo2bobob2ob2ob2o2bobobo6bo6bo4b5obo5bob3ob2obo5b2o2b4obob7o
$2ob3o4bobo2bob2ob2ob2ob2ob2ob2o2b2o2b3obobob3ob2o2b2o2b3obob5o3b4o5b
2o2bobobobob3o3b3obob2o2b2obo3b2ob2o4b3o2bo5bobo3bob2obob5ob2o4bo6bobo
5b6o5b2obo2bo4b5o2b2o2b2o4bob7obobobob5obo2b4obobo2bo3bo$obob4o3bo4b2o
3bob4o2bo2b2obob7ob3ob3o2b4ob3o3b3ob4obob2ob2ob3obo3b2obo2b7ob4obobo3b
2o7bobob4o2b2ob2o2b2ob8ob2o3b2obo2bo3b3obo2bo3b2o2b9o4bo2b2obob5ob6o4b
ob6ob2obob5o4b2ob3o3b6o$ob2o3bobobobo3bo4b2obob2ob4ob4obo4b3o2bo2bobob
obo7b2o2b3o2bobob2obo5bobobobo6bob3obobobo6b2ob3o2bobo3b2ob2o2bo2b3o2b
ob2obo3b2o3b4o9b6ob2ob2obo2bo2bobo2bo7b2o2bob3o3bo2b2o2b6ob4o3b2o2bo2b
3o3bob3o$2bo2bo2bo4b7ob2o6bo2b2o2bobo4bob4ob2o5bo3b6obob3o4bo3bo3b7obo
b2obo2bo2b2o2b2o3bo4b7o4bobo5bo4b3ob8obobob3o3b2o3bo4bob2o2bo2bo3bob2o
2bo3b2obo4b2ob2obob2obob2o2bo4b10o3b3o2b3o4b4o$b4obob2o2b4ob3obo2b2obo
b4ob2ob3o2bob3ob2o5bobo3bob2ob4ob2obo3bo2bo2bobobob3ob2o2b2o2b3o2bob2o
bo2b2ob2o5b4o3b2o2bobob3o3b4obo2bo3b3o3b3o6b2obob3o2b2obobo3bobob2ob2o
2bo2b5o2bobo3b3ob3o3b5o4b3o2b2o4bob3ob3o$b4obob2o2b4ob3obo2b2obob4ob2o
b3o2bob3ob2o5bobo3bob2ob4ob2obo3bo2bo2bobobob3ob2o2b2o2b3o2bob2obo2b2o
b2o5b4o3b2o2bobob3o3b4obo2bo3b3o3b3o6b2obob3o2b2obobo3bobob2ob2o2bo2b
5o2bobo3b3ob3o3b5o4b3o2b2o4bob3ob3o$o4bo5b2ob2ob3o2b2o2bobob2o2bo2b2o
2bobo2b4obo2b3o6bo3bo2bo2b2ob3ob2o2b3obo3bo2bob2o3b2obob4ob4ob2o3bob3o
8bob2obobo2b4obo3b4obo2bobo2b3obo3b2ob2o3bo2bobob4ob2obo2b2obo3bo2bob
2obo2b7ob3obo3bob3o3b2ob2o5bob2o$b2obo2bo5bobo4b8o3b5ob2o7bo3b6o5b2ob
3o4b3o2bobobo5b3ob2o3bob2ob2o3b2ob2o2bo2b2o4b3ob2o3b3obo2b2obo9bo3b2ob
2ob3o3b2o2b3o3b2ob2o2bob2o4bobo5bob2ob2o2b2o4b2o3bo10b3obo3bobo3b2ob3o
2bo2b3o$o4b2ob4o14b3o7bo2b3ob4ob4ob3obo2b3obobob2o5b5ob3o2b5obo2bob3ob
2obo3b2ob2ob2ob4obobo5b2o6b3ob2ob3obo12bobob2o2bobobob2obo4bo3bo2b2o2b
o3b2o2b3o3bo2bo2bo3b3obo2bo3b3ob2obo2b2o3bo2bob2ob4o$2b2ob7ob2o2b4o3b
4ob2o4b3o3bobob4ob2o2bob2ob3o3b2o2bo3bobo2bob2obob3o3b2o3b2obobob2o3bo
bo2bob2ob3o2b4obob3o4b2ob7o2bob5ob2o2b3o6b5ob3obo5bobo2b2obob8o5b3o2b
4ob2ob2o2b8ob2obo2bo2b2obo2bobobo$obobo7bo2b2o2bob2o2b2o5bob4ob2o3b2o
3bo4bo2bob3o2b3obobo2bob2o4b3o2bo8b2o2b2o6b2o2bo3b2o2b2ob3o2bo4b5o2b2o
2bob3ob3o4b2o2bob3o2b4ob2o3bobob2o2b5o2bo3bo2b3o4b2o2bo3bobobob5obob6o
bobo2bo8b4ob3o$2bo2bob2o2bo8b2obo2b6ob2o6b2ob3obobobo2b4o2b3ob6o2b3obo
2bo2b3o5b2o4b2obo2bob2obob3obob6ob6obo7bobo3b2obob5obo3b5o2bob3o2bo6bo
2b7o3bo3bo4b3o3b2ob3o4bo4b2ob3obob2obob2ob2o4bo3bo2b3o$ob2o2bo5bo2bo5b
4o4bo4bobobobobo3bo4b2ob2obo3bo2bob3ob5ob2o4bobob2obobob2o2bo4bobobo3b
o2b4obobo3bo4b2o3b3o2bobob2o2b2obobob4obo2b2o2b2o2b5obobo2b2ob3o2b3obo
2bobo2bobo5b3obo4bo2bob3obobo2bobo2bob3o2b2ob4o4b3o$2obob2o4bob2o4bobo
b5o2bo2bob2obob3o5bob4obo4bob2o2b2o2b5obo2bo2bob2obo2b3o2b7ob2ob2o2b2o
b3o3b2ob3obo2bob2obobob2ob5o2b2obo2bobob2obobobob4ob6o4bo2bob2o8bobo3b
o3b5o2bob3ob3ob2o2b2ob3ob2o4b3o8bobob2o$o2bo2bo2bob2obob3o2b5obo5b2ob
3ob4o2bo2bob3o4bobo4b4o2b2obo3bob2ob2o2b2obo4bob7obo2bo2bo2bo2b3o3bobo
bob2ob3o2b3obobob2obob3ob3o3bo2b5o4bob3obo2b3o3bo4bo3bo2bobob3obobob3o
2b2o2b2o3b2ob3obob2obo3bob2obobob2o2bo$5obob2obo2bobobo4bobobob2o6b6o
2b5obo2bob2o3bo3bobo5bo2bo2bobob2o3bo2b2ob5o2b2obobo2bob4obobobo2b5ob
2obobobo2bo2b4obo8bo2bob2obob2o2b3ob4obo2b3o4b2ob7o3b3obob2o3b3ob7ob4o
3b2ob4o2bo2b4o3bo4b2o$2obob3o3b2o2bo3bo4bobo3b2ob3ob2obobo3b2obobobo2b
4obo3b4ob4ob2o5bo4b2o2bobo3b6obobob2ob2o2b2ob5o3b3o2bo2b8obobob2ob2ob
5obo2b4o5b7ob4ob2obo8b2o3b3obo2bob2o7b2o3b2o2bob2ob2ob3ob3o2b3o3bobo2b
2o$b2o3b3o6b5obo5bo2bo2bobo4bo5b4o3b3obob2o3b3ob2o3b2ob2ob4ob2o2b2o3b
6ob4o5b4obo2bo3bo4b2ob2obo9b11o3bo2b5obo2b2ob2obo2bo2b2ob3obo3bo3bo2b
3o2bo3bo3b5o3b2ob2ob4obo3bo2b2o6b3o3b2o4bo$2o2bobobo3b2ob2o2bobobo2bob
o2b7obobo2bo2b2ob2obobo6bo2bob2obo3b8ob2o2b3obobobo3b2o2bob8o3bobobo2b
5o3b3o4b3o2b2ob3o2b2o2bob2o4b2obob2o2bob3obob2o3b2ob3o4b3o3b3o2b3ob3o
4bo3b3obo4bo3b4o3bo2b2o2bobo3bo$4bobob3o2b2obo3bo2b2o2b3ob3o2b3o2b2o3b
2o4b5o2bo2bob2obo9b2o6b4o2b3o2bo3bob3obobo3bo2b3obo2b2ob4o4b4ob3obo4b
3ob7o8b2o4bo3bo3b2ob2o3bobo3bobo2b3ob2o3bobobo3bobob2o3b2o2bob6obo2b2o
b2o9b2o$3bo2b4ob2o2bo2b2obobo2b2ob4obo5b2o4b2ob3o3b4ob2ob3o3bob5o2b2o
2bob2ob2ob2o2bo2b2o6bo5b3o2b2obob2o4bo3bobo2b2o3b2o8bo4b2o2bob2o2b5obo
b3o4bo2b3obobobo4bo2bob3obobob2o4b2o2b2o2bo4bob2o4b2o3b2obob2o2b4obo$o
bo2bo2bob3ob4obo2bobob2o4b4ob2o2b5ob3o2b2o2b2obob2ob4ob6obo2b2ob2o2bo
5b3ob4obo5bobo2bobo2b2o3b5o3b3ob2o3bo3b4o2b2o5b3obo2bobob3o9bobo2bo2bo
b2ob8obo3b2ob2obob3obo2bo3bo2b4o2bobob3ob4o2b3o4bobo$b3ob3o3b2o2bo4b4o
bob2o6b2ob2o4bo2bo4bo2bo2bo2bo3b3o2b3obob2ob5ob2o3b3o5bo8b2obob4o3b2ob
ob6o4bo2bo3b3o2b2o2b6o3b4o2b3o3bobob2o2b2ob2obo4b2o2bobo2bobo3b2ob2o2b
2o2bobobo3bobo3bobobo3b3o2b3obobobo4bo$2b8o2b2o4bob4ob4o3bob2o2b5o3bo
4bob2ob3ob2o3b4obo2b5o4bobo2b2obobob2o3bobobob3obo4bobobob2obob4o2b5o
4b2o2b4obo2bo3b4obo2b3ob3o2bob4o2b3o3b2ob2o3b2ob2obo4bo2b2obobobob3ob
2ob5o2b4o2b3o5bobob5obo$b4ob2o3b3ob5o5b2obob2ob7o3b4o2b2ob2ob2o3bobob
4obob4obob2obob3obobob2ob2ob2ob2o2b2obo3bo2b3o6b3ob2o2bobobo3b3o3b2o4b
2o3b3obob2ob2ob4o2bobo5bo2bo2bob2o6b3ob2obo6bob2obobo3b3obo2bo5bo2b2ob
o2bobo2b4o$bob2ob5obob3obo5b5o2bobob2ob2o2bob3o2bob2ob2obo2bob5o3b10o
2bob9o3b2o4b7o2b2obob2o3bo2b2obob2ob3o2bo2b8obo3bo3bo3b3ob2ob2obobo10b
3ob2o2bo3b5o3b4o2b2ob3o2b4ob2ob3ob2ob2o3b4ob2o2bo2b2ob5o$2ob3o10b2obob
obo2b4o2b2o3b2o4bob3obo2b2ob3ob6obobo5bo6b2ob2obo3b3o7b3ob2o2b7o2b4ob
2o2bob6obo2bob3obo2b2obo3bo3b2obob2ob3ob2obo2bob2obob2o4b2obobo3b2o2b
2o2b2ob4o2b2o2b2obo6b3o2bo5bo5b2obo2bo2b2o$obobob5o4b3obob5ob2ob4obo2b
2obo3bob2o3bo2bob3obo7b2o8bo6b2o2bob3ob3ob3o4b3obo5b5ob4o4b3o2bob2obob
2o4b3o2b3o3bob2obobo5bo2bob2o3b5o2bo4b2ob3o2b4ob6obo4b4o3b3o2bo3b6o2bo
2b2obo2b4o$3bobob3obobobobobob3ob4ob7ob5o2bo4bobo3b3o2bob2o2b2o2b2ob2o
2b5ob2obo2bo2b2obob3o5bo3bo4b3o2bob4obo6b2o4bob3o2b3o2b3o2b6o2b6obo2bo
bobob2obob2o3b2ob2obo8b5o3b2ob2obo3b2obobo2bobobo2b7ob4o4bo$b2o2bobo5b
2o4b4ob2o3b2o2bo4b2obo11bobob2ob4ob2o2bob9obob6obob2ob4ob2ob3ob2obo10b
ob7o3b6o3b3ob2o2b3o4bo2b3o4bo2b2o2bobo3bo2b2o3b2obob2o4bo2b3o3b6obob2o
bob2ob3o2bobo4bob6o2bo2bo2bo!
It would help us understand your work better if you describe how you obtained the multicolored gif.

User avatar
yujh
Posts: 3068
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: Evolving novel rules for CGoL

Post by yujh » April 25th, 2020, 4:02 am

DrMiaow wrote:
April 24th, 2020, 3:15 pm
Hi,

First post here. I muck about with artificial life via a fun long term project I have been working on; Seems I have time to play with it at the moment :)

Anyway, I turned it towards evolving the CGoL rules (genetic/reinforcement), it came up with many strange variants.

Not an expert on CGoL. I was wondering if anyone had ever seen *this* way before?

https://twitter.com/DrMiaow/status/1253586275417894912
Sorry, I just can’t open this because I’m in China, would you just post the video( or the pattern with the rule) here?
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

User avatar
Macbi
Posts: 903
Joined: March 29th, 2009, 4:58 am

Re: Evolving novel rules for CGoL

Post by Macbi » April 25th, 2020, 4:17 am

Is the idea that this gives a way to evolve a pattern in Life which is faster than the usual 'count the neighbours' approach?

DrMiaow
Posts: 5
Joined: April 24th, 2020, 4:21 am

Re: Evolving novel rules for CGoL

Post by DrMiaow » April 25th, 2020, 5:32 am

Not sure how to visualise what you posted. I'm going to guess this is a "standard" format for loading into a CgOL app?

It's one world divided into two. Blue half is run by hand-coded rules for CGoL, red half is run by evolved ones.

Gliders etc can move from one half to the other. I've been working towards a visualisation of my system as it learns but this visualisation just runs the two rule sets side by side. This one is fun because when the rules on the red side are wonky, you get sidewalls, firewalls, chaos, disintegration, gliders on fire off the shoulder of Orion. Highly amusing.

The function it was tasked to solve was CgOL in the form...

f(state, neighbours) = state'

"Given a current cell state, and the number of its neighbours, what is its new state?"

The interesting thing is that the algorithm it discovered gets it right by making two comparisons after doing some maths on state & neighbours using Euler's function, Cosine, and Euler's number e and for good measure a multiplication.

Code: Select all

Program '97047551'
  START
    0: 'EXP'
    1: 'COS'
    2: 'SWAP'
    3: 'INPUT' '0'
    4: 'E'
    5: 'MULTIPLY'
    6: 'INPUTN'
    7: 'GETN'
    8: 'EQUAL'
    9: 'GREATER'
  END
Some people would say this program was designed by an AI, I don't, but I can say that it wasn't written by a human, but instead by a machine with the sole task of finding a solution to a problem. That said, it's hard to explain how it works (* see not human). It reminds me of insanely optimised assembler that would use undocumented side-effects of instructions.

Anyway, if I have a really big cup of coffee and look at a run-through of the function and try and document each step...

Code: Select all

#                                   false | 3                     # Starting state of stack  [state, neighbours]
#    STEP:  1    0 [       EXP] =>  false | 20.08..               # exp(3) => 20.08.. 
#    STEP:  2    1 [       COS] =>  false | 0.328..               # cos(20.08..) => 0.328..
#    STEP:  3    2 [      SWAP] =>  0.328.. | false               # Swap top two elements of the stack
#    STEP:  4    3 [   INPUT 0] =>  0.328.. | false | 3           # Push original 'neighbours' parameter onto statck
#    STEP:  5    4 [         E] =>  0.328.. | false | 3 | 2.718.. # Push e onto stack
#    STEP:  6    5 [  MULTIPLY] =>  0.328.. | false | 8.154..     # Multiply neighbours by e => 8.15..
#    STEP:  7    6 [    INPUTN] =>  0.328.. | false | 3           # Choose input based on current cell state. (See * below)
#    STEP:  8    7 [      GETN] =>  0.328.. | false | 0.328..     # Choose stack element based on chosen input (See * below)
#    STEP:  9    8 [     EQUAL] =>  0.328.. | false               # Compare results (last two fetches) put true or false onto stack.  (See ** below)
#    STEP: 10    9 [   GREATER] =>  true                          # Is the result of the previous EQUAL (See *** below)


* Explanation of steps 7,8 which takes some effort because this code is literally inhuman.

INPUTN takes the rounded value of what is on the top of the stack (as N, taken off the stack) and uses it to choose one of the original parameters. In this case, it wants the 8th. The input stack wraps around and is in this case of size 2 [state (index 1), neighbours (index 0)] which means because N is even it chooses 'neighbours' which gives us a value of 3. This implies that the previous multiplication of neighbours by e is used to choose which of the two parameters on the input stack to push onto the stack. It would have pushed false onto the stack if N was odd.

GETN then uses the result of INPUTN, to do a similar indirect lookup but on the normal stack. It uses the result of the previous INPUTN Which means it's choosing any one of the two remaining values on the stack (there were three but N is taken off the stack). So it will be choosing either the state of the original cell (in this case false) or the result of cos(exp(neighbours))

** EQUAL - So, we then compare (original cell state or the result of cos(exp(neighbours))) WITH original cell state. This will be a truthy comparison. (positive non zero-numbers counted as TRUE, 0 and negative numbers as FALSE)

*** GREATER then asked if the cos(exp(neighbours) is greater or less then the result of the previous equal (FALSE=0, TRUE=1)

So..

What I think is going on is this..

cos(exp(neighbours)) is a periodic function which matches part of the logic for CGoL All are negative (FALSE) except 2,3 and 6(?) and this is then being utilised and filtered such that 6 is always false and 2 depends on the state of the cell.

e * neighbours is ODD for 3, 5 and 7

The two of these are being combed/combined and we get the correct result.

Anyway that is my guess. I figured it out for myself, my original post was wondering if anyone had seen this or any other arcane ways of evolving CgOL because I've chosen it as a finite test function for my system and I'm seeing a lot of interesting results, this one by far is the weirdest.
Last edited by DrMiaow on April 25th, 2020, 9:52 am, edited 2 times in total.

DrMiaow
Posts: 5
Joined: April 24th, 2020, 4:21 am

Re: Evolving novel rules for CGoL

Post by DrMiaow » April 25th, 2020, 5:37 am

Macbi wrote:
April 25th, 2020, 4:17 am
Is the idea that this gives a way to evolve a pattern in Life which is faster than the usual 'count the neighbours' approach?
Not really. It's to find different ways to perform the logic once the counting is done. Maybe one day I could task it with counting. It would be an interesting experiment.

The function it was tasked to solve was CgOL in the form...

Code: Select all

f(state, neighbours) = state'
"Given a current cell state, and the number of its neighbours, what is its new state?"

It is coming up with some strange working results.

I have evolved the algorithm from nothing.
I have passed in a working algorithm and it has improved it.
I have passed in a broken algorithm and seen it fix it and then improve it

DrMiaow
Posts: 5
Joined: April 24th, 2020, 4:21 am

Re: Evolving novel rules for CGoL

Post by DrMiaow » April 25th, 2020, 9:15 am

GUYTU6J wrote:
April 24th, 2020, 8:54 pm
Hi, welcome to the forums! For comparison this is your pattern in regular Conway's Game of Life:
I just realised I could play what you posted in the browser :)

User avatar
dvgrn
Moderator
Posts: 10684
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Evolving novel rules for CGoL

Post by dvgrn » April 25th, 2020, 9:31 am

DrMiaow wrote:
April 25th, 2020, 9:15 am
I just realised I could play what you posted in the browser :)
Ah, good -- was wondering if you had Javascript disabled or something. The RLE text can also be copied and pasted into Golly or most other CA viewers/editors.

To try and answer your original question: this is certainly the most arcane way of calculating a CGoL transition function that I've run into. Genetic algorithms can be very entertaining... though in this case it doesn't seem like it will be easy to improve on the simplest possible human-written transition function.

DrMiaow
Posts: 5
Joined: April 24th, 2020, 4:21 am

Re: Evolving novel rules for CGoL

Post by DrMiaow » April 25th, 2020, 10:02 am

dvgrn wrote:
April 25th, 2020, 9:31 am
DrMiaow wrote:
April 25th, 2020, 9:15 am
I just realised I could play what you posted in the browser :)
Ah, good -- was wondering if you had Javascript disabled or something. The RLE text can also be copied and pasted into Golly or most other CA viewers/editors.

To try and answer your original question: this is certainly the most arcane way of calculating a CGoL transition function that I've run into. Genetic algorithms can be very entertaining... though in this case it doesn't seem like it will be easy to improve on the simplest possible human-written transition function.

Thanks! I agree. This is a toy problem my system runs as a test case.

This is the simplest (normal) transition function my system has come up with.

Code: Select all

#                                   false | 3
#    STEP:  1    0 [   INPUT 0] =>  false | 3 | 3
#    STEP:  2    1 [    INPUTN] =>  false | 3 | false
#    STEP:  3    2 [       ADD] =>  false | 3
#    STEP:  4    3 [  SUBTRACT] =>  -3
#    STEP:  5    4 [   PUSH -3] =>  -3 | -3
#    STEP:  6    5 [     EQUAL] =>  true

Code: Select all

#                                   true | 4
#    STEP:  1    0 [   INPUT 0] =>  true | 4 | 4
#    STEP:  2    1 [    INPUTN] =>  true | 4 | 4
#    STEP:  3    2 [       ADD] =>  true | 8
#    STEP:  4    3 [  SUBTRACT] =>  -7
#    STEP:  5    4 [   PUSH -3] =>  -7 | -3
#    STEP:  6    5 [     EQUAL] =>  false

Post Reply