Catagolue Discussion Thread
Re: Catagolue Discussion Thread
As for how to obtain this "phase 1" pattern, I have only rough idea.
Which is probably stupid, but I will say it anyway.
It may be possible to use methods, similar to collision detection, but applied with reversed time.
For example:
1. Calculate bounding box of input gun pattern;
2. Expand bounding box (w*h) in all directions (for example, to 3w*3h);
3. Advance pattern until glider hits expanded bounding box, while recording every generation;
4. Start tracking this glider back in time until it gets damaged;
5. Now go forward in time, making "parallel universes" check for each step until result from two universes start to match result from single universe.
edit: For some reason, the continuation of this discussion is located here.
Which is probably stupid, but I will say it anyway.
It may be possible to use methods, similar to collision detection, but applied with reversed time.
For example:
1. Calculate bounding box of input gun pattern;
2. Expand bounding box (w*h) in all directions (for example, to 3w*3h);
3. Advance pattern until glider hits expanded bounding box, while recording every generation;
4. Start tracking this glider back in time until it gets damaged;
5. Now go forward in time, making "parallel universes" check for each step until result from two universes start to match result from single universe.
edit: For some reason, the continuation of this discussion is located here.
Re: Catagolue Discussion Thread
I've coded the following idgun function that seems to fix the bounding box glitch.
https://github.com/scorbiclife/benchmar ... w_idgun.py
I've benchmarked it against fixed guns in https://github.com/ceebo/glider_guns
In this benchmark it seems to be about 4x slower than the original script.
I got the following diff output:
I've checked the guns and they all seem to be related to the bounding box glitch that's fixed in the new script.
Feel free to let me know any other patterns to test for bounding box glitches.
Edit: it passes this p552 gun challenge from confocaloid
https://github.com/scorbiclife/benchmar ... w_idgun.py
I've benchmarked it against fixed guns in https://github.com/ceebo/glider_guns
In this benchmark it seems to be about 4x slower than the original script.
I got the following diff output:
Code: Select all
1013,1014c1013,1014
< #CSYNTH gun_264 costs 1932 cells.
< #C period 264 fullperiod 264 bbox 46 by 42
---
> #CSYNTH gun_264 costs 2016 cells.
> #C period 264 fullperiod 264 bbox 48 by 42
1016c1016
< p00264.rle gun_264 [0, 0, 46, 42]
---
> p00264.rle gun_264 [0, 0, 48, 42]
1185,1186c1185,1186
< #CSYNTH gun_368 costs 1368 cells.
< #C period 368 fullperiod 368 bbox 38 by 36
---
> #CSYNTH gun_368 costs 1440 cells.
> #C period 368 fullperiod 368 bbox 40 by 36
1188c1188
< p00368.rle gun_368 [0, 0, 38, 36]
---
> p00368.rle gun_368 [0, 0, 40, 36]
1241,1242c1241,1242
< #CSYNTH gun_400 costs 2736 cells.
< #C period 400 fullperiod 400 bbox 57 by 48
---
> #CSYNTH gun_400 costs 2850 cells.
> #C period 400 fullperiod 400 bbox 57 by 50
1244c1244
< p00400.rle gun_400 [0, 0, 57, 48]
---
> p00400.rle gun_400 [0, 0, 57, 50]
1552,1553c1552,1553
< #CSYNTH gun_520 costs 1924 cells.
< #C period 520 fullperiod 520 bbox 52 by 37
---
> #CSYNTH gun_520 costs 1976 cells.
> #C period 520 fullperiod 520 bbox 52 by 38
1555c1555
< p00520.rle gun_520 [0, 0, 52, 37]
---
> p00520.rle gun_520 [0, 0, 52, 38]
1582,1583c1582,1583
< #CSYNTH gun_528 costs 2200 cells.
< #C period 528 fullperiod 528 bbox 50 by 44
---
> #CSYNTH gun_528 costs 2244 cells.
> #C period 528 fullperiod 528 bbox 51 by 44
1585c1585
< p00528.rle gun_528 [0, 0, 50, 44]
---
> p00528.rle gun_528 [0, 0, 51, 44]
1720,1721c1720,1721
< #CSYNTH gun_616 costs 3330 cells.
< #C period 616 fullperiod 616 bbox 74 by 45
---
> #CSYNTH gun_616 costs 3478 cells.
> #C period 616 fullperiod 616 bbox 74 by 47
1723c1723
< p00616.rle gun_616 [0, 0, 74, 45]
---
> p00616.rle gun_616 [0, 0, 74, 47]
1886,1887c1886,1887
< #CSYNTH gun_752 costs 2236 cells.
< #C period 752 fullperiod 752 bbox 52 by 43
---
> #CSYNTH gun_752 costs 2340 cells.
> #C period 752 fullperiod 752 bbox 52 by 45
1889c1889
< p00752.rle gun_752 [0, 0, 52, 43]
---
> p00752.rle gun_752 [0, 0, 52, 45]Feel free to let me know any other patterns to test for bounding box glitches.
Edit: it passes this p552 gun challenge from confocaloid
Code: Select all
#CSYNTH gun_552 costs 38368 cells.
#C period 552 fullperiod 552 bbox 218 by 176
Last edited by Scorbie on March 3rd, 2025, 9:31 am, edited 2 times in total.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
Did you check the relatively recent mirror https://github.com/Vort/glider_guns ?
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Catagolue Discussion Thread
No, I haven't yet. Thank you for letting me know. I'll need to sleep tonight and check this out tomorrow.confocaloid wrote: ↑March 3rd, 2025, 9:17 amDid you check the relatively recent mirror https://github.com/Vort/glider_guns ?
Edit: Bad news. The search is slow on my Macbook Pro 2019. gun_9999 takes [s]2 minutes[/s] to run on my machine. Now 1m 35s
Here are some running times of few selected guns:
Code: Select all
true period, new, old
999, 4.4, 1.7
1999, 10.6, 3.0
2999, 20.0, 3.6
3989, 27.5, 3.1
4999, 40.3, 3.6
5987, 37.3, 3.9
6997, 64.8, 2.9
7993, 59.1, 3.6
8999, 67.1, 5.0
9999, 126.7, 4.3
Last edited by Scorbie on March 3rd, 2025, 7:33 pm, edited 2 times in total.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
IIRC I wrote a "throwaway prototype" to produce the canonical form of a glider gun (per the old readme.txt), and it suffered from the same problem (being too slow) to the point where it no longer was a priority for me to determine/prove that it always works correctly.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Catagolue Discussion Thread
Is it just me, or have all of the links for still lifes, spaceships and linear growth disappeared from this page?: https://catagolue.hatsya.com/census/r2b4t4s10t19/C1
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
2024-11-18: https://web.archive.org/web/20241118165 ... 4s10t19/C1muzik wrote: ↑March 4th, 2025, 3:16 amIs it just me, or have all of the links for still lifes, spaceships and linear growth disappeared from this page?: https://catagolue.hatsya.com/census/r2b4t4s10t19/C1
edit: I suspect this might be due to someone submitting too many distinct objects (including many common but "boring" objects), so that the less common and more interesting objects were discarded.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Catagolue Discussion Thread
It seems there are several more guns where this has happened.
Some examples from a quick search: guntrue_1999, guntrue_1979, guntrue_1951, guntrue_1931, guntrue_1907, and guntrue_1879.
EDIT: note that this list is not complete
Last edited by WhiteHawk on March 4th, 2025, 3:54 pm, edited 1 time in total.
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.
Pseudastur albicollis
Pseudastur albicollis
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
Historical note so that future readers will be able to know what people in 2025 were talking about: here are the six mentioned glider guns as they currently appear on Catagolue. Looks like an exercise in pointless densification:
Code: Select all
x = 765, y = 103, rule = B3/S23
2b2o10b2o7b2o10b2o3b2o10b2o17b2o3b2o4b2o20bo45b2o13b2o3b2o9b2o4b2o6b2o
15bo6b2o45b2o27b2o3b2o16b2o20bo23bo25b2o5bo14bo12b2o3b2o9b2o35b2o9b2o
4b2o58b2o3b2o10b2obo4bo15b2o10bo8b2o7b2o24bo5b2o16b2o7b2o3b2o16b2o2bo
13b2o2b2o6b2o11b2o9b2o$bobo10bo7bobo3bo4b3obo2b2o11bo11b2o4bo4bobo3bob
o3b2obo10b3o3b2o23b2o6b2o6bobo11b3obo2b2o8bo2bo2bo2bo4bo2bo8bo4bobo5bo
4b2o34b2o3bobo25b3obo2b2o13bobobo19bobo15b2o4bobo3b2o20bo4bobo12bobo9b
3obo2b2o9bobo18b2o12bo2bo4b2o3bobo3bobo34bo11b2o7b3obo2b2o9bo2b2o3bobo
14b2o9bobo7bo7bobo23bobo5bo13bobobo5b3obo2b2o17bo2b3o7bo3bo4bo7bo11bo
9bobo$b2o7bo4b3o4bo4bobo2bo4bo14bo13bo5bo6bo4bo3bob2o4bo4bo5bobo24bo5b
obo6bo12bo4bo13b2o4b2o5bo2bo7bobo4bo4bobo3bobo3b2o7b2o21bo3bo26bo4bo
17b2o5b2o16bo8b2o3b2o2bo3bobo3bobo19bo5b2o12bobo9bo4bo14bo3bo7b2o5bobo
3b2ob2o4b2o5bo2bo3bo7bobo30bobo10bobo5bo4bo13b2o3b2o2bo5bo16bo2bobo6bo
bo6bobo24bobo4bo14b2o7bo4bo19bo7bo5bobo3bo3bobo3bo14bo8b2o$8b3o6bo3b2o
4b2o3bo2b2ob4o10b2o11bo3b3o8bo3b2o9bobo3b2o3bobo25bobo3bo7b2o6b2o4bo2b
2ob4o23b2o4b2o3bobo8b2o3bobo4b2o7bo21bo3b2o6bobo17bo2b2ob4o8b2o9bobo
11bob3o4bo4bobo2bob2o5bo3bo23b3o8bo7bo5bo5bo2b2ob4o13bobo5bo2bo4bo5b2o
bo12bo2bo12b2o31bobo12bo4bo2b2ob4o14bo4b3obobo3b2o8b3o2b2o7b2o7b2o3b2o
21bo5bobo4bob2o13bo2b2ob4o9b2o4b2o5b2o4bo2bo4bo3b2o3b2o14bo3bo$b2o4bo
3b2o18b2obobobo2bo4b2o11bobo3b2o2bo9b2o14b2o2b2o6bo27b2o2b2o15bo4b2obo
bobo2bo4b2o24bo5bo14bo15bo20b2o8b3ob3o4b2o8b2obobobo2bo4b2o2bobo8b2o
11bob2o5bobo4b2o14bo26bo7bobo5b2o4bobo3b2obobobo2bo4b2o6bobo5bo2bo6bo
9bo11b2o36b2o9bo7b2o5bo2b2obobobo2bo4b2o6bobo6bobo2bo2bobo6bo28bobo27b
2o4b2obo4b2o6b2obobobo2bo4b2o3bobo17b2o6bo16b2o4b2o2bobo$2bo4b2o2bo20b
obobobo8bo10bob2o28b2o8bo29bo22b2obo5bobobobo8bo6bo5b2o3b2o3bo7b2o2b2o
12bo6b2o2bobo29bo7bo3bo2b2o6bobobobo8bo3bo14b2o6bo9b2o20b2o33b2o3bo7bo
bo5bobobobo8bo5bobo7b2o6b2o8b2o19b2o5b2o22bo4bo5b3o4bobo3b2o3bobobobo
8bo6b2o8bobobo3bobo5b2o28bobo21b2o17bobo6bobobobo8bo4bobo23b2o11b2o2bo
2bo3bo4b2o3b2o$bo6bo3bo12b2o5bobob2o7bo12bo13bo17bobo7bobo27b3o13b2o5b
obo6bobob2o7bo7bobo2bo2bo2bo2bo2b2o10bobo10bobo6bo2b2o31bo5b2o4b2obo6b
obob2o7bo8bo11bobo4b2o22b2obo35bo8bobo6b2o6bobob2o7bo8bo3bobo6b2o9b2o
5b2o3b2o11bo6bo19b3o4bobo6bo5bobo7bobob2o7bo15bo3bobo5bo18b2o17b2o21bo
19b2o6bobob2o7bo7b2o9bo26b2o3bobo4bo7bobo$o6bo5bo12bo6bo11b5o7b2o4b2o
6bobo8bo8bo9b2o30bo4b2o6bo16bo11b5o2bo2bo2b2o4bobo18bobo8bobo3bo36b2o
22bo11b5o3bobob2o8bobo26bo2b2o34bobo7b2o16bo11b5o7bob2o7bo9bo5bobo3bo
10bo7bo20bo6b2o14b2o8bo11b5o9b3o4bo17b2o5bobo4b2o32bobo3b2o23bo11b5o
10bo2bobo5b2o12b2o10bo4b2o6bo$2o5b2o5bo11bobo20bo3bo10bo6b2o7b3o3bo7bo
37b2o3bobo3b2obo32bo3b2o10bo20b2o4bo4bobo2b2o29bo25bo19bo2bo2bobobo8b
2o17bo8b2o37b2o12b2o3b2o23bo7bo10bob2o4bobo4bobo5b3obo5b2o6b2o20b2o46b
o8bo21b2obobo5bo6bobo6bo24b2o5bo39bo8b3o3b2o4bobo4b2o7bo22bo$13b2o5bo
6bobo13b4o5bobo6b3o15bo5bobo5bobo8b2obo28bo6bobo27b4o11b2o8b2o6bo4bo8b
3o5b2o7bo24bobo23bobo12b4o6b2o3b2o3bo13b2o7bobo13b2o4bo30bo8bobo4bo17b
4o9b2o11bobo4b2o6bo8bob3o34bo4b2o34b4o10bobo7bo3b2o6bobob2o5b2o9bobo2b
obo30bob2o5bo4bo19b4o10bo13bo5bobo6bobo20b2o$19bobo6bo8b2o4bo2bo6bo7bo
4bo12b2o5bobo5bobo7bob2o27bo31b2o4bo2bo10bobo8bo6bobo2bobo6bo15b3o25bo
bo21bobo7b2o4bo2bo15bobo9bobobo7bobo13bo4bobo20b2o6bobo7bo5bo12b2o4bo
2bo51bo32bo4bo2bo7b2o4bob2o10b2o4bo2bo11bo7bobo3bo5bobo21b2o2b2o32bobo
4bobo3b3o11b2o4bo2bo9bobo19b2o7bobo16bo$7b2o9bobo16b2o15b3o8bobo7bo11b
o7bobo37b2o18b2o10b2o18bo8bobo7bo4bobo5b2o13bo29bobo8bo11b2o8b2o24bo5b
o4b2o11bo11b2obo5bobo19bo2b2o4bo7b2o4bo13b2o21bobo4bo13b2o4b2o8bo32bo
6bo2bo5bobo4b2o2bo9b2o22bo5b2o2bo6b2o10b2o54bob2o6bo10b2o18bo24b2o4bo
8b2ob2o3bobo$7b2o10bo7bo22b2o4bo9bobo5bobo14b2o3bo4b2o38b2o7bo3bobo23b
2o6bo6bobo5b3o6b2o12bo8bo29bo8bobo4b2o27b2o16bobo20b2o6bobo7b2o21b2o2b
3o4b2o7bo27b2o7bob2o3bobo4b2o3b2o2bo3bobo8b2o7b2o22b2o6b2o5bo10b2o22b
2o8bobo9b3o8b2o5bobob2o14bo24bobo8bo8bobo22b2o19bo10bo13bobobobo3bo$4b
o20b3o17b2obo2bo15bobo5bo16bo8bo5bo32bobo5b3o3bo20b2obo2bo5b2o7bo6bo
18b2o2b3o5b2o37bo2bo3bobo22b2obo2bo6b2o8b2o15bo5bo43b2o5bo2bo6b2o21b2o
bo2bo7bo7b2o4bo4bob2o3bobo3b2o13bobo35bo30b2obo2bo9b2o11bo8bo9b2o2bo4b
2o5bobo22bob2o7b2o4b2o3bo18b2obo2bo17b3o11bo9bobo5b2o4b3o$2b3o19bo20b
2ob2o13b2o3bo12b2o6b3o7bobo3b3o22bob2o5bobo5bo7bo19b2ob2o12b2o28bo6bo
9b2o19b2o7bo4b2o4bo24b2ob2o4b2o3bo17bo6bobo5bo50b2o30b2ob2o8b2o14bo9bo
bo5bo10bo3b2o25b2o8b2o2b2o25b2ob2o4bo12b2o11b2obo12b2o3bo2bo5bo23bo16b
obo21b2ob2o4bo10b2obo3b2o3b2ob3o10b2o14bo$bo15b2o5b2o30b2o6bo15bobo6bo
8bobo3bo25b2obo6bo5bobo5b2o35bobo25bo4bo3b2o10bo19bo7bobo8b2o32bo2bo2b
obo13b3o5bobo3b3o17b2o86b2o2b3o10b2o5bo9b3o29bobo10bo2b3o32b3o11bo11bo
bo4b2o13b2o7b3o19b2o18bo29bobo8bobob2o2bo5bobo$b2o13bo2bo37bo3b3o15bo
13b2o4bo4b2o41bo34b2o7b2o8b2obob2o4b2o4bobo2b2o8b2o4bo21b3o4b2o43bo2bo
3b2o12bo7bobo4bo4bo13bobo20b2obo13b2o47bo3bo18bo9bo31bobo11b2o4bo28bo
5bo9bo5bob2o9bo2bo16bo6bo39b2o29bo6bobo9bo3bo22b2o5bo4bo$12b2o2bo2bo
35bo5bo16bo14bobo34b2obo8b2o7bo29bobo17b2ob2o2bo2bo2bo2bobo13bo5b2o22b
o8b2o34b2o4b2o18b2o7bo9bobo11bo23bob2o7b2o4bo36b2o6bo4bo8bob2o9b2o7bob
o30b2o8b2o7bobo26bobo3b2o8bo6b2obo10b2o7b2o7bobo34b2o41b3o3b2o9b2o2bo
19bo3bo5bobo2bobo$12bo4b2o29bo6b2o15bo5b2o16bo7b2o24bob2o8bo7bobo28bo
25b2o3b2o3bo16bo37bo35bobo12bo6bo23bobo4bobo2bo35bo6bo34bo2bo3b3o5bo7b
2o2bob2o15b2o40bo9bo28b2o12bo25b2o3b2o6bo2bo4bo29bo44bo18b2o2b2o3b2o5b
o2bobo3b3o3bo3bo2bo$7b2o5bo19b2o11bobo21bobo23bo5bobo2b2o27b2o5bo4bobo
12b2o14b2o8b2o2b2o20b2o6b2o2b2o5bo31b2o5bo2b2o15b2o14bo10b3o5bobo8bo
14b2o3bob2o2b2o29b2o5bo3b2o14b2o14b2o3bobo2bo7b2o10b2obobo4b2o3b2o12b
2o26b2o5bo19b2o29b2o11b2o11bo12bobo3b3o24b2o5bo3b2o14b2o14b2o14b2o13bo
2bobo4bobo2bo6bo8bobo$2o5bo5b2o20bo12bo13bo7bobo8bob2o4b2o5b2o5bo4bo
28bo5b2o3bobo14bo20bo3b2o2bo2b2o2b2o22bo3bo4b2o31bo5b2o2bobo15bo14b2o
8bo7bobo3bo4bobo18bo36bo5b2o20bo14bo5bo3b2o24bo4bo2bo2bo8bobobo26bo5b
2o20bo37bo4bobo11bo12bo3bo27bo5b2o3b2o15bo14bobo12bo2bo11bo3bo7bo20bo$
bo2b2obo24b3o26bobo7bo9b2obo3bo2bo12bo4bo24b2obo11bo12b3o20bobo7b2obo
3bo7bobo11bo3bo35b2obo10b2o12b3o20b2o2bobo5bobo3bobo4bo4bo13b2o33b2obo
24b3o16bo35bo2bo4bobo8b2o26b2obo24b3o20b2o4bobo8bobo5bo10b2o5b2o8bobo
23b2obo24b3o16bobo7b2o3bo2bo7bobo3b2o4b3o$o3bo2bob2o2b2o17bo19b2o7b2o
11b2o11bo2bo9bo2b2o3b2o24bo2bob2o2b2o17bo18b2o3bo15bobo5b2obo10b2o2b2o
4b2o28bo2bob2o2b2o17bo21bobo2b2obo3bobo3bobo8b3o6b2o12bo27bo2bob2o2b2o
17bo17b2o11b2o9bo11b2o2b2o4bo5bo31bo2bob2o2b2o17bo22bo4bob2o3bo5bobo3b
o5bo5bo6bobo8b2o23bo2bob2o2b2o17bo4b2o14bo8bo4b2o8b2o10bo$2o4b2obo3b2o
37bo14b2o6bo12b2o8b3o35b2obo3b2o23b2o11bobo19b2o8bo20bo4b2o25b2obo3b2o
14bo24b2o6bo2bobo3bobo8bo8bo2bo10bobo28b2obo3b2o45b2o2bo8bobo25bobo6bo
25b2obo3b2o13b2o7b2o17bo3bo5bobo5bo4b2o2b3o6bo7bo3bo31b2obo3b2o13b2o7b
o15b2o5bo10b2o24b2o6bo6b2o$9bo24bo4bo14bob2o8bobo5bo7b2o13bo41bo28bo
14bo4b2ob2o20b2o17bobo3bobo28bo17b3o9bo22b2o2bo5bo8bobo8bo2bo5b2o3bobo
30bo50bob2o4b2o4bo8b2o16b2o6bobo27bo17bo2bo6bobo15b2o2b2o6bobo12bo10bo
6b2obobo33bo17bo2bo4bobo22b2o8bobo24bo6bobo3bo2bo$9b2o22bobo2bobo12b2o
bo6bobo5bobo9bo12bobo6b2o32b2o24b2obo3bo10b2o3b2obobo17b2o19b2o5bo29b
2o15bo12b3o40bo10b2o6b2o5bo30b2o27b2o27bobo13bo24bobo28b2o17bobo7bobo
27bo14bo10bo9b2o2b2o29b2o17b2o4bobo32bobo23bobo5bobo4b2o$15bo11bo5b2o
3bo2bo15bo5b2o6b2o9bo14bo4b2o2bo38bo19bobo3bobo18bo13bo5bo5b2o55bo9bob
o14bo13b2o18bo11b2o18b2o35bo10bo10bo2bo16b2o9bo16bo21bobo35bo13bo9b2o
35bo5b2o4b2o3b2o13bobo34bo19bo20bo13bo10b2o12b2o6b2o$2ob2o9bobo8b3o11b
2o17bobo16bo4b2o5b2o11bob2o24b2ob2o9bobo7b2o15bo2bo30bobo3bo6b2o5b2o
33b2ob2o9bobo9bo14b2o12bo2bo16bobo10b2o3b2o35b2ob2o9bobo8bobo10bobo16b
o2bo16bo6b2o3b2o4bo7b2o3bo21b2ob2o9bobo58bobo10b2o9b2o8b2o19b2ob2o9bob
o26b2o10bobo19bo3bo2bo4b2o$2obo11bo8bo34b2o15bobo10b2o39b2obo11bo8bo7b
2o8bobo18bo3bo3b2o2bobo3b2o11bobo3b2o28b2obo11bo16b2o22b2o5bo3bo3b2o2b
obo15bo2b2o5b2o25b2obo11bo8bo2bo11bo5bo13b2o15bobo10b2o3bobo5bobo6b2o
17b2obo11bo16b2o29bo3bo3b2o2bobo20bo2bo28b2obo11bo8b2o17b2o11bobo17bob
o4b2o4b2o16b2o$3bo19bobo7b2o29bo3bo3b2o2bobo54bo21bo6bobo8bo17b3o2bobo
2bo2b2ob2o14bobo3bobo6b2o23bo19bo8bobo26b3o2bobo2bo2b2ob2o15b2obo5bobo
27bo21b2o6b2o9bobo17bo3bo3b2o2bobo16bobo3bobo6bobo20bo28bobo26b3o2bobo
2bo2b2ob2o15b2o2bobo8b2o22bo20bo8b2o22bo6bo3bo3b2o2bobo27bobo4bo$3b3o
4b2o12bo3b2o3bobo26b3o2bobo2bo2b2ob2o14b2o10b2o25b3o4b2o14bo7bo4b2o19b
o5bobo3bobo18b2o4bo7bo2bo22b3o4b2o10bobo9bo4b2o19bo5bobo3bobo30bo5bo
21b3o4b2o21bobo9bobo14b3o2bobo2bo2b2ob2o17bo4bo6bobo21b3o4b2o10b2o10bo
4b2o19bo5bobo3bobo19bo4bo5bo3b2o22b3o4b2o10bobo8bobo10b2o14b3o2bobo2bo
2b2ob2o16b2o9bo4bobo$b2o3bo3b2o16bo6bo4b2o19bo5bobo3bobo18bobo2b2o6bo
23b2o3bo3b2o15bo2b4ob2o2bo2bo4b2o11b2o5bob4o2bob2o21bo6bobo21b2o3bo3b
2o10bo2bo4b4ob2o2bo2bo17b2o5bob4o2bob2o25bo4b3o19b2o3bo3b2o23bo4b2o4bo
14bo5bobo3bobo21b2o9bobo20b2o3bo3b2o11bo6b4ob2o2bo2bo17b2o5bob4o2bob2o
17bo6b3o25b2o3bo3b2o10b2o11bo4b2o5bo13bo5bobo3bobo21bo13bo2bo$o2b4o19b
obo2b4ob2o2bo2bo17b2o5bob4o2bob2o15bo3bo6bo23bo2b4o19b2o2bo2bobobobob
2o3bobo20bo3bobob2o20b2o7bo21bo2b4o16b2o5bo2bobobobob2o3bob2o19bo3bobo
b2o18bo6b2o2bo21bo2b4o17b2o5b4ob2o2bo2bo17b2o5bob4o2bob2o27bobo20bo2b
4o16bobo4bo2bobobobob2o3b2o21bo3bobob2o16b2o5bo27bo2b4o24b4ob2o2bo2bo
2bo14b2o5bob4o2bob2o15bo5b2o8bobo$2obo15b2o5b2o3bo2bobobobob2o26bo3bob
ob2o20bo2bobo24b2obo15b2o12bobobobo6b2o20bo3bobo20bo34b2obo15b2o12bobo
bobo6b2o2bo17bo3bobo21bobob2o6b4o18b2obo15b2o3b2o5bo2bobobobob2o26bo3b
obob2o17b2o7bobo21b2obo15b2o3b2o7bobobobo5bo2bo19bo3bobo20bo5bobo26b2o
bo15b2o10bo2bobobobob2o3b3o20bo3bobob2o15b2o4bobo8bo$bo2b3o12bobo12bob
obobo28bo3bobo21b3o3b2o26bo2b3o12bobo12b2obobo27bo3bobo21b3o7b2o24bo2b
3o12bobo12b2obobo9b2o16bo3bobo21bo2bob2o9bo19bo2b3o12bobo12bobobobo28b
o3bobo22bo8bo23bo2b3o12bobo12b2obobo5bobo19bo3bobo22bo5bo8b2o18bo2b3o
12bobo3b2o7bobobobo8bo19bo3bobo26bo$bo5bo13bo13b2obobo8b2o17bo3bobo22b
o10b2o21bo5bo13bo16bo3b2o23b2o3bo25bo7bo24bo5bo13bo16bo28b2o3bo23b2o
12bo20bo5bo13bo13b2obobo27bo3bobo23bobo30bo5bo13bo16bo7bo20b2o3bo22b2o
12bo2bo18bo5bo13bo3bobo7b2obobo8bobo16bo3bobo$2b5o14b2o16bo9bo18b2o3bo
33bobo22b5o14b2o19b2o3b2o48bo7bo26b5o14b2o86bo22b5o14b2o16bo10b2o16b2o
3bo25bobo8bo21b5o14b2o18b2o7b2o57b2o21b5o14b2o5bobo8bo10bobo15b2o3bo$
4bo4bo40b3o54b2o25bo4bo14b2o22bo48b2o5bob3o25bo19b2o18b2obo61b2o23bo
38b2o5bo49bo8bobo22bo19b2o15b2o6bobo82bo24b2o20bo50b2o3b2o$8bobo14b2o
25bo46bo5b2o31bobo14bo7b2o13bobo52bobo2bo29b2o15bo7b2o8bo2b2o52bob2o
51b2o16bo4bobo52b2o3bobo44bo7b2o14b2o51b2o51b2o74bobo2bobo$9b2o15bo7b
2o7b2o53bobo5bo32bo15bobo5b2o8b2o4b2o29b2o21bo2bo32bo15bobo5b2o8b2o35b
2o18b2o2bo51bo7b2o8bo3b2o53bobo3bo26bo18bobo5b2o9b2o34b2o19bo2bo32b2o
17bo7b2o7b2obo54bo4bo5b2o$b2o8b2o13bobo5b2o7bobo35b2o16b2o5bob2o46b2o
15bobo34b2o22b2o24b2o6bo17b2o52b2o21b2o2b2o28bo18bobo5b2o9bo35b2o22bo
29bobo18b2o16bobo33b2o20bo2bo32bo17bobo5b2o7bob2o34b2o19bo2b2o4bobo$bo
9bobo13b2o16bo35b2o24bobo21b2o41b2o49b2o12bo21bo5bo87b2o10bo2bo25bobo
18b2o17bo34b2o21bo25b2o2bobo38b2o48b2o6b2o6bo19b2o4bo19b2o52b2o18b2o8b
o$2bo10bo31b2o49b2o4b2o27bobo5bo84bo2bo10bobo20bobo3b2o3bo81bo2bo11b2o
24bobo37b2o49b2o6b2o24bo4bo88bo2bo12bobo18bobo3b2o87b2o14bo$3bo8bo82bo
2bo3b2o29bo4bobo84b2obo10bo22b2o7bobo81b2obo35bobo5b2o81bo2bo10bo22bo
92b2obo10bobo20b2o91bo2bo12b2o$4bo7b2o82b2obo33b2o3bobo37b2o48bo41bobo
35b2o48bo36bo7bo82b2obo8bobo20b2o6bo38b2o48bo10bo116b2obo$3b2o11b2o31b
2o48bo39bo38b2o48b2o40bo37b2o48b2o8bo33bo36b2o48bo7bobo29b3o36b2o48b2o
8b2o25b2o6b2o34b2o48bo5bo$9b2o6bo31b2o48b2o101bob2o7b2o17bo36b2o61b2o
3bo5b2o18b2o2bobo32b2o3b2o30b2o48b2o6b2o28b2o3bo70b2o50b2o6bo35b2o48b
2o3bobo$10bo6bobo64b2o59b2o19b2o34b2o2bo7bo16bobo42bo19b2o34bobobobo5b
o19bo3b2o34bobobo65b2o50bobo2bo24b2o38bo7bo17b2o40bo69b2o19bobo$5b2o2b
o8b2o17b2o36b2o8bo19b2o26b2o5b2o3bo20bo3bo34b2o4b3o16bobo30b2o11b3o17b
o3bo32b2obobo2b3o19bo30b2o8b2o21b2o46bo19bo30bo4b2o7bo15bo3bo34bobo3b
3o18bo27bob2o7b3o5b2o16b2o38b2o6bo20bo$2bobobo2b2o3b2o21bo3bo33bobo4b
3o20bo27bobo3bobo4bo20b4o28b2o10bo19bo4b2o25bobo13bo17b4o28b2o6bo3bo
21b2o26bobobo31bo3bo40b3o18b3o26b2o3bo11bobo15b4o28b2o4b2o4bo4b2o12bob
o2b2o23b2o2bo6bo7bobo15bo3bo36bo3b3o17b2o9bo$2b2o10bo23b4o28b2o4bobo3b
o24bo26bobo3bo4b2o52bobo34bo27bo3b2o3bo4bobo48bobo35b2o22b2o19bo15b4o
28b2o4b2o4bo19bo30bo2b2o12bo48bobo14bobo11b2o4bo26b2o10b2o3bobo15b4o
28b2o4bo5bo19bo2bo6bobo$12bobo55bobo4bo9b2o14b5o27bo29b4o32bo36bo29bo
3bobo3b2o15b4o32bo12b2o21bo31bo10b3o47bobo3bobo24bo4b2o23bobo4b2o23b4o
32bo3b2o4bo5bobo15bo38bobo4bo48bobo3b2o9b2o15b2o7bo$12b2o4b2o16b4o32bo
11bo3bo13bo62bo2b3o30b2o2bo4bo7b2o14b5o27bobo3bobo20bo2b3o30b2o7b2o2bo
bo22bo25b2obobo5b2obo16b4o32bo6bobo4b2o14b2o4bo25b2o4bobo2bo19bo2b3o
30b2obo2bo2bobo5bo15bo4b2o33b2o20b4o32bo14bobo$16bo2bo16bo2b3o30b2o5b
2o2bobo2bobo12b3o26b2o37bo32bobo2bobo7bo13bo32b2o5bo27bo38b2o4bo2b2o
14b5o25b2obo2bo5bob2o15bo2b3o30b2o6b2o5bo22bo30bo2bobo24bo33bobo3bobo
20b2o3bo26b2o28bo2b3o30b2o15bo20b2o$4bo11b2o24bo23bob2o9bo3b2o4b2o15bo
26bo8b2o26bobo32bobo2bo8bobo12b3o26bo36bobo25bo7b2o7bo4bo13bo27bo6bobo
2b3o25bo42bo4b2o14b5o34bo24bobo33bo5bo28bo24bobo33bo46b2o19bo$3bobo3b
2o30bobo22b2obo5b2o3b3o20b4o26bob2o4bo2bo25bobo27b2o4bo7bo5b2o15bo24bo
bo35bobo24bobo5bobo7b2o3bobo12b3o23bobo6bo3bo26bobo23b2o16b2o4bo13bo
35bo28bobo29b2o17b2o14b5o20b2o3bobo31bobo23b2o10bo32bo$4bo3bobo3bo26bo
bo28b2o2bo5bo15b2o3bo3b2o25bobo5bobo26bo22b2o5bo11bobo18b4o23bobo5b2ob
o28bo26b2o5bo15b2o15bo23b2o37bobo23b2o5bobo14bobo12b3o23bo7bobo28bo31b
o4b2o6bo5bo13bo25bobo3b2o31bobo23bo10bobo5b2o4b2o14b5o$b3o3bobo3bobo
26bo29bob2o9b2o11b2o4b3o2bo33bo14b2o33bo2bo3bo7b2o4bo3bo10b2o3bo3b2o
22bo6bob2o51b2o8b2o4b2o23b4o28b2o33bo30bob2o4b2o9b2o15bo21bobo7bo15b2o
37b2o4bo5bo7b3o3bobo12b3o24bo37bo21b2obo9bobobo4bobo4bo13bo$bo6bo4b2o
52b2o15bobo19bob2o28b2o17bobo34b2o3bo9bo7bobo9b2o4b3o2bo46b2o34bobo14b
obo17b2o3bo3b2o25bo2bo19b2o33b2o7bo6bo2bo22b4o22b2o23bo38bo6b3o3bo9bo
3b2o15bo23b2o5bob2o49bobo10bo2bo6bo5bobo12b3o$67bo15bobo20bo31bobo15bo
bo39bo6b2o2bobo5b2o18bob2o45bo2bo34bo18bo16b2o4b3o2bo25b2o20bo35bo6b2o
7b2o18b2o3bo3b2o46bo38bo7bo2b2o8bobo16b4o30b2obo56b2o3b2o16b2o15bo$28b
2o38bo10bo3b2o20b2o32bo15bobo3b2o35b2o5bo4bobo24bo49bo2bo36b2o15bo23bo
b2o48bo34bobo9bo23b2o4b3o2bo43bobo39bo18bobo12b2o3bo3b2o42b2o45bo11b2o
2bo19b4o$4b2o23bo35b3o10bobo53bo20b2o3bobo44bo3bobo22b2o26bo23b2o36bob
o2b2o5bo4b2o23bo25b2o21b3o36b2o8bobo30bob2o21bo21b2o3bo37bo16bobo13b2o
4b3o2bo20b2o19bobo3b2o37bo8b2o4bo2b3o12b2o3bo3b2o$5bo22bo36bo13bobo52b
3o22bobo40b2o2b2o4bo20bo30b3o25b2o32b2o4bo4bobo3bo23b2o26bo21bo4b2o41b
obo6b2ob2o20bo24b3o23bobo35b2o8b2o7bo22bob2o21bo21bo2bo2bo36b2o6bobo3b
o6bo11b2o4b3o2bo$3bo23bo5b2o35bo9bo16b2o38bo21b2o41bo29bobo32bo24bo38b
o5bo2bo4bo47bo28bo42b2o6bobobo20b2o27bo22bobo35bo9bo2bo28bo22bo22bo4bo
2bo42bobo3bo6b2o19bob2o$3b5o14b2o3b2o5bo34bobo25bo7bo30b2o15b2o45bobo
25b2o3bo4bo27b2o15b2o8bo37bobo4b2o4b2o24bo22b5o14b2o5bo3bo46bobo2bobo
48b2o15b2o6bo37bo10b2o27b2o22b5o14b2o2b2o4b2o43b2o4b2o26bo$8bo13bo9bo
36b2o27b3o3bobo45bobo44bobo26bo8bobo42bobo5b3o39b2o25b2o7b3o27bo13bo5b
obo3bo35bo9b2o3b2o65bobo43b2o6bo61bo13bo48b2o37b2o$5b3o12bobo9b2o42bo
23bo2bo2bo25b2o14b2o2bo5b2o6b2o32bo28b3o5bobo22b2o14b2o2bo7bo5b2o61bo
7bo27b3o12bobo4bo2bo2b2o34bobo28b2o30b2o14b2o2bo6bo6b2o37bobo5b2o50b3o
12bobo6b2o39bo2bo9b2o21b2o$4bo15b2o15b2o20bo14b3o27b2o25bo2bo13bobob2o
5bo5bobo39bo15bo7bo6bo22bo2bo13bobob2o11bobo18b2o42b3o4b2o25bo15b2o6b
2o7b2o31bobo27bo30bo2bo13bobob2o4bobo4bobo34b2o2b2o6bo16b2o8b2o21bo15b
2o7bo7b2o32bo2bo6bo2bo22bo$4b4o17b2obo7bobo19bobo12bo18bo38bob2o14b2ob
o2bo3bobo3bo22bo16b3o14bobo36bob2o14b2obo2bo9bo20bobo19bo23bo31b4o28bo
bo32bobo27b3o27bob2o14b2obo2bo2b2o5bo36bo10bo17bo9bobo20b4o18b2obo6bob
o33b2o4bo2b2o19b2o3bob2o$2b2o3bo3b2o11bo2b2o7bo18b2o2bo13b2o16bobo6b2o
28b2o22b2o4b2o2b2o7b2o12bobo14bo18bobo10bo23b2o22b2o8b2o7b2o14bobo14b
3o14b2o37b2o3bo3b2o23bo18b2o15bo6bo23bo26b2o22b2o8b2o7b2o29bo8b2o17b3o
8bo18b2o3bo3b2o13bobo7bo18b2o19b3o23bo5bobo$bo2b3o4b2o11b2o9b2o7b2o9bo
4b3o28bo2bo5bo29bo2b2o38b2o13bobo13b2o19bo9bobo22bo2b2o38b2o15b2o13bo
17bobo10b2o23bo2b3o4b2o12b2o8b2o7b2o9bo5b2o14b3o50bo2b2o38b2o15b2o11b
2o5bo23bo7bo18bo2b3o4b2o22b2o7b2o9bo19bo22b2o3b3o$b2obo39b2o10bo5bo29b
2o3b2obo6b2o22b2o2bo54bo31bo2b2o4b2o3bobo22b2o2bo24b2o43b2o18bo6b2o2bo
bo22b2obo19bobo17b2o10bo3bobo13bo26bo5b2o20b2o2bo22b2o30bo17b3o17b2o7b
2o3b2o17b2obo39b2o10bo17bobo4bo15bobo5bo6b2o$4bo50b2o28b2ob2o7bobo8bo
24b2obo15b2o5bo21b2obo5b2o28b3o8bobo3b2o24b2obo15b2o6bo20b2obo40b2o5bo
4bobo24bo19b2o29b2o4bo14b2o14bo5b2o3b3o4bo22b2obo15b2o4bobo20b2obo6bo
15bo20bobobo4bobo24bo24b2o24b2o3b2o13bo3b3o15b2o14bo$4b2o46b2o31b2obo
18bo23b2o2bo5bo10b2o4bobo3b2o15b2ob3o32bo8bo3bobo26b2o2bo5bo10b2o3b2ob
o4b2o14b2ob3o32bobo7bo4bo3bo25b2o30b2o14b2o37bobo3bobo6bo3bobo18b2o2bo
5bo10b2o6bo20b2ob3o5bo14b2o22b2o5b2o24b2o22bo2bo20b2o7bo16bo28b2o3bo$
29b2o3bo17b2ob2o32bo11bob2obo23bo2bo6bobo16bo5bo21bo30bobo6bobo3bo26bo
2bo6bobo14bobo6bo20bo30bob2o6bobo2b2o32b2o21bob2o3bo14b2ob2o33bobo3bob
o6b2o4b2o17bo2bo6bobo17b2o3b2o20bo3b2o96bobo2bo17b2ob2o4bobo14b2o21bo
4bo2bo2b2o$2o27bo4b3o18bo34bo3b2o5b2obob2o23b2o7bobo17b3o2bobo13b2ob3o
27bo4bo4bo3bobo7b2o21b2o7bobo22bo15b2ob3o3bob2o24bo8bo2bo37bo21b2obo2b
o18bo34b2o4b2o33b2o7bobo13bo8bobo13b2ob3o38b2o11b2o50bo3b3o18bo6bobo
35bobo4b2o$obo9b2o16bo6bo14b2o3bo5b2o21b2o3bo2bo46bo20bo3b2o12bo2b2o
28bobo6b3o4b2o6bo2bo30bo14bo8bobo12bo2b2o5b2obo23b2o8bobo3b2o32bo4b2o
22b2o14b2o3bo5b2o37b2o37bo13bobo8b2o12bo2b2o34b2o5bo10bo2bo23bob2o4b2o
23bo14b2o3bo5bo31b2o4b2o$bo11bo15b2o5bobo12bo2b4o4bobo5b2o15bo2b2o3bo
55b2o26bobo12b2o17b2o6bo15bobo41b2o2bobo8b2o11bobo46bo3bobo31bo6bo37bo
2b4o2bobobo36bobo3b2o42b2o3bobo20bobo35bo2bo5bobo9b2o24b2obo5bo22bobo
12bo2b4o35b3o2bo4b2o7bobo$10b3o24bo12bobobo7bo7b2o14bo5b3o5b2o50bo8bo
16bobob2obo7bobo5b2o19bo15bo43bo3bo4bo16bobob2obo9b2o15bo18bobo31bo4b
3o37bobobo5b2o29b2o8b2o5bo43bo4bo3bo16bobob2obo4b2o25b2o8bobo4b2o34b3o
24bo12bobobo37bo4b2o4bobo5bob2o$4bo5bo5b2o14bo18bo2bob2o3b2o15b2o6bobo
3bo6bo2bo32b2o12b3o9b3o15bo2bob2o7bo7b2o18b2o6bobo33b2o12b3o9b3o15bo2b
ob2o8bobo5b2o7bobo2bob2o4b2o5b2o32b2o3bo21bo18bo2bob2o8b2o22bobo2b2o
10bo27b2o12b3o9b3o15bo2bob2o4bobo29b2o4bo5bobo24bo8bo8bo12bo18bo2bob2o
35bo10b2o5bo$3bobo9bobo14b3o19bobo8b2o11bo8b2o10bobo3b2o28b2o12bo5bo8b
o17bo9b2o18b2o14bob2o33b2o12bo14bo17bo11bo7b2o8bo3b2o2bo3bobo8bob2o39b
o13b3o19bobo8bobo5b2o9b2o4b2o4bo10bobo25b2o12bo14bo17bo9bo4b2o15bo6bob
o11bo3b2o19bobo2b2o11bobo11b3o19bobo29bob2o2b2o16b2o$4bo10bo19bo17b2o
2bo6bobo8bo3b3o18bo4bo44b2o3b3o5b2o16b2o30bo2b2o10bo6bo44b2o11b2o16b2o
10b2o18b3o3b2o6bobo5b2o2bo20bobo7bo7b3o14bo17b2o2bo7bo7b2o8bo2bo8bo12b
2o40b2o3b2o6b2o16b2o8bo4bobo5b2o7bobo5b2o15bo2bo18bobo3bo10bobo15bo17b
2o2bo4b2o4b2o16b2obo10bo$14b2o18b2o14bobo2bobo6bo6b2obobo4bo14b2o5bobo
45bo6bo19bobo2b2o21bo5bo4bo9b2o5bobo24b2o18bo5bo20bobo2b2o30bo12b2o8b
2o20b2obo4b3o10bo12b2o14bobo2bobo6b2o18bo2bo6bo56bo2bobo21bobo2b2o6b2o
3bo7b2o8bobo14b2o5bobo20bo3bo10bobo15b2o14bobo2bobo3bobo3bobo5b2o22bob
o$2o3bo16bo27b2o2bobo6b2o5bobobobo18bobo4bobo45bo6bobo18b2o2bo2bo16b2o
bobo4b2o2bo5b2o9bo2bo23bo2bo16bo4b3o20b2o2bo2bo4b2o15bo55bo3bo6b2o4b2o
28b2o2bobo3bo24b2o7b2o2b2ob2o47bo3b2o22b2o2bo2bo9b2o18b2o13bobo6bo25b
2o10bo32b2o2bobo4bo5bo7b2o17b2o2bobo2b2o5bo$bo2bobo14bobo7b2o22bo4b2o
5bo2bobobobob2o15bo7bo27bo18b2o5b2o24b2o5b2o2b2o5bobobobo8b2o3bobo9bob
o25bobo16b2o2bo28b2o4bo2bo10b2obobo15b2o37b2o2b2o3b3obo14b2o22bo3bobo
16bo19b2obo2bo3b2o40b2o31b2o32b2o8bo3bo46b3ob2o7b2o22bo6bo3b2o20bo4bob
o3bo4bo4bobo$o3bobo13bobo8bobo26bo6b4ob2o2bo2bo14b2o2bobo29bobo55bo2bo
2bo3bo2bobobobob2o9bo13bo4bo22bo3b2o15bobo33bobo10bobobobo15bo5bo6b2o
32bo5bo13bobo25bo2bo11b2obobo23b2o3bobo22b2o74bo7bobo6bobo3b3o6b2o19bo
10b2o5bobobo6bobo27b2o7b2o15bobo3bo9bo6bobo$2o3bo8b2obo3bo4bo4bo30bo8b
o4b2o9b2o9b2obo29bobo3b2o8b2o39b2o5bo2b4ob2o2bo2bo8bo7b2o9bobo25bo4bo
5b2o5bo35bo3b2o3bo2bobobobob2o3b2o4b2obo3b3o7bo33bo5bo3b2obo5bo28b2o
11bobobobo7bo21b2o22bo13b2o48bo7b2obobo7b2o7bobo4bo5bobo18bobo8bo2bo9b
obo3bo39bo8bo7bo5bo5bobo8b2o$14bob2o7bobo28bo4b2o6bobo14bo2bo11bo4bo
25bobo2bo9bobo34b2o8b2o6bo4b2o5b2o3b2o6bobo7bobo27bo2bobo4bobo34b2o9bo
3b4ob2o2bo2bo2bo2bo3bobo3bo7b3o33b2o4b2o2bo2b2o30bo13bo2bobobobob2o4b
3o44bo3b2o7bobo34b2o9b3o6bobobobo17bo10bobo18bobo9bobo11b2o28bo11b3o5b
2obobo11b2o5b2o$8b2o16bobo25b3o12b2o16bo2bo10b2o2bobo25bo4bo8bo36bo15b
obo11bobo11bobo6b2o27b2o2b2o5bo36bo9bo8bo4b2o5bo2bo3bo5bo6bo2b3o40b2o
31b3o13b4ob2o2bo2bo7bo4b2ob2o5bobo27bo3bo7bo36bo9bo6bo2bobobobob2o4b2o
3bo16bo20bo11bo40b3o4bo6bo6bobobobo7bo21b2o$7bobo17bo25bo24bo9b2o12bo
3bobo30bo3b2o37bobo5b2o8b2o13bobo6bo4bo4bo77bobo6bobo7bobo12b2o9b2o8bo
2bo30b2o40bo10b2o8bo4b2o8bo5b2obo5bob2o26b2o2bo43bobo8bobo5b4ob2o2bo2b
o4bo3bobo51b2o35bo5b3o10bo2bobobobob2o3bobo14b2o4bo$8bo7bo36b2o9b2o11b
obo21bo5bobo21bo6b2o2bo2bo36b2o6bobo18bo4b2o4b3o8bobo34b2o40b2o7b2o8b
2o33b2o25b2o6bo41b2o8bobo6bobo9bo4b2o8bo4bo34b3o40b2o4bobo3bo10bo4b2o
4bobo2bo2bo8b2o33b2o6bo36b2o3bo13b4ob2o2bo2bo2bobo7b2o5bobo6bo$15bobob
2o3bo39bobo4b2o5bobo12b2o5bo7b2o21b3o9bobo45bobo2b2o12bobo8bo11b2o26bo
9bo90bo29bobo3b2obo7bo4bo33b2o4bo7b2o9bobo14bo2b2o36bo46b2obo11bobo9bo
bo3bobo9bo8b2o25bo7b3o4bo32bobo3b2o11bo4b2o4b2o8bobobobo8b2o$8bo5bo2bo
bobo2b3o39bo4bo7bobo3b2o6bobo3bo4bo29bo9bo41bo5b2o3bo4b2o7bo9b2o4b2obo
29bobo8bobo44b2o31bo9bobo29bo4bobo7bobo3b3o30bobo7b2o15bobo12b2o8b2o
20b2o58bo11b2o11bo5bo11bo5bo2bo23bo11bo4b3o31bo3bo2bo8bobo16b2o3b2ob2o
$bob2o2bobo4bobo3b2o5bo37bo6bo7bo5bo7bo4b2o2bobo27bo21bobo27bobo8bo5bo
5b3o7bo7bo2b2o2b2o26bo10b2o11bobo29bo2bo9b2o4bobo4b2o5bobo8bo2bo3b2o
39bobo5bo30bo3bo5bo7b2o7bo10bo11bobo20bo2bo20bobo30b2ob2o5b2o27b2o6bo
4b2o25b2o4b2o12bo35bo2bo7b2o18bo12b2o3b2o$b2obo3bo3b2obo10bo31bob2o3b
2o6bob2o6b3o18bobo26b2o21b2o6bo21b2o7bo7bo4bo7b3o7b2o5bo52b2o6bo22bobo
5b2o2bobo4b2obo2bo2bo4bo2bo8bobo2bo2bo24b2o8b2o3b2o4bo34bobo3bo8bobo7b
3o6bobo10b2o23b2o21b2o6bo24bo7bobo9b2o15bobo5b2o37b2o11bo37b2o17bo10bo
bo9bobo2bo2bo$13bo12b2o30b2o2bo9b2obobo5bo10bo10bo43b2o5b2o5bo30bo6bob
o11bo19bo30b2o18b2o5bo24bo6bo4bo8bo3bo2bo4b2o10bo4b2o24bobo9bo9b2o32bo
bo4bobo7b2o2b2o5bo7bo48bo10b2o5bo25bob2o3bobo9bobo5bo8bobo34bo23b2o54b
obo10b2o8bobo4b2o$13bobo8b2o2bo32b2o2b2o11bobo7b2o3bobo12b2o29b2o3bo3b
o2bo42b2o5b2o11bobo17b2o30bobo7b2o48bo12b2o3b2o47bobo7b3o8b2o2bo30bobo
6b2o11bo17bo37b2o5bobo3bo39bobo4bo4bobo4bo5bobo8bo34bobo5b2o13b2o2bo
42b2o4bo3bobo22bo$14bobo6bo2b3o36bobo11b2o7bo4bo2bo11bo30bo3bobo2bobo
10bo48bo4bo53bo6bobo12bo33b2o29b2o6bo27bobo8bo9bo2b3o31bo13b2o6bo8b2o
5bobo37bo5b2o3bobo9bo40b2obo8bobo16b2o2bob2o21bobo4bo13bo2b3o41bobo3bo
bo3bo3bo$6bo3bo4bo8bo23bo17bo22bo4b2o6b2o2bobo22b2o3b2obo4b2o3bo10bo2b
o28bo11bo4bobo11b2o45bo6bobo10bo2bo38b2o10b2o8bo2bo5bobo2b2o21bobo14bo
5bo23bo16b2o6bobo7bobo6bo5bobo8b2o26bo12bobo7bo2bo41bo8b2o7b2o8bo3b2ob
o22bo6bo9bo3bo23bo13bobo5bo5b2o7bobo4b2o6b2obo4b2ob2o$5bobobobo13b4o6b
2o3b2o5bobo20bobo2b2o9b3o14bo2b2o23bobo2bobo21bobo28bobo9bobo2bo2bo11b
o11b2o29bo2b2o7bo11bobo32b2o4bobo6bo3bobob2o4b2o6bo2bo2bo21bobo3b2o9bo
bo5b4o6b2o3b2o5bobo15bobo4bobo9b2o5bo7bo3b2o4bobo25b2o8bo3bo8bobo13b2o
18bo8b2o17bo9bo31b2o3bobo5bobo3b4o6b2o3b2o5bobo12b2obo5bo14bo6bo5bo2b
2o5bobobo$4bobo3b2o7bob2o4bo7b2o3b2o6bo10bo9bob2o2bo6bo3bo10bo3bo31bo
15bo11bo25bo4bo3b2o4bo2bo2bobo8b2o3bo9bobo24bo3bobo23bo11b2o3b2o7bo6bo
bo3bo8bobo3b2obobo12b2o4bo21bo3bo2bo9b2o7bo7b2o3b2o6bo10bo6b2o4b2o3bob
2o9bo5bo6bo2bo3b2o18b2obo12bobo12bo14bo10bo7bobo26bob2o7bo6b2o21bobo4b
2o4bo2bo5bo7b2o3b2o6bo10bo5bo4b2o11b3o6bo6b2o5b3o4bo$5bo13b2o2bo5bo30b
o8bo7bo3bobo12bobo2b2o30b2o13bobo17b2o3b2obo11bo7b2o4bobo4bo6bobobo4bo
5bobo26bobo2b2o31b2o3bobo2b2o8bo4bobo3bo8bobo8b2o19bo25bo2bo19bo30bo
16b2obo9b2o3bobo7b2o23bob2o12bobo19b2o4bobo11bo6bobo27bobo8bo2bobobo
20bobo11bobo8bo30bo4b2o16bo5bobo14bo5bo$22b2o4b2o28b3o7b2o6b2o3b2o13b
2o50b2o18b2o3bob2o9b3o14bo12b2o6b2o5b2o28b2o35b2o4b2o10b3o5bo4b2o8bo
29b2o26b2o19b2o28b3o35b2o49bo20b2o4b2o10b3o7bo38b2o2b2o23b2o13bo8b2o
28b3o28b2o21b2o!
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Catagolue Discussion Thread
I optimized the program and ran the program anyway to test how it performs. I could only test all guns in `vort/glider_guns/gun` (only pseudo-period guns, not true period ones) because the test itself took too much time. The current one ran in 126m and the new one ran in 1012m, which makes the new algorithm about 8 times slower than the current one on average.
Edit: here's the diff between the old and the new output. I haven't checked it yet.
Code: Select all
64,65c64,65
< #CSYNTH gun_1005 costs 3900 cells.
< #C period 1005 fullperiod 1005 bbox 60 by 65
---
> #CSYNTH gun_1005 costs 4020 cells.
> #C period 1005 fullperiod 1005 bbox 60 by 67
831,832c831,832
< #CSYNTH gun_1095 costs 4480 cells.
< #C period 1095 fullperiod 1095 bbox 64 by 70
---
> #CSYNTH gun_1095 costs 4608 cells.
> #C period 1095 fullperiod 1095 bbox 64 by 72
963,964c963,964
< #CSYNTH gun_1110 costs 3721 cells.
< #C period 1110 fullperiod 1110 bbox 61 by 61
---
> #CSYNTH gun_1110 costs 3843 cells.
> #C period 1110 fullperiod 1110 bbox 61 by 63
1151,1152c1151,1152
< #CSYNTH gun_1140 costs 4312 cells.
< #C period 1140 fullperiod 1140 bbox 77 by 56
---
> #CSYNTH gun_1140 costs 4466 cells.
> #C period 1140 fullperiod 1140 bbox 77 by 58
1256,1257c1256,1257
< #CSYNTH gun_1155 costs 4158 cells.
< #C period 1155 fullperiod 1155 bbox 77 by 54
---
> #CSYNTH gun_1155 costs 4312 cells.
> #C period 1155 fullperiod 1155 bbox 77 by 56
1321,1322c1321,1322
< #CSYNTH gun_1166 costs 6461 cells.
< #C period 1166 fullperiod 1166 bbox 91 by 71
---
> #CSYNTH gun_1166 costs 6603 cells.
> #C period 1166 fullperiod 1166 bbox 93 by 71
1879,1880c1879,1880
< #CSYNTH gun_1245 costs 4692 cells.
< #C period 1245 fullperiod 1245 bbox 69 by 68
---
> #CSYNTH gun_1245 costs 4830 cells.
> #C period 1245 fullperiod 1245 bbox 69 by 70
2379,2380c2379,2380
< #CSYNTH gun_1320 costs 1886 cells.
< #C period 1320 fullperiod 1320 bbox 46 by 41
---
> #CSYNTH gun_1320 costs 1978 cells.
> #C period 1320 fullperiod 1320 bbox 46 by 43
2607,2608c2607,2608
< #CSYNTH gun_136 costs 1400 cells.
< #C period 136 fullperiod 136 bbox 40 by 35
---
> #CSYNTH gun_136 costs 1470 cells.
> #C period 136 fullperiod 136 bbox 42 by 35
2975,2976c2975,2976
< #CSYNTH gun_1425 costs 4845 cells.
< #C period 1425 fullperiod 1425 bbox 85 by 57
---
> #CSYNTH gun_1425 costs 5015 cells.
> #C period 1425 fullperiod 1425 bbox 85 by 59
3239,3240c3239,3240
< #CSYNTH gun_1464 costs 4288 cells.
< #C period 1464 fullperiod 1464 bbox 64 by 67
---
> #CSYNTH gun_1464 costs 4416 cells.
> #C period 1464 fullperiod 1464 bbox 64 by 69
3830,3831c3830,3831
< #CSYNTH gun_1592 costs 4828 cells.
< #C period 1592 fullperiod 1592 bbox 68 by 71
---
> #CSYNTH gun_1592 costs 4964 cells.
> #C period 1592 fullperiod 1592 bbox 68 by 73
4062,4063c4062,4063
< #CSYNTH gun_165 costs 1334 cells.
< #C period 165 fullperiod 165 bbox 46 by 29
---
> #CSYNTH gun_165 costs 1426 cells.
> #C period 165 fullperiod 165 bbox 46 by 31
4211,4212c4211,4212
< #CSYNTH gun_168 costs 966 cells.
< #C period 168 fullperiod 168 bbox 42 by 23
---
> #CSYNTH gun_168 costs 1050 cells.
> #C period 168 fullperiod 168 bbox 42 by 25
4229,4230c4229,4230
< #CSYNTH gun_1688 costs 5254 cells.
< #C period 1688 fullperiod 1688 bbox 71 by 74
---
> #CSYNTH gun_1688 costs 5396 cells.
> #C period 1688 fullperiod 1688 bbox 71 by 76
4596,4597c4596,4597
< #CSYNTH gun_176 costs 1260 cells.
< #C period 176 fullperiod 176 bbox 30 by 42
---
> #CSYNTH gun_176 costs 1344 cells.
> #C period 176 fullperiod 176 bbox 32 by 42
4623,4624c4623,4624
< #CSYNTH gun_1768 costs 5358 cells.
< #C period 1768 fullperiod 1768 bbox 94 by 57
---
> #CSYNTH gun_1768 costs 5415 cells.
> #C period 1768 fullperiod 1768 bbox 95 by 57
4923,4924c4923,4924
< #CSYNTH gun_184 costs 1020 cells.
< #C period 184 fullperiod 184 bbox 34 by 30
---
> #CSYNTH gun_184 costs 1054 cells.
> #C period 184 fullperiod 184 bbox 34 by 31
5250,5251c5250,5251
< #CSYNTH gun_1928 costs 4100 cells.
< #C period 1928 fullperiod 1928 bbox 82 by 50
---
> #CSYNTH gun_1928 costs 4150 cells.
> #C period 1928 fullperiod 1928 bbox 83 by 50
5399,5400c5399,5400
< #CSYNTH gun_1960 costs 4182 cells.
< #C period 1960 fullperiod 1960 bbox 82 by 51
---
> #CSYNTH gun_1960 costs 4233 cells.
> #C period 1960 fullperiod 1960 bbox 83 by 51
5644,5645c5644,5645
< #CSYNTH gun_2008 costs 6804 cells.
< #C period 2008 fullperiod 2008 bbox 81 by 84
---
> #CSYNTH gun_2008 costs 6966 cells.
> #C period 2008 fullperiod 2008 bbox 81 by 86
5663,5664c5663,5664
< #CSYNTH gun_2010 costs 3900 cells.
< #C period 2010 fullperiod 2010 bbox 60 by 65
---
> #CSYNTH gun_2010 costs 4020 cells.
> #C period 2010 fullperiod 2010 bbox 60 by 67
5904,5905c5904,5905
< #CSYNTH gun_2056 costs 5346 cells.
< #C period 2056 fullperiod 2056 bbox 81 by 66
---
> #CSYNTH gun_2056 costs 5478 cells.
> #C period 2056 fullperiod 2056 bbox 83 by 66
5983,5984c5983,5984
< #CSYNTH gun_2072 costs 5796 cells.
< #C period 2072 fullperiod 2072 bbox 69 by 84
---
> #CSYNTH gun_2072 costs 5964 cells.
> #C period 2072 fullperiod 2072 bbox 71 by 84
6232,6233c6232,6233
< #CSYNTH gun_2130 costs 4450 cells.
< #C period 2130 fullperiod 2130 bbox 89 by 50
---
> #CSYNTH gun_2130 costs 4550 cells.
> #C period 2130 fullperiod 2130 bbox 91 by 50
6321,6322c6321,6322
< #CSYNTH gun_2152 costs 5796 cells.
< #C period 2152 fullperiod 2152 bbox 84 by 69
---
> #CSYNTH gun_2152 costs 5934 cells.
> #C period 2152 fullperiod 2152 bbox 86 by 69
6477,6478c6477,6478
< #CSYNTH gun_2190 costs 4480 cells.
< #C period 2190 fullperiod 2190 bbox 64 by 70
---
> #CSYNTH gun_2190 costs 4608 cells.
> #C period 2190 fullperiod 2190 bbox 64 by 72
6603,6604c6603,6604
< #CSYNTH gun_2216 costs 6106 cells.
< #C period 2216 fullperiod 2216 bbox 86 by 71
---
> #CSYNTH gun_2216 costs 6248 cells.
> #C period 2216 fullperiod 2216 bbox 88 by 71
6727,6728c6727,6728
< #CSYNTH gun_2248 costs 6264 cells.
< #C period 2248 fullperiod 2248 bbox 87 by 72
---
> #CSYNTH gun_2248 costs 6408 cells.
> #C period 2248 fullperiod 2248 bbox 89 by 72
6917,6918c6917,6918
< #CSYNTH gun_2296 costs 6279 cells.
< #C period 2296 fullperiod 2296 bbox 69 by 91
---
> #CSYNTH gun_2296 costs 6461 cells.
> #C period 2296 fullperiod 2296 bbox 71 by 91
7541,7542c7541,7542
< #CSYNTH gun_2440 costs 4480 cells.
< #C period 2440 fullperiod 2440 bbox 64 by 70
---
> #CSYNTH gun_2440 costs 4544 cells.
> #C period 2440 fullperiod 2440 bbox 64 by 71
7743,7744c7743,7744
< #CSYNTH gun_25 costs 484 cells.
< #C period 25 fullperiod 25 bbox 22 by 22
---
> #CSYNTH gun_25 costs 506 cells.
> #C period 25 fullperiod 25 bbox 23 by 22
7920,7921c7920,7921
< #CSYNTH gun_255 costs 2263 cells.
< #C period 255 fullperiod 255 bbox 73 by 31
---
> #CSYNTH gun_255 costs 2409 cells.
> #C period 255 fullperiod 255 bbox 73 by 33
8017,8018c8017,8018
< #CSYNTH gun_2580 costs 3192 cells.
< #C period 2580 fullperiod 2580 bbox 57 by 56
---
> #CSYNTH gun_2580 costs 3306 cells.
> #C period 2580 fullperiod 2580 bbox 57 by 58
8073,8074c8073,8074
< #CSYNTH gun_2600 costs 3016 cells.
< #C period 2600 fullperiod 2600 bbox 58 by 52
---
> #CSYNTH gun_2600 costs 3068 cells.
> #C period 2600 fullperiod 2600 bbox 59 by 52
8646,8647c8646,8647
< #CSYNTH gun_2760 costs 2400 cells.
< #C period 2760 fullperiod 2760 bbox 50 by 48
---
> #CSYNTH gun_2760 costs 2496 cells.
> #C period 2760 fullperiod 2760 bbox 52 by 48
8862,8863c8862,8863
< #CSYNTH gun_2820 costs 3245 cells.
< #C period 2820 fullperiod 2820 bbox 59 by 55
---
> #CSYNTH gun_2820 costs 3363 cells.
> #C period 2820 fullperiod 2820 bbox 59 by 57
8950,8951c8950,8951
< #CSYNTH gun_285 costs 4312 cells.
< #C period 285 fullperiod 285 bbox 77 by 56
---
> #CSYNTH gun_285 costs 4466 cells.
> #C period 285 fullperiod 285 bbox 77 by 58
9031,9032c9031,9032
< #CSYNTH gun_2864 costs 4410 cells.
< #C period 2864 fullperiod 2864 bbox 70 by 63
---
> #CSYNTH gun_2864 costs 4536 cells.
> #C period 2864 fullperiod 2864 bbox 72 by 63
9265,9266c9265,9266
< #CSYNTH gun_2940 costs 4420 cells.
< #C period 2940 fullperiod 2940 bbox 85 by 52
---
> #CSYNTH gun_2940 costs 4524 cells.
> #C period 2940 fullperiod 2940 bbox 87 by 52
9322,9323c9322,9323
< #CSYNTH gun_296 costs 2790 cells.
< #C period 296 fullperiod 296 bbox 62 by 45
---
> #CSYNTH gun_296 costs 2835 cells.
> #C period 296 fullperiod 296 bbox 63 by 45
9754,9755c9754,9755
< #CSYNTH gun_31 costs 14553 cells.
< #C period 31 fullperiod 93 bbox 147 by 99
---
> #CSYNTH gun_31 costs 14700 cells.
> #C period 31 fullperiod 93 bbox 147 by 100
9832,9833c9832,9833
< #CSYNTH gun_3120 costs 1692 cells.
< #C period 3120 fullperiod 3120 bbox 47 by 36
---
> #CSYNTH gun_3120 costs 1786 cells.
> #C period 3120 fullperiod 3120 bbox 47 by 38
9999,10000c9999,10000
< #CSYNTH gun_3180 costs 5481 cells.
< #C period 3180 fullperiod 3180 bbox 63 by 87
---
> #CSYNTH gun_3180 costs 5607 cells.
> #C period 3180 fullperiod 3180 bbox 63 by 89
10379,10380c10379,10380
< #CSYNTH gun_3300 costs 3186 cells.
< #C period 3300 fullperiod 3300 bbox 54 by 59
---
> #CSYNTH gun_3300 costs 3294 cells.
> #C period 3300 fullperiod 3300 bbox 54 by 61
10751,10752c10751,10752
< #CSYNTH gun_3400 costs 4248 cells.
< #C period 3400 fullperiod 3400 bbox 72 by 59
---
> #CSYNTH gun_3400 costs 4320 cells.
> #C period 3400 fullperiod 3400 bbox 72 by 60
11669,11670c11669,11670
< #CSYNTH gun_368 costs 1368 cells.
< #C period 368 fullperiod 368 bbox 38 by 36
---
> #CSYNTH gun_368 costs 1440 cells.
> #C period 368 fullperiod 368 bbox 40 by 36
11697,11698c11697,11698
< #CSYNTH gun_3690 costs 4312 cells.
< #C period 3690 fullperiod 3690 bbox 88 by 49
---
> #CSYNTH gun_3690 costs 4488 cells.
> #C period 3690 fullperiod 3690 bbox 88 by 51
12640,12641c12640,12641
< #CSYNTH gun_40 costs 513 cells.
< #C period 40 fullperiod 40 bbox 27 by 19
---
> #CSYNTH gun_40 costs 540 cells.
> #C period 40 fullperiod 40 bbox 27 by 20
13659,13660c13659,13660
< #CSYNTH gun_432 costs 1600 cells.
< #C period 432 fullperiod 432 bbox 50 by 32
---
> #CSYNTH gun_432 costs 1650 cells.
> #C period 432 fullperiod 432 bbox 50 by 33
15211,15212c15211,15212
< #CSYNTH gun_4830 costs 3481 cells.
< #C period 4830 fullperiod 4830 bbox 59 by 59
---
> #CSYNTH gun_4830 costs 3599 cells.
> #C period 4830 fullperiod 4830 bbox 59 by 61
16274,16275c16274,16275
< #CSYNTH gun_520 costs 1924 cells.
< #C period 520 fullperiod 520 bbox 52 by 37
---
> #CSYNTH gun_520 costs 1976 cells.
> #C period 520 fullperiod 520 bbox 52 by 38
17379,17380c17379,17380
< #CSYNTH gun_555 costs 3721 cells.
< #C period 555 fullperiod 555 bbox 61 by 61
---
> #CSYNTH gun_555 costs 3843 cells.
> #C period 555 fullperiod 555 bbox 61 by 63
17619,17620c17619,17620
< #CSYNTH gun_5640 costs 3245 cells.
< #C period 5640 fullperiod 5640 bbox 59 by 55
---
> #CSYNTH gun_5640 costs 3363 cells.
> #C period 5640 fullperiod 5640 bbox 59 by 57
18080,18081c18080,18081
< #CSYNTH gun_58 costs 3108 cells.
< #C period 58 fullperiod 58 bbox 74 by 42
---
> #CSYNTH gun_58 costs 3182 cells.
> #C period 58 fullperiod 58 bbox 74 by 43
18669,18670c18669,18670
< #CSYNTH gun_6000 costs 3111 cells.
< #C period 6000 fullperiod 6000 bbox 51 by 61
---
> #CSYNTH gun_6000 costs 3213 cells.
> #C period 6000 fullperiod 6000 bbox 51 by 63
19068,19069c19068,19069
< #CSYNTH gun_615 costs 4096 cells.
< #C period 615 fullperiod 615 bbox 64 by 64
---
> #CSYNTH gun_615 costs 4160 cells.
> #C period 615 fullperiod 615 bbox 64 by 65
19343,19344c19343,19344
< #CSYNTH gun_6240 costs 3172 cells.
< #C period 6240 fullperiod 6240 bbox 61 by 52
---
> #CSYNTH gun_6240 costs 3276 cells.
> #C period 6240 fullperiod 6240 bbox 63 by 52
19711,19712c19711,19712
< #CSYNTH gun_6360 costs 5332 cells.
< #C period 6360 fullperiod 6360 bbox 86 by 62
---
> #CSYNTH gun_6360 costs 5456 cells.
> #C period 6360 fullperiod 6360 bbox 88 by 62
19860,19861c19860,19861
< #CSYNTH gun_6420 costs 5394 cells.
< #C period 6420 fullperiod 6420 bbox 87 by 62
---
> #CSYNTH gun_6420 costs 5518 cells.
> #C period 6420 fullperiod 6420 bbox 89 by 62
20326,20327c20326,20327
< #CSYNTH gun_660 costs 1886 cells.
< #C period 660 fullperiod 660 bbox 46 by 41
---
> #CSYNTH gun_660 costs 1978 cells.
> #C period 660 fullperiod 660 bbox 46 by 43
20336,20337c20336,20337
< #CSYNTH gun_6600 costs 3186 cells.
< #C period 6600 fullperiod 6600 bbox 54 by 59
---
> #CSYNTH gun_6600 costs 3294 cells.
> #C period 6600 fullperiod 6600 bbox 54 by 61
20774,20775c20774,20775
< #CSYNTH gun_6768 costs 3330 cells.
< #C period 6768 fullperiod 6768 bbox 74 by 45
---
> #CSYNTH gun_6768 costs 3420 cells.
> #C period 6768 fullperiod 6768 bbox 76 by 45
21726,21727c21726,21727
< #CSYNTH gun_7080 costs 4424 cells.
< #C period 7080 fullperiod 7080 bbox 79 by 56
---
> #CSYNTH gun_7080 costs 4582 cells.
> #C period 7080 fullperiod 7080 bbox 79 by 58
22818,22819c22818,22819
< #CSYNTH gun_75 costs 858 cells.
< #C period 75 fullperiod 75 bbox 26 by 33
---
> #CSYNTH gun_75 costs 924 cells.
> #C period 75 fullperiod 75 bbox 28 by 33
22877,22878c22877,22878
< #CSYNTH gun_752 costs 2016 cells.
< #C period 752 fullperiod 752 bbox 48 by 42
---
> #CSYNTH gun_752 costs 2112 cells.
> #C period 752 fullperiod 752 bbox 48 by 44
24552,24553c24552,24553
< #CSYNTH gun_816 costs 2322 cells.
< #C period 816 fullperiod 816 bbox 54 by 43
---
> #CSYNTH gun_816 costs 2430 cells.
> #C period 816 fullperiod 816 bbox 54 by 45
25577,25578c25577,25578
< #CSYNTH gun_8520 costs 7008 cells.
< #C period 8520 fullperiod 8520 bbox 96 by 73
---
> #CSYNTH gun_8520 costs 7200 cells.
> #C period 8520 fullperiod 8520 bbox 96 by 75
27892,27893c27892,27893
< #CSYNTH gun_9360 costs 4116 cells.
< #C period 9360 fullperiod 9360 bbox 98 by 42
---
> #CSYNTH gun_9360 costs 4312 cells.
> #C period 9360 fullperiod 9360 bbox 98 by 44
29169,29170c29169,29170
< #CSYNTH gun_9840 costs 4366 cells.
< #C period 9840 fullperiod 9840 bbox 74 by 59
---
> #CSYNTH gun_9840 costs 4484 cells.
> #C period 9840 fullperiod 9840 bbox 76 by 59
Edit: update Mar 05
I was lucky to see calcyman online on Discord so I got to ping and ask him about the time bounds of the gun identification script.
I guess I'll uh... check the diff results in this post and send him a PR.Scorbie — Today at 6:15 PM
@apgoucher since you're here now, I was going to ask how long catagolue's gun processing script is allowed to get? My fix for the bounding box glitch seems to run 8 times slower on average, and runs at a maximum time of 1 minute on some of the worst cases.
Not suggesting my solution, but knowing the time bounds would be helpful for weighing between the balance of correctness and speed.
Edit: for reference my modified script is https://github.com/scorbiclife/benchmar ... w_idgun.py
apgoucher — Today at 6:20 PM
Correctness is far more important than speed -- please do submit a PR!
(and 1 minute processing time is absolutely fine because that's not going to materially impact overall runtime unless people are doing mass automated uploads of glider guns)
Scorbie — Today at 6:21 PM
Thank you so much for the response!
Matthias Merzenich — Today at 6:24 PM
If at all possible, it would be nice if Catagolue would prefer guns with smaller population when in standard form. That is, if a gun is submitted with the same bounding box and strictly lower population than the current record-holder, then the lower-population solution will become the new record-holder.
This would allow us to fix nonsense like this:
https://catagolue.hatsya.com/object/guntrue_1999/b3s23
Re: Catagolue Discussion Thread
Here's an alternate approach that I do not intend to implement and in no way expect anyone else to try either:
- Find the (possibly incorrect) bounding box as in the old version.
- Run it for long enough that the first emitted glider is well outside the bounding box.
- Back the glider up until the exact generation that the glider leaves the (possibly incorrect) bounding box, and rephase the gun according to how much you had to back up the glider. If the bounding box is correct, then the gun will now be one generation beyond standard form (and possibly rotated/reflected from standard form)
- Reorient the gun so that the glider exits the bounding box along the bottom edge and is traveling southeast.
- Check if there's actually a glider in the correct location. If not, the gun is not one tick beyond standard form, so increase the height of the bounding box by 1 on the bottom edge and go back to step 4.
- If the glider is present in the correct location, paint it cyan (state 4) in the following rule:
This rule marks any cells in red any time the cyan glider interacts in with white cells either by direct contact or to cause or suppress a birth.
Code: Select all
x = 76, y = 7, rule = Gun-test 37.A$.3A9.3A9.A.A7.2A$5A7.5A8.3A6.4A26.A$12.A23.A27.A$2.D11.D11.D11.D 11.D11.D10.AD$3.D11.D11.D11.D11.D.A9.D11.D$.3D9.3D9.3D9.3D9.3D.A7.3D 9.3D! @RULE Gun-test States 0,1 = Normal Life (black/white) states 2,3 = dead/alive marker states (dark/bright red) state 4 = glider state (cyan) @TABLE n_states:5 neighborhood:Moore symmetries:permute var a0 = {1,3,4} var a1 = {1,3,4} var a2 = {1,3,4} var a3 = {1,3,4} var a4 = {1,3,4} var a5 = {1,3,4} var a6 = {1,3,4} var a7 = {1,3,4} var a8 = {1,3,4} var d0 = {0,2} var d1 = {0,2} var d2 = {0,2} var d3 = {0,2} var d4 = {0,2} var d5 = {0,2} var d6 = {0,2} var d7 = {0,2} var d8 = {0,2} var d9 = {0,2} var f0 = {0,1,2,3,4} var f1 = {0,1,2,3,4} var f2 = {0,1,2,3,4} var f3 = {0,1,2,3,4} var f4 = {0,1,2,3,4} var f5 = {0,1,2,3,4} var f6 = {0,1,2,3,4} var f7 = {0,1,2,3,4} var f8 = {0,1,2,3,4} var g0 = {0,4} var g1 = {0,4} var g2 = {0,4} var g3 = {0,4} var g4 = {0,4} var g5 = {0,4} var g6 = {0,4} var g7 = {0,4} var g8 = {0,4} 1, 4,a2,f3,d4,d5,d6,d7,d8, 3 a0, a1,a2,f3,d4,d5,d6,d7,d8, a0 0, 3,3,3,d4,d5,d6,d7,d8, 1 0, a1,a1,a1,d4,d5,d6,d7,d8, a1 0, 4,a2,a3,d4,d5,d6,d7,d8, 3 0, a1,a2,a3,d4,d5,d6,d7,d8, 1 2, a1,a2,a3,d4,d5,d6,d7,d8, 3 0, 1,1,1,4,d5,d6,d7,d8, 2 g0, g1,g2,g3,g4,g5,g6,g7,g8, 0 1, 4,f2,f3,f4,f5,f6,f7,f8, 2 2, f1,f2,f3,f4,f5,f6,f7,f8, 2 3, f1,f2,f3,f4,f5,f6,f7,f8, 2 f0, f1,f2,f3,f4,f5,f6,f7,f8, 0 @COLORS 0 0 0 0 1 255 255 255 2 128 0 0 3 255 0 0 4 0 255 255 - With the presumptive output glider painted cyan, run the gun for 200 generations and check if the pattern has any red (state 2 or 3) cells. If so, the gun is not one tick beyond standard form, so increase the height of the bounding box by 1 on the bottom edge and go back to step 4.
- If the gun is pseudo-period, repeat steps 4 through 7 for each standard phase corresponding to the different output gliders. If none of these produce a red cell in step 7, then the currently measured bounding box is correct.
- Put the gun in standard form as in the before.
-Matthias Merzenich
Re: Catagolue Discussion Thread
Someone did the same thing with guntrue_9760, a gun I revealed yesterday.confocaloid wrote: ↑March 4th, 2025, 3:30 pmHistorical note so that future readers will be able to know what people in 2025 were talking about: here are the six mentioned glider guns as they currently appear on Catagolue. Looks like an exercise in pointless densification:
Code: Select all
EDIT: Same with Guntrue_285
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.
Pseudastur albicollis
Pseudastur albicollis
Re: Catagolue Discussion Thread
Found more today with guntrue_3457, guntrue_3449, guntrue_3433, guntrue_3271, guntrue_3607, guntrue_3719, guntrue_3943, guntrue_3947, guntrue_4111, guntrue_4951, guntrue_3391, guntrue_3343, guntrue_3511, guntrue_3623, guntrue_3847, guntrue_4127, guntrue_3407, guntrue_3463, guntrue_3631, guntrue_3911, guntrue_3967, guntrue_4079, guntrue_3359, guntrue_3527, guntrue_3583, guntrue_3863, guntrue_3919, guntrue_3319, guntrue_3767, guntrue_3823, guntrue_4271, guntrue_4327.WhiteHawk wrote: ↑March 11th, 2025, 10:58 amSomeone did the same thing with guntrue_9760, a gun I revealed yesterday.confocaloid wrote: ↑March 4th, 2025, 3:30 pmHistorical note so that future readers will be able to know what people in 2025 were talking about: here are the six mentioned glider guns as they currently appear on Catagolue. Looks like an exercise in pointless densification:
Code: Select all
EDIT: Same with Guntrue_285
I got this list by checking all the primes mentioned in the three most recent posts on the "Small Four-Digit Prime Period Guns" thread.
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.
Pseudastur albicollis
Pseudastur albicollis
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
Well, I don't really know what could drive someone to that level of determination regarding pointless densification of glider guns.
Maybe they are trying to point out a deficiency in the current Catagolue design, where there's no easy way to replace a high-population gun by a lower-population gun with the same computed bounding box? Related: viewtopic.php?p=205865#p205865
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
- dl-rs
- Posts: 247
- Joined: April 11th, 2022, 12:14 am
- Location: I was just a block until a glider crashes with me and I tumbled onto Earth surface in LWSS form.
- Contact:
Re: Catagolue Discussion Thread
How do I contact Catagolue with my own search program? Would I be uploading it with the apgsearch results, or would there be a new 'custom symmetry'?
Roaming OCA randomly.
Code: Select all
x = 23, y = 11, rule = B2n3-jknr4ky5-eqry6ik7c8/S234cktwz5ai6-ci7c
2bo2b3o2bo7bo2bo$b2ob5ob2o6b2ob2o$2bo2b3o2bo7bo2bo4$10b2o$b3o5bobo$2o
b2o4b3o$b3o5bobo$10b2o!
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
In case you want to submit a census of some kind, which would also contain objects with apgcodes beginning with 'x' (xp, xq, xs), except the objects would come from some source other than "evolving soups generated by apgsearch",
... you can write your own program that prints RLEs of patterns to census to stdout, and "pipe" the output of your program into apgsearch.
For that to work correctly, apgsearch must be compiled for a target census name that contains the substring 'stdin', for example 'stdin_test'.
Then it should be possible to run something like
Code: Select all
# ./your_program | ./apgluxe -t 1 -L 1 -n 10000 -i 0
Code: Select all
# ./your_program | ./apgluxe -L 1 -n 10000 -i 0
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
- dl-rs
- Posts: 247
- Joined: April 11th, 2022, 12:14 am
- Location: I was just a block until a glider crashes with me and I tumbled onto Earth surface in LWSS form.
- Contact:
Re: Catagolue Discussion Thread
How do I copy the GIFs of patterns from Catagolue?
Roaming OCA randomly.
Code: Select all
x = 23, y = 11, rule = B2n3-jknr4ky5-eqry6ik7c8/S234cktwz5ai6-ci7c
2bo2b3o2bo7bo2bo$b2ob5ob2o6b2ob2o$2bo2b3o2bo7bo2bo4$10b2o$b3o5bobo$2o
b2o4b3o$b3o5bobo$10b2o!
Re: Catagolue Discussion Thread
I made a slight modification to my "update LifeWiki" script, since it was previously failing with mode=2 (all symmetries) due to the xp2 textcensus page giving a 500 error.
You'll still have to do the following after running:
[*] Fill in today's date.
[*] If running mode=0 (asymmetric), find the number of rules and fill it in.
[*] If running mode=0, change the word "higher" at the beginning to "C1".
[*] Find the correct number of soups, since it isn't updated automatically. (Number of objects is.)
[*] If running mode=2, go to the all-soups/xp2 page (regular census, not textcensus), and add a line corresponding to the number.
Code: Select all
import urllib.request
symmetries = ['C2_1','C2_2','C2_4','C4_1','C4_4','D2_+1','D2_+2','D2_x','D4_+1',
'D4_+2','D4_+4','D4_x1','D4_x4','D8_4','D2_+1_gO1s0',
'D2_+1_gO1s1','D2_+1_gO1s2','H2_+1','H2_+2','H4_+1','H4_+2','H4_+4',
'G2_1','G2_2','G2_4']
mode = 2 #0 asymmetric, 1 symmetric, 2 all
if mode == 0:
symmetries = ['C1','G1']
if mode == 2:
symmetries = ['all-soups']
f1 = []
if mode == 0:
for symmetry in ('C1','G1'):
url = "https://catagolue.hatsya.com/textcensus/b3s23/%s/summary" % symmetry
response = urllib.request.urlopen(url)
html = response.read().decode()
html = html.split('\n')
html = html[1:-2]
for i in html:
if i[0] != '"':
symmetries.append('%s/%s' % (symmetry, i.split(' ')[-1]))
else:
i = i.split(',')
f1.append(eval(i[0]))
f1.append(eval(i[1]))
symmetries.remove(symmetry)
if mode == 1:
url = "https://catagolue.hatsya.com/textcensus/b3s23/D8_1/summary"
response = urllib.request.urlopen(url)
html = response.read().decode()
html = html.split('\n')
html = html[1:-2]
for i in html:
if i[0] != '"':
symmetries.append('D8_1/%s' % i.split(' ')[-1])
else:
i = i.split(',')
f1.append(eval(i[0]))
f1.append(eval(i[1]))
if mode == 2:
url = "https://catagolue.hatsya.com/textcensus/b3s23/all-soups/summary"
response = urllib.request.urlopen(url)
html = response.read().decode()
html = html.split('\n')
html = html[1:-2]
for i in html:
if i[0] != '"':
symmetries.append('all-soups/%s' % i.split(' ')[-1])
else:
i = i.split(',')
f1.append(eval(i[0]))
f1.append(eval(i[1]))
symmetries.remove('all-soups')
for symmetry in symmetries:
if symmetry == 'all-soups/xp2':
continue
url = "https://catagolue.hatsya.com/textcensus/b3s23/%s" % symmetry
print(symmetry)
response = urllib.request.urlopen(url)
html = response.read().decode()
html = html.replace('\n',',')
html = '[' + html + ']'
#print(html[-200:])
html = eval(html)
f1 += html
f2 = f1[1::2]
f1 = f1[::2]
f3 = list(set(f1))
types = {}
for i in f3:
try:
underscore = i.find('_')
except IndexError:
continue
before_underscore = i[:underscore]
if before_underscore not in types:
types[before_underscore] = 1
else:
types[before_underscore] += 1
#print(types)
nums = {}
for i in range(len(f1)):
if 'x' in f1[i] or 'y' in f1[i]:
continue
if '_' not in f1[i]:
continue
if f1[i] not in nums:
nums[f1[i]] = int(f2[i])
else:
nums[f1[i]] += int(f2[i])
def sep(number):
number_str = str(number)
modulo = len(number_str) % 3
if modulo == 0:
modulo = 3
to_return = number_str[:modulo]
for i in range(modulo,len(number_str)-1,3):
to_return += '{{{sep|,}}}' + number_str[i:i+3]
return to_return
#print(nums)
to_print = '| higher = {{#switch: {{{1|}}}\n'
to_print += ' | date = [fill in]\n'
to_print += ' | numsoups = 6{{{sep|,}}}566{{{sep|,}}}371{{{sep|,}}}313{{{sep|,}}}706\n'
to_print += ' | numobjects = %s\n' % sep(sum((int(i) if i[0] in '123456789' else 0) for i in f2))
to_print += ' | distinctobjects = %s\n' % sep(sum(types.values()))
for i in range(1000):
if 'xs' + str(i) in types:
to_print += ' | xs%s = %s\n' % (str(i), sep(types['xs'+str(i)]))
for i in range(1000):
if 'xp' + str(i) in types:
to_print += ' | xp%s = %s\n' % (str(i), sep(types['xp'+str(i)]))
for i in range(1000):
if 'xq' + str(i) in types:
to_print += ' | xq%s = %s\n' % (str(i), sep(types['xq'+str(i)]))
for i in range(1000):
if 'methuselah_' + str(i) + 'k' in nums:
to_print += ' | methuselah_%sk = %s\n' % (str(i), sep(nums['methuselah_'+str(i)+'k']))
for i in range(1000):
if 'messless_' + str(i) + 'h' in nums:
to_print += ' | messless_%sh = %s\n' % (str(i), sep(nums['messless_'+str(i)+'h']))
for i in range(1000):
if 'megasized_' + str(i) + 'h' in nums:
to_print += ' | megasized_%sh = %s\n' % (str(i), sep(nums['megasized_'+str(i)+'h']))
to_print += ' | yl = %s\n' % sum((types[i] if i[0] == 'y' else 0) for i in types)
to_print += ' | \'\'\'Unknown query: {{{1|}}}\'\'\'\n}} '
print(to_print)
[*] Fill in today's date.
[*] If running mode=0 (asymmetric), find the number of rules and fill it in.
[*] If running mode=0, change the word "higher" at the beginning to "C1".
[*] Find the correct number of soups, since it isn't updated automatically. (Number of objects is.)
[*] If running mode=2, go to the all-soups/xp2 page (regular census, not textcensus), and add a line corresponding to the number.
User:HotdogPi/My discoveries
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
Re: Catagolue Discussion Thread
https://catagolue.hatsya.com/census/b3s ... costs/xp2
Attempting to download the CSV file results in an error:
Attempting to download the CSV file results in an error:
Not surprising, but breaking it up into multiple downloadable files would be appreciated.Request failed: Unexpected Error: org.eclipse.jetty.http.HttpException$RuntimeException: 500: Response body is too large: 33587200>33554432
Re: Catagolue Discussion Thread
As a workaround for that problem, there's a way to download the synthesis costs files in a compressed format. Here's a sample use of this that Adam suggested a while back, from the LifeWiki auto-upload script.hkoenig wrote: ↑June 28th, 2025, 3:42 pmhttps://catagolue.hatsya.com/census/b3s ... costs/xp2
Attempting to download the CSV file results in an error:
Not surprising, but breaking it up into multiple downloadable files would be appreciated.Request failed: Unexpected Error: org.eclipse.jetty.http.HttpException$RuntimeException: 500: Response body is too large: 33587200>33554432
Code: Select all
def get_knowns(address, max_errors=2):
summary = urllib.request.urlopen(address + '/textcensus/b3s23/synthesis-costs/summary').read().decode()
tabs = [x for x in summary.split('\n') if ' tabulation ' in x]
tabs = [x.split(' tabulation ')[-1].strip() for x in tabs]
tabs = [x for x in tabs if x.startswith('x')]
knowns = [x for x in parse_csv(summary) if x[0].startswith('x')]
g.show('Initial length: %d' % len(knowns))
i = 0
j = 0
gm = 0.5 + 1.25 ** 0.5
while (i < len(tabs)):
t = tabs[i]
g.show('Downloading %s...' % t)
try:
addr = address + '/textcensus/b3s23/synthesis-costs/' + t + '/compressed'
res = urlopen(addr).read()
res = gzip.decompress(base64.b64decode(res)).decode()
knowns += [s.split(' ') for s in res.split('\n') if ' ' in s]
except Exception as e:
g.note(str(e) + "\n" + addr)
sleep(gm ** j) # exponential backoff
tabs.append(t)
j += 1
if (j > max_errors):
# raise ValueError("%d errors have occurred; terminating..." % j)
g.note("%d errors have occurred; terminating...\nFix any remaining problems manually.\nError is in '%s'." % (j, i))
tabs.pop()
i += 1
g.show('Final length: %d' % len(knowns))
return knownsRe: Catagolue Discussion Thread
How do you get a pattern collection from catagolue?
Code: Select all
x = 31, y = 13, rule = C
8.2X2.3X.3X.X.X$8.X.X.X3.X3.X.X$8.X.X.3X.3X.X.X$8.2X2.X5.X.X.X$8.X.X.
3X.3X.3X$M2.M$4.M$M3.M$.4M$27.2M$27.M.M$29.M$29.2M! [[ AUTOSTART GPS 10 ]]
Re: Catagolue Discussion Thread
What patterns are you interested in? Glider guns, either pseudo- or true-period? Syntheses of some class of objects? Stamp collections of all objects found in soups, in some category? Soups in which some particular object can be found?
A very large number of patterns are stored on Catagolue, in either explicit or implicit form. An RLE pattern collection that includes every such pattern would be a constantly-changing ZIP file containing so many gigabytes of data that it would be impressively awkward to download or use, not to mention the server costs of delivering it to whoever might try to download it.
There are tools that allow specific subsets of patterns to be extracted conveniently, though. An example is findpreds.py, for potentially useful soups that produce a specific object.
Re: Catagolue Discussion Thread
Some alien pattern collections were labeled as from catagolue, and I was wondering how to do that.
Code: Select all
x = 31, y = 13, rule = C
8.2X2.3X.3X.X.X$8.X.X.X3.X3.X.X$8.X.X.3X.3X.X.X$8.2X2.X5.X.X.X$8.X.X.
3X.3X.3X$M2.M$4.M$M3.M$.4M$27.2M$27.M.M$29.M$29.2M! [[ AUTOSTART GPS 10 ]]
Re: Catagolue Discussion Thread
Here is a script to get a collection of objects from Catagolue:
Code: Select all
import lifelib
import requests
import csv
rule = input('Enter the rule.\n>>>')
rule = rule.lower().replace('/', '')
symmetry = input('Enter the symmetry.\n>>>')
identifier = input('Enter an identifier for the patterns you want.\nExamples:\n\t (blank) -> still lifes, oscillators, and spaceships\n\t xs -> still lifes\n\t xp7 -> period-7 oscillators\n\t xq3 -> period-3 spaceships\n>>>')
results = int(input('How many patterns to show? (-1 will show all of them))\n>>>'))
print('Downloading data from Catagolue...')
c = requests.get('https://catagolue.hatsya.com/textcensus/'+rule+'/'+symmetry)
response = c.text
f = open(rule+'-'+symmetry+'-censusdata.csv', 'w')
f.write(response)
f.close()
censusdata = {}
print('Data downloaded, interpreting...')
with open(rule+'-'+symmetry+'-censusdata.csv', mode ='r') as file:
csvFile = csv.DictReader(file)
for lines in csvFile:
apgcode = lines['apgcode']
if (identifier == '' and apgcode[0] == 'x') or (apgcode.count(identifier+'_') > 0 and identifier != '') or (identifier.isalpha() and identifier != '' and apgcode[0:len(identifier)] == identifier):
censusdata[lines['apgcode']] = int(lines['occurrences'])
sorted_data = dict(sorted(censusdata.items(), key=lambda kv: (kv[1], kv[0]), reverse = True))
print('Compiling stamp collection...')
sess = lifelib.load_rules(rule)
lt = sess.lifetree()
collection = lt.pattern('b!')
count = 0
if results == -1:
results = 99999999
for x in sorted_data:
print(x)
collection = collection + lt.pattern(x)(50*(count%10), 50*(count//10))
count = count + 1
if count >= results:
break
print(collection.rle_string())
It takes as input:
- The rule you want to get objects for.
- The symmetry you want to take objects from.
- An identifier for what type of pattern you want (explained when you run the program).
- How many objects you want it to return.
As an example, here is the result for the top 100 p5 oscillators in b3s23/D2_x:
Code: Select all
x = 462, y = 463, rule = B3/S23
bo2bo48b3ob2o51b2o41b3o45b2o52bo3b2o42b2o48b3o45b2o49b2o$ob2obo46b2obo
b2o52bo41bob2o43bo2bo49bo2bobobo41bo2bo46b2obo2b2o40bo2bo47bobo$bo2bo
46bobobo52b2o40b2obobobo42b3o50bo2bobo43b3o46bobobobo2bo40b3o48bo$bo2b
o45b3o2bob2o92bobo2b3o92b2obobob2o90b3o2bo2b2o$ob2obo44bo4bob2o47bobo
41bo2bo4bo41b5o48bo2bo43b5o3bo41bo4bo45b5o44b5o$bo2bo45b5o95b2o2b5o41b
o4bo44bo5bo43bo4bobobo40b5o46bo4bo43bo4bo$104bobo93b3o2bo2bo42b5o44b3o
2bobobo91b3o2bo43b3o2bo2b2o$50b2ob2o98bob2o44bobobobobo91bobobob2o43bo
49bobobob2o41bobobobobo$50b2ob2o47bobo48b2obo45b2obobobo41b3o48b2obo
45bobo49b2obobobo41b2obo2bo$102bo100b3ob2o41bo2bo49b3o45bobo50b3obobo
42b3o$100bo149b2o100bo56bo$100b2o39$5bo3b2o41b2o48b2o47b2o47b2o3bo48b
3o44b2o49bo48b2o50b3ob2o$3bo2bobo2bo38bo2bo47bo2bo46bobo46bobobobo47bo
b2o43bo2b2o45bobo47bo2bo47b2obobobo$3bo2bobobo39b3o49b3o47bo49bobobo
44b2obobobo43b2obo46bo49b3o46bobobobo2bo$b2obobob2o191b2obo2b2o43bobo
2b3o190b3o2bo2bobo$3bo2bo43b5o45b5o45b5o49bo4bo40bobobo4bo40b5o2b2o41b
5o45b5o45bo4bo3bo$o5bo43bo4bo44bo4bob2o41bo4bo49b4o41b2o3b5o40bo4bo2bo
41bo4bo44bo4bob2o41b5o$b5o44b3o2bo2b2o40b3o2bobobo40b3o2bo2bo42bo98b3o
2bobo42b3o2bo2bo41b3o2bobo$51bobobobobo41bobobobobo41bobobobobo40bobo
3b3o46b3o43bobobobobo41bobobobobo41bobobobobo40b3o$b3o48b2obobo44b2obo
2bo43b2obo2b2o40bo2bo2bo2bo44bo2bo44b2obo2b2o42b2obo2bo43b2obo2b2o40bo
2bo$o2bo49b3ob2o44b3o47b3o45b2o5b2o44b2o47b3o47b3o47b3o45bo2bo$obo449b
2o$bo39$bo51b3ob2o52bo43bo3b2o43bo48b3ob2o43bo2bob2o41b2o51b3o3bo44bo$
obob2o46b2obobobo50bobo40bo2bobo2bo41bobo46b2obob2o43b4ob2o41bobob2o
46b2obo2bobo39b2obobo$b2ob2o45bobobobo2bo44b3obo2bo40bo2bobob2o40bo2bo
45bobobo44b2o50bobobo44bobobobo2bo39b2ob2o$50b3o2bo2b2o44b2obobobo39b
2obobobo43b3o45b3o2bo45bo2b5o42b2obo2bo42b3o2bo2b2o$b5o44bo4bo47bobobo
b2o42bo2bobo91bo4bob2o42bobo4bo45bo3bo41bo4bo44b5o3bo$bo4bob2o40b5o47b
3o2bo42bo5bob2o40b5o3b2o40b5o2bo42b2obo2b3o46b4o41b5o45bo4bobobo$b3o2b
ob2o92bo4bo43b5o44bo4bobo2bo46bo45bobobo43bo98b3o2bob2o$2bobobo43b3o
49b5o93b3o2bobobo40b2o2b3o43b2obob2o43bobo3b3o43bo48bobobo$3b2obob2o
40bo2bo97b5o45bobobob2o41b2o2bo45b2ob3o44bo2bo2bo2bo41bobo48b2obob2o$
4b3obobo40bobo48b3o45bo4bo46b2obo145b2o5b2o40bo2bo49b3ob2o$9bo42bo48bo
2bo45bobo50b3o195b2o$100bo2bo47b2o$101b2o38$3b3o45b2ob3o46b3o47b3o3bo
43b3ob2o45b2o47b3o46bo2bo2bo48b2o48b2ob2o$2b2obo2b2o41b2obob2o44b2obo
2b2o42b2obo2bobo41b2obobo45bo2bo45b2obo46b7o47bobo47bobobo$bobobobo2bo
43bobobo42bobobobo2bo40bobobobo2bo40bobobobo44bo2bo45bobobob2o41b2o54b
o49bo3bo$3o2bo2bobo40b2obo2b3o40b3o2bobobo40b3o2bobobo40b3o2bobob2o41b
3o45b3o2bobo43bo2b5o45b2ob4o43b2ob3o$o4bo3bo40bobobo4bo40bo4bob2o41bo
4bob2o41bo4bobo2bo48bo40bo4bobo43bobo4bo44bobobo2bo42bobobo$5o45b2o3b
5o40b5o45b5o45b5o3b2o40b5o3bobo39b5o2bob2o39b2obo2b3o44b2obo46b2obo$
250bo4bobo2bo46bo2bo40bobobobo43b2o2b2o44b2o2b2o$2bo52b2ob2o42b3o47b3o
45b5o45b3o2bobobo42b5ob2o41bobob2o43bo2b2o45bo2b2o$bobo50bobob2o41bo2b
o46bo2bo45bo4bo45bobobob2o43bo4bo42b2ob3o44b2obo46b2obo$bo2bo49b2o45bo
bo46bo2bo49bobo46b2obo49bobo95bo49bo$2b2o98bo48b2o50b2o48b3o49b2o96b2o
45b3o$450bo39$5bo3b2o42b3o50b2o47bo2b2o41b2o50b3o55b2o42b2ob2o40b2o4b
2o42b2o3bo$3bo2bobobo41b2obo2b2o42b2obobo45bo2bo2bo40bobo49b2obo54bobo
43bobobo39bobo2bobo42bobobobo$3bo2bobo42bobobobo2bo42bobo47bo2bobo41bo
4bo45bobobob2o46b3obobo44bo3bo41bo2bo46bobobo$b2obobob2o40b3o2bobob2o
42bobobo43b2obobob2o41b5o44b3o2bobo46b2obobo44b2ob3o41bo4bo44b2obo2b2o
$3bo2bobo41bo4bobo42b2obob3o45bo2bo93bo4bobo45bobobob2o42bobobo43b2o2b
2o47bo4bo$o5bo2bo40b5o2bo42b2ob2o3b2ob2o37bo5bo46b5o42b5o2bob2o41b3o2b
o42bo2b2obo46b2o50b4o$b5o2b2o47b2o49bo3bo38b5o47bo4bo48bob2o41bo4bo42b
3o2b2o94bo$52b5o51b4o91b3o2bo43b5o45b5o46b2o95bobo3b3o$b4obo44bo4bo50b
o42bob2o50bobobob2o40bo97b2obo97bobo2bo2bo$o2bob2o44bobo53b5o38b2obo
51b2obobo44b2o45b3o45bo2bo98bo5b2o$2o50b2o57bo94b3obo44b2o44bo2bo46b2o
$107b2o101bob2o86bobo$107b2o101bo2bo86b2o$211b2o37$9b2o44bo53b2o42b3ob
2o42b2o3b2o47b2o44b2o53b2ob2o49b2o41b3o3bo$5b2o2bobo42bobo48b2obobo41b
2obobo42bo2bobobo42bo2bo2bo44bo2bo51bo3bo41b2o5bobo40b2obo2bobo$5bo5bo
40bo2bo49b2ob2o41bobobobobo40b2obobo44b5o47b5o50b3o41bo2bo2bo2bo40bobo
bobobo$6b5o41b3o95b3o2bo2bobo42bobobo50b2o47bo93bobo3b3o40b3o2bobo$59b
o45b5o40bo4bo3bo40b2obob3o42b5o4bo40b5o2bo47b5o42bo47bo4bo2bo$b2o3b5o
39b5o3bobo40b2obo4bo40b5o45b2ob2o3b2ob2o37bo4bobo42bo4bob2o45bo4bo46b
4o40b5o2b2o$bobobo4bo39bo4bobobo41b2obo2b3o98bo3bo37b3o2bob2o41b3o2bob
o42b2o2bo2b3o45bo3bo$3bobo2b3o39b3o2bobo46bobobo41b3o55b4o39bobobobo
43bobobobobo40bobobobobo43b2obo2bo43b2obo$3bobobobo41bobobob2o42b2obob
2o42bo2bo53bo44b2obobo44b2obo2b2o42bobob2o45bobobo43bo2b2o$2obobob2o
43b2obo44bobob3o45bobo52b5o41b3ob2o44b3o44bobob3o44bobob2o43bobo$o2bob
3o45b3o44b2o51bo58bo137b2o48bobo48bo$b2o204b2obobo187b2o$207b2ob2o38$
3b3o3bo40b2o3b2o47b2o44b2o51b2o4b2o43b2ob2o43b2obo50b2ob2o42b3ob2o44b
3o3b2o$2b2obo2bobo39bobobo2bo45bobo45bo50bo2bobo2bo43bo3bo44bob3o47bob
obobo40b2obobo44b2obo2bo2bo$bobobobobo42bobobobo44bo47bob2o46bob3ob3o
45b3o42bo2bo4bo46bo5bo39bobobobo43bobobobo2bo$3o2bo2bo42b2obo2bobo40b
2obo48bo2bo44bobo97b3ob5o47b5o39b3o2bobob2o39b3o2bo2b2o$o4bo48bo4bo40b
o2b2o48b3o44bobo2b5o40b2o3b5o43bo96bo4bobob2o39bo4bo$5o50b4o42b2o2b2o
94b2obo4bo40bobobo4bo40b2obo2b5o40b2o3b5o39b5o2bo42b5o$51bo51b2obo3b2o
41b5o46bo2b3o42bobo2b3o41bobobo4bo39bo2bobo4bo46bo$2bo47bobo3b3o44bobo
bo3bo41bo4bo42b2obobobo41bobobobobo42bobobo2b3o39b2obobo2b3o39b7o45bo$
bobo46bo2bo2bo2bo44b2ob4o42b3o2bo43bobob2o42b2o2bob2o44b2obobobo43bobo
bobo40bo50bobo$obo48b2o5b2o46bo47bobobob2o38bobob3o47b3o48bob2o41b2obo
bob2o44b2o45bo2bo$bo104bobo46b2obobobo37b2o103b3o42bo2bob3o45b2o45bobo
$107b2o47b3obobo188b2o98bo$161bo$162b3o$164bo36$4b2o47b3o3b2o40b2o3b2o
45b2o47bo2b2obo46bo3b2o44bo4b2o44bo2b2o43b2o47b3ob2o$3bob3o44b2obo2bob
o40bobobobo45bobo46b4ob2o44bo2bobo2bo41bo2bo2bobo43bobo2bo42bo2bo45b2o
bobobo$3bo4bo42bobobobobo43bobo44bo4bo44b2o51bo2bobob2o41bo2bo2bo43b3o
b3o43bob2o44bobobobobo$b2ob5o41b3o2bobo45bobobo42b5o46bo2b5o42b2obobob
o42b2obobob2o42bo47b2obobo44b3o2bobob2o$o2bo46bo4bo2bo41b2obob3o93bobo
4bo44bo2bobo44bo2bo45bo2b5o40b2obo2bo43bo4bobobo$2obo2b5o39b5o2b2o41b
2ob2o3b2ob2o39b5o43b2obo2b3o41bo5bob2o40bo5bo44b2obo4bo43bo2bo43b5o2bo
bo$bobobo4bo97bo3bo39bo4bo42bo2bobobo43b5o2bo42b5o44bo3bo2b3o43bob2o
50b2o$bobobo2b3o41b2obo52b4o40b3o2bo2b2o39bobob2o51bo92b2obobobo45b2ob
3ob2o37b7o$2b2obobobo41bo2b2o51bo45bobobobo2bo37b2ob3o45b7o45bo48bobob
2o48b2o2b2obo36bo5bo$5bob2o41bobo54b5o42b2obobob2o87bo4bo45b3o46bobob
3o49bo6bo37b5o$5b3o42b2o60bo42b3obo90bobo47bo49b2o55b6o40bo$107b2o2b2o
46bo91b2o47b2o$107b2o50b2o248b2o$409b2o37$3b3obo2bo42b3ob2o41b2o50b2ob
2o48b2o3bo50bo44b2ob2o42b3obobo43b3o3b2o43b2o$2b2obob4o41b2obob2o41bob
ob2o45bobobobo47bobobobo48bobo43b2obobo40b2obob2obo41b2obo2bobo39b2o2b
obo$bobobo45bobobo46bobobo44bo5bo49bobo2bo42b3obobo49bo39bobobo4bo40bo
bobobobo40bo5bo$3o2bob2o41b3o2bob4o40b2obo2bo44b5ob2o45bobobob2o41b2ob
obo44b7o39b3o2bob3o40b3o2bo2bo42b5o$o4bob2o41bo4bobo2bo43bo3bo48bo2bo
44b3obo43bobobob2o42bo46bo4bobo42bo4bo$5o45b5o50b4o41b5o2bob2o39b2ob2o
3b2o42b3o2bo45bo2b5o39b5o45b5o46b5o3b2o$101bo48bo4bobo42bo3bo47bo4bo
42b2obobo4bo140bo4bobo2bo$2ob2o45b2ob2o45bobo3b3o41b3o2bobob2o40b4o47b
5o43b2obobo2b3o39b2ob2o47bo48b3o2bobob2o$bob2o45b2obo47bobo2bo2bo41bob
obobo2bo44bo97bobobobo41bobo47bobo48bobobobo$bo51bo48bo5b2o42b2obo2b2o
41b5o46b3o45b2obobob2o41bo2bo46bobo50b2obobo$2o51b2o98b3o44bo50bo2bo
45bo2bob3o43b2o47b2o52b3obobo$201bobo46bobo48b2o156b2o$202b2o47bo38$5b
o3bo50bo48b2o42b3o47b3o47b3o47b3ob2o44b3ob2o44b3o48b2o$4bobobobo41b2o
5bobo43bobo2bo41b2obo46b2obo46b2obo2bo43b2obob2o43b2obobo44b2obo2bo45b
obo$5b2ob2o41bo2bo2bo2bo42b3ob3o41bobobob2o42bobobob2o42bobobobobo41bo
bobo45bobobobobo41bobobobobo45bo2bo$51bobo3b3o42bo47b3o2bobo42b3o2bobo
2bo39b3o2bobobo40b3o2bob2o41b3o2bo2bobo39b3o2bo2bobo45b3o$bo3b5o42bo
49bo2b5o40bo4bobobo40bo4bobob2o39bo4bobob2o39bo4bobobo40bo4bo3b2o39bo
4bo3bo40b2o$obobo4bo46b4o41b2obo4bo40b5o3b2o40b5o2bo42b5o2bo42b5o3bobo
39b5o45b5o45bobo3b5o$b2obo2b3o45bo3bo44bo2b3o50b2o45bo49bo51bo141bobob
o4bo$4bobobo43b2obo2bo42b2obobobo43b3o5bobo39b5o45b5o43b2ob2o45b3o49bo
50bobo2b3o$b2obob2o45bobobo44bobob2o44bo2bo5b2o39bo48bo48b2obobo44bo2b
o47bobo48b2obobobo$obob3o44bobob2o43bobob3o47b2o48bo47b3o49bobo45bobo
47bobo50bob2o$bo48bobo47b2o54b2o45b2o49bo50bo47b2o48bo51b3o$51bo104bob
o$157b2o!
Re: Catagolue Discussion Thread
This is where you find recent discoveries from the new GPU search.
https://catagolue.hatsya.com/user/siffrin%20normal
Except p15 and p30 just recently became too large to show between yesterday and today. (p4 and p5 still work fine despite having more objects, likely because the objects are smaller, and "all discoveries" in symmetric soups has shown the "too large" message ever since I found the page on August 25 when there were 3327 objects.)
I would also like to see URL parameters for "unique rotors only", "exclude trivial", and (only relevant in OCA) "exclude noninteracting" on pretty much any page where it would make sense.
https://catagolue.hatsya.com/user/siffrin%20normal
Except p15 and p30 just recently became too large to show between yesterday and today. (p4 and p5 still work fine despite having more objects, likely because the objects are smaller, and "all discoveries" in symmetric soups has shown the "too large" message ever since I found the page on August 25 when there were 3327 objects.)
I would also like to see URL parameters for "unique rotors only", "exclude trivial", and (only relevant in OCA) "exclude noninteracting" on pretty much any page where it would make sense.
User:HotdogPi/My discoveries
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196