amling wrote: ↑January 31st, 2024, 11:54 pm
confocaloid wrote: ↑January 31st, 2024, 9:54 pm
[...]
Added: the rule B245/S5 has the following p3 spaceships [...]
Works for me. It's only even oscillators that are a problem, and only in S23/B3 due to the existence of p2 oscillators gumming everything up (p2 oscillators are e.g. valid p4 oscillators, at least in the simplest sense of "valid"). [...]
Here's a higher-period test case (c/5o), again a non-phoenix. Coincidentally, the highest-population phase is the one where every alive cell is about to die, leaving only new cells in the next generation:
Code: Select all
#C (0, 1)/5
#C Min Rule: B34/S1
#C Max Rule: B3478/S1678
x = 17, y = 4, rule = b34/s1
4bo2b3o2bo2$obo3b5o3bobo$b4o7b4o!
And a c/3o in B34/S14:
Code: Select all
#C (0, 1)/3
#C Discovered by: Nathan Thompson, 1994
#C Min Rule: B34/S14
#C Max Rule: B34578/S14678
x = 6, y = 4, rule = b34/s14
2o2b2o$2b2o$o4bo$2b2o!
For me, non-phoenices like these are in some sense more interesting. It mostly looks like a normal oscillator or spaceship, except there's a "catastrophic event" with every old cell vanishing, leaving only newborn cells to inherit the world. And
maybe there are small examples of these in Life (unlike non-p2 phoenices).
amling wrote: ↑January 31st, 2024, 11:54 pm
[...]
Code: Select all
#C [[ TRACK 0 -1/3 ]]
x = 16, y = 73, rule = B245/S5
2bo2bo$o6bo$2b4o2$3b2o$bo4bo$3b2o$3o2b3o$3b2o$b2o2b4o$2bob2o$6bo$4b2ob
o$6b2obo$3bo2bobo$5bobo2bo$9bobo$4bo2bo$3bobob3o$6bo$6bo$4bo$5bo$5bob
2o$4bo$5b2o2bo$3bo2b3o$9b2o2$5bo$6b2o$4bo2bo$10bo3$9b2o2$8b4o$10bo$7bo
bo$10bo$7b3o$8bob3o2$10b2o$6bo$9bob2o$7bobo$11bo$8b2o$10b2o$12bo$10bo
2bobo$8bo3b2o$7bo2bo$8b2o2bo$6bo3b2o$8b2o2bo$4b2o4b2o$6bob2o2b3o$5b3o
2b2o$8b2o3bo$6b2o3bo$8b2o$4b2obo$3bo4b2obo$6bo3bo$8b2o$7bo$8b2obo$5b3o
2bo$8bo$6bo!
Asymmetric searches found this first. It's actually very close to being a complete phoenix, having only two spots where a cell and its future are both on. The proof I dug up that there are no phoenix spaceships relies on, among other things, B2 missing from B23/S3 and so it seems even possible that there might be full phoenix ships somewhere out here. Perhaps a another project for another time.
EDIT: It was easy enough to repurpose the same hacks to efficiently enforce phoenix-ness everywhere and even among the random searches I was running with the slow debug binary while waiting for the fast release binary to (slowly) build, I found this (c/3 phoenix ship for S5/B245):
Code: Select all
#C [[ TRACK 0 -1/3 ]]
x = 20, y = 32, rule = B245/S5
8bo2bo$6bo6bo$4b2o2b4o2b2o$3bobo8bobo$4b2o3b2o3b2o$2bo4bo4bo4bo$5b4o2b
4o$3bobo8bobo$7b6o$2b2obobo4bobob2o$4bobo2b2o2bobo$6b2o4b2o$8b4o$5b3o
4b3o$6bob4obo$7bo4bo$5bo8bo$7bob2obo$3bob2ob4ob2obo$5bobo4bobo$4bo3b4o
3bo$5b2o6b2o$3b2o2b6o2b2o$6bo6bo$bo3bo3b2o3bo3bo$5bo8bo$8o4b8o2$b2o2b
2o6b2o2b2o$2bo2bo8bo2bo$o6bo4bo6bo$2bo2bo8bo2bo!
[...]
To find phoenices in B245/S5, one could enumerate spaceships/oscillators in B245/S and filter the output to exclude anything that doesn't work if S5 is added. This would in principle find every solution, because every B245/S5 phoenix evolves the same way in B245/S. For example, here are several c/3o phoenices in B245/S5 (actually B245/S578) which I just found in this way.
Code: Select all
#C found by filtering the output of "./qfind -r B245/S -p 3 -y 1 -w 9 -s even"
x = 133, y = 49, rule = B245/S578
5bo4bo82bo4bo18b4o6b4o$2bo4b2o4bo18b4o6b4o15b4o6b4o15bo4b2o4bo13b2o4b
2o2b2o4b2o$bo3bo4bo3bo15b2o4b2o2b2o4b2o11b2o4b2o2b2o4b2o12bo3bo4bo3bo
15b2o8b2o$7b2o24b2o8b2o17b2o8b2o21b2o19bo4bo4bo4bo$o5bo2bo5bo15bo4bo4b
o4bo13bo4bo4bo4bo12bo5bo2bo5bo14b2o8b2o$bob2obo2bob2obo18b2o8b2o17b2o
8b2o15bob2obo2bob2obo14bo2bo6bo2bo$2o12b2o16bo2bo6bo2bo15bo2bo6bo2bo
13b2o12b2o14b2o8b2o$4b8o21b2o8b2o17b2o8b2o18b8o15b3o2b3o2b3o2b3o$2b3o
6b3o16b3o2b3o2b3o2b3o11b3o2b3o2b3o2b3o13b3o6b3o16b2o2b4o2b2o$4bob4obo
21b2o8b2o17b2o2b4o2b2o18bob4obo16bo3bobo2bobo3bo$o2bobo4bobo2bo15bo3b
2o4b2o3bo13bo3bobo2bobo3bo12bo2bobo4bobo2bo15bo3b2o3bo$6b4o24bo8bo19bo
3b2o3bo21b4o22bo2b2o2bo$4b2o4b2o24bob2obo22bo2b2o2bo20b2o4b2o22bo2bo$
6bo2bo23b3ob4ob3o21bo2bo24bo2bo25b2o$5bo4bo25bo4bo25b2o24bo4bo$3bo2bo
2bo2bo25b2o51bo2bo2bo2bo21bo2bo$2bo10bo52bo2bo20bo10bo20b4o$6bo2bo27bo
2bo25b4o24bo2bo24bo2bo$5bo4bo23b3o4b3o22bo2bo23bo4bo21bo6bo$6bo2bo23bo
3bo2bo3bo19bo6bo18bo3bo2bo3bo20b4o$4b2o4b2o54b4o49b3o4b3o$7b2o28b4o22b
3o4b3o16b6o2b6o19bo2bo$7b2o26b3o2b3o23bo2bo51bo4bo$38b2o25bo4bo17b3o4b
2o4b3o16bobo2bobo$5b6o24b2o4b2o21bo6bo46bob2o4b2obo$bo12bo22b4o24b2o2b
2o18b3o2b4o2b3o16bo2b4o2bo$5bo4bo25bo4bo22bob4obo$2bo3bo2bo3bo20bo8bo
22bo2bo19b2ob2o4b2ob2o$33bob3o2b3obo18b2o2b2o2b2o19bo6bo20b2o4b2o$b14o
19b2o6b2o23b2o21b2ob6ob2o16b2o8b2o$32b2o2b2o2b2o2b2o20bo2bo20bobo6bobo
14bo3b2ob2ob2o3bo$5b6o52bo3b2o3bo17bob2o4b2obo16b2o2b4o2b2o$32b2o2b6o
2b2o18bobo2bobo16b2o12b2o11b3o2b2o4b2o2b3o$7b2o25bo8bo16bo6b2o6bo14b4o
4b4o16b2o2b4o2b2o$4b2ob2ob2o24bo4bo17bo3b4o2b4o3bo14bo2bo2bo2bo15b2o2b
o6bo2b2o$63b2o2b2o2b2o16b4o2b2o2b4o15b2o2bo2bo2b2o$5bo4bo22bo2b6o2bo
21bo2bo24bo2bo18b2obo8bob2o$4bo6bo52bo2b2o2bo23b2o24b6o$37bo2bo25bo2bo
47b4o6b4o$67b2o23bobo2bobo15bo3b2obo2bob2o3bo$65b2o2b2o18b3obo4bob3o
14b3o8b3o$64bo6bo16bo4bo4bo4bo13bo2bo6bo2bo$92bo6bo17b3o8b3o$93bob2obo
19bo2b2o2b2o2bo$91bobo4bobo17bobo6bobo2$90bo3bo2bo3bo16bob2o4b2obo$
115bo3bo8bo3bo$116bo14bo!
With postprocessing changed to sort the results by the largest set of survival conditions that can be added to the rule without affecting how the object evolves, that would also find small phoenices (of a given speed/period) in all B245/S... rules at once. However, that won't work for finding non-phoenices with a "no old cells" phase. Of course, one could then enumerate spaceships/oscillators directly in a single chosen rule (e.g. B245/S5) and filter the output to exclude anything where every phase contains some "old" alive cells. That would in principle find every solution in the chosen rule (and would find actual phoenices too, unless filtered out).