Soup search results

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: Soup search results

Post by mniemiec » September 17th, 2020, 4:29 pm

Entity Valkyrie 2 wrote:
September 13th, 2020, 6:21 am
I think this P4 needs a name, since it is an edgy domino sparker, and it is statorless. ..
dvgrn wrote:
September 13th, 2020, 6:34 am
Mark Niemiec's database has it as "24-bit P4 #1", no synthesis; pentadecathlon.com calls it 24P4.1.
Catagolue has one C2_4 soup for xp4_g880anziaw5kze5011 but the oscillator shows up early, so converting to a glider recipe looks tricky.
I have generally been assigning canonical names (like "15.60") for still-lifes that have been exhaustively searched, and ad-hoc names (like "45-bit still-life #1") for ones that have not (or, more recently, for 25+-bit ones that have been seached, but for which I don't have the list myself). For oscillators, I often used similar ad-hoc names like "24-bit period four oscillator #1", but I have been slowly trying to convert these and spaceships to the Pentadecathlon nomenclature (like 24P4.1 or 20P7H1V0.1), or its equivalent when the patterns aren't actually on the Pentadecathlon list. Unfortunately, since the suffix assignments are arbitrary, there's no objective way to name them, but this is rarely a problem as the number of oscillators and spaceships is usually fairly small.
Entity Valkyrie 2 wrote:
September 17th, 2020, 6:55 am
Is it possible to synthesize these inserts between the blocks? ...
(By the way, you will likely have an easier time if you replace the two separate one-bit sparks at the bottom with a domino-spark; the results are the same in the next generation).

It might be possible, but I doubt it would be easy. The 4-bit spark at the bottom left is basically an "insert a block via broken toad" method; I know of several of these; unfortunately, about half of them use a predecessor that would hit the block first, and all of them require gliders that come from the direction of the block. I suspect that a large random 3- or 4-glider search might find some suitable ways to make this.

The things on the bottom center will be more difficult. To get the single bit to appear beside the block, it would require a massive overloading just below the block.

Here are some feeble attempts; these would require a lot of work to fix:
1) Generation -11: 3-glider collision making "broken toad" (glider placement will be problematic)
2) Generation -2: 2-generation predecessor (which does not kill one bit that absolutely needs to die, and does not provide the two lower 1-bit sparks; it also interferes with the broken toad)
3) Generation -1: one-generation predecessor (which makes what we need except for bottommost bit)
4) Generation 0: your predecessor (replacing 2 bits with dominoes)
5) Generation 4: first phase of oscillator appears

Code: Select all

x = 140, y = 16, rule = B3/S23
105boo$$104bo$102b3o3bo$103boobbo$103boobbo22boo6boo$102bo6bo20b3ob3ob
o$5bo3boo28boo4boo22boo4boo22boo4boo22bobboboobbo$4bo4boo28boo4boo22b
oo4boo22boo4boo20bobboobobbo$4b3o26bo29boo31bo6bo23bob3ob3o$boo30boo
10boo16b5o4b5o21bobboo23boo6boo$oo16bobobo12b4obb4obbo17b4obboob5o19bo
bboo$bbo30boobbobbobbo4boo13b3o4bo7bo18bo3b3o$9boo22bo4bobo3bo18boo8bo
bo25bo$9bobo$9bo89boo!

User avatar
praosylen
Posts: 2443
Joined: September 13th, 2014, 5:36 pm
Location: Pembina University, Home of the Gliders
Contact:

Re: Soup search results

Post by praosylen » September 28th, 2020, 10:33 am

Burloaferimeter variant in G1, found by Rob Liston:

Code: Select all

x = 16, y = 16, rule = B3/S23
oobboobobobbooob$
bbbooooobbobbbbb$
obobobobbbobbbbb$
ooooobobobbbboob$
oobbbobooboooobo$
ooobobobbbbbbboo$
bbboooobbboboooo$
bbobobbobooooobb$
bbboooobbbbbobob$
oobooobobboboboo$
boobbboooobooboo$
obbbobbbooobboob$
bbboobooobobbooo$
ooobbobbbooooobo$
bbboobobobboooob$
oboobbboobobbboo!
former username: A for Awesome
praosylen#5847 (Discord)

The only decision I made was made
of flowers, to jump universes to one of springtime in
a land of former winter, where no invisible walls stood,
or could stand for more than a few hours at most...

goldenratio
Posts: 295
Joined: July 26th, 2020, 10:39 pm
Location: Texas, USA

Re: Soup search results

Post by goldenratio » September 28th, 2020, 11:27 am

And with a good reaction too, if a bit dirty:

Code: Select all

x = 45, y = 29, rule = B3/S23
42bobo$42b2o$43bo3$9b2o$9bo6$9bo$9bo3bo$9bo2bo5b2o$8b2ob2o5b2o$4bo4bo
bo$4bo5bo$4bo$19bo$3o3b3o10bobo$19b2o$4bo$4bo$4bo4$15b3o!
Immediate reaction:

Code: Select all

x = 18, y = 17, rule = B3/S23
4b2o$3bo2bo$6bo$b2o$bo3bo$2b3o6$b2o7b3o$o2bo8bo2b3o$o2bo7bo5bo$b2o9bo
4bo$12bo3bo$14bo!
EDIT: Collaborative 13G synthesis on the Discord:

Code: Select all

x = 128, y = 96, rule = B3/S23
15bo110bo$16b2o106b2o$15b2o108b2o13$126bo$125bo$125b3o12$98bobo$98b2o$
99bo6$63bo$61b2o$62b2o6$62b2o$62bobo$62bo7bo$70bobo$70b2o3$51bo21b2o$
52b2o19bobo$51b2o20bo5$48b3o$50bo$49bo10$76b3o$76bo$77bo2$55b3o$57bo$
56bo16$bo$b2o$obo!
EDIT2: Now 12G with a lucky cleanup by dvgrn:

Code: Select all

x = 197, y = 97, rule = B3/S23
160bo$158b2o$159b2o11$195bo$194bo$194b3o15$166bo$164b2o$165b2o10$128bo
$126b2o$127b2o3$116bo$116b2o$115bobo4$72bo$71bo$71b3o56b2o$130b2o$56bo
59bo$56bo17b3o39bo$3bobo50bo17bo41bo$4b2o69bo$4bo47b3o3b3o51b3o3b3o2$
56bo59bo$b2o53bo59bo$obo53bo59bo$2bo15$143b2o$143bobo$143bo2$113b2o$
112bobo$114bo7$176b3o$176bo$177bo!
Oscillator discussion is boring me out. I'll return when the cgol community switches to something else.

Me on LifeWiki

MikeP
Posts: 105
Joined: February 7th, 2010, 9:51 am
Location: Ely, Cambridgeshire, UK

Re: Soup search results

Post by MikeP » October 2nd, 2020, 9:22 pm

Code: Select all

#CXRLE Pos=-62,-64
x = 124, y = 128, rule = B3/S23:T124,128
16b2o29b2o29b2o29b2o$16b2o29b2o29b2o29b2o6$19b2o29b2o29b2o29b2o$18bo2b
o27bo2bo27bo2bo27bo2bo$18bo2bo27bo2bo27bo2bo27bo2bo$19b2o29b2o29b2o29b
2o3$23b3o28b3o28b3o28b3o$5b2o18bo10b2o18bo10b2o18bo10b2o18bo$5b2o17bo
11b2o17bo11b2o17bo11b2o17bo$2o29b2o29b2o29b2o$2o29b2o29b2o29b2o6$28b2o
29b2o29b2o29b2o$27bo2bo27bo2bo27bo2bo27bo2bo$27bo2bo27bo2bo27bo2bo27bo
2bo$28b2o29b2o29b2o29b2o3$23b3o28b3o28b3o28b3o$11b2o10bo18b2o10bo18b2o
10bo18b2o10bo$11b2o11bo17b2o11bo17b2o11bo17b2o11bo$16b2o29b2o29b2o29b
2o$16b2o29b2o29b2o29b2o6$19b2o29b2o29b2o29b2o$18bo2bo27bo2bo27bo2bo27b
o2bo$18bo2bo27bo2bo27bo2bo27bo2bo$19b2o29b2o29b2o29b2o3$23b3o28b3o28b
3o28b3o$5b2o18bo10b2o18bo10b2o18bo10b2o18bo$5b2o17bo11b2o17bo11b2o17bo
11b2o17bo$2o29b2o29b2o29b2o$2o29b2o29b2o29b2o6$28b2o29b2o29b2o29b2o$
27bo2bo27bo2bo27bo2bo27bo2bo$27bo2bo27bo2bo27bo2bo27bo2bo$28b2o29b2o
29b2o29b2o3$23b3o28b3o28b3o28b3o$11b2o10bo18b2o10bo18b2o10bo18b2o10bo$
11b2o11bo17b2o11bo17b2o11bo17b2o11bo$16b2o29b2o29b2o29b2o$16b2o29b2o
29b2o29b2o6$19b2o29b2o29b2o29b2o$18bo2bo27bo2bo27bo2bo27bo2bo$18bo2bo
27bo2bo27bo2bo27bo2bo$19b2o29b2o29b2o29b2o3$23b3o28b3o28b3o28b3o$5b2o
18bo10b2o18bo10b2o18bo10b2o18bo$5b2o17bo11b2o17bo11b2o17bo11b2o17bo$2o
29b2o29b2o29b2o$2o29b2o29b2o29b2o6$28b2o29b2o29b2o29b2o$27bo2bo27bo2bo
27bo2bo27bo2bo$27bo2bo27bo2bo27bo2bo27bo2bo$28b2o29b2o29b2o29b2o3$23b
3o28b3o28b3o28b3o$11b2o10bo18b2o10bo18b2o10bo18b2o10bo$11b2o11bo17b2o
11bo17b2o11bo17b2o11bo$16b2o29b2o29b2o29b2o$16b2o29b2o29b2o29b2o6$19b
2o29b2o29b2o29b2o$18bo2bo27bo2bo27bo2bo27bo2bo$18bo2bo27bo2bo27bo2bo
27bo2bo$19b2o29b2o29b2o29b2o3$23b3o28b3o28b3o28b3o$5b2o18bo10b2o18bo
10b2o18bo10b2o18bo$5b2o17bo11b2o17bo11b2o17bo11b2o17bo$2o29b2o29b2o29b
2o$2o29b2o29b2o29b2o6$28b2o29b2o29b2o29b2o$27bo2bo27bo2bo27bo2bo27bo2b
o$27bo2bo27bo2bo27bo2bo27bo2bo$28b2o29b2o29b2o29b2o3$23b3o28b3o28b3o
28b3o$11b2o10bo18b2o10bo18b2o10bo18b2o10bo$11b2o11bo17b2o11bo17b2o11bo
17b2o11bo!
From this soup:

Code: Select all

#CXRLE Pos=-15,-16
x = 31, y = 32, rule = B3/S23:T31,32
o2b4ob4ob6o2bo3bob4o$obob2obobo6b2o2bobob3o3bo$2bobo7b3o3bo4bobobo2bo$
o3bo2bo2bob4o2b2ob3obo2b2o$3bobob2obo3b3ob3obo3b2o$4o4bo5bob2ob2obo3b
3obo$bo2b2o2b2ob5o2b2obo6bo$ob2obob2o2bo5b4obob2o3bo$bobob2obob2obo2b
3ob2obo2b2o2bo$ob3obob5ob2ob2o4bob2obo$4b4o2bo2bob2o2bo2bo3b3obo$o2bo
5b3o2b4ob4obobobo$2o2bo2b2o2b2obob6ob2o3b2o$bo9b2o2b2o2b3ob5ob2o$5o2bo
2bobobo2bobo3bobobo2bo$o4b5ob2o2bo2b4obo3bo$bo2b2o5bo2b3obobob3o2bobo$
b2o3b3obob2o3b2ob2o3b2obobo$3b2o2b3o2b4ob2ob2obo2bo3bo$5o2bobobob4o6b
4o2b2o$bobobob2o3bo3bo4bo3b2obo$o2bobo4bo2bo7bobo2bob3o$5bob2o2bob3o3b
o2b2obob2o$obo5b3obob2o2b2o4bob2obo$b4o6bo2bo2bobobobo2b5o$3b2ob4ob2o
2b4obo2bob2o2bo$bobo3bo4bo2b3obob2obob2obo$o2b4ob3ob3o2b2o9b3o$3bob4o
4b2ob2o4bobo3bobo$2o3bo3bo3bo2b3ob3ob3o2bo$o2b5o3b6o3bobob4ob2o$ob2ob
3obobob2o2b4o3b2o2bobo!

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

Re: Soup search results

Post by dvgrn » October 2nd, 2020, 9:53 pm

MikeP wrote:
October 2nd, 2020, 9:22 pm

Code: Select all

#CXRLE Pos=-62,-64
x = 124, y = 128, rule = B3/S23:T124,128...
Weird one! No symmetry, shift (0,-14) every 590 ticks, settles sometime between T=610 and T=1200.

wwei23

Re: Soup search results

Post by wwei23 » October 3rd, 2020, 12:36 am

Could this be considered a 14c/590 agar ship?
EDIT : Corrected "replicator" to "agar". This is what I get for messing around with HighLife too much.
Edit 2: Put "agar" in quotes.

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: Soup search results

Post by yujh » October 3rd, 2020, 4:11 am

wwei23 wrote:
October 3rd, 2020, 12:36 am
Could this be considered a 14c/590 agar ship?
EDIT : Corrected "replicator" to "agar". This is what I get for messing around with HighLife too much.
Edit 2: Put "agar" in quotes.
I don't think so since they interact with each other.
Or I don't know...
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
calcyman
Moderator
Posts: 2936
Joined: June 1st, 2009, 4:32 pm

Re: Soup search results

Post by calcyman » October 3rd, 2020, 4:13 am

dvgrn wrote:
October 2nd, 2020, 9:53 pm
No symmetry, shift (0,-14) every 590 ticks, settles sometime between T=610 and T=1200.
In Conway's orbifold notation, it has xx symmetry (two parallel axes of glide-reflection): https://en.wikipedia.org/wiki/Wallpaper ... %97%C3%97)
What do you do with ill crystallographers? Take them to the mono-clinic!

HartmutHolzwart
Posts: 841
Joined: June 27th, 2009, 10:58 am
Location: Germany

Re: Soup search results

Post by HartmutHolzwart » October 3rd, 2020, 8:45 am

Do you start a new approach to search toroidal random soups? Nobody has done that since Achim Flammenkamp”s census quite a few years back.

Could we use modified apgsearch technology for this exercise?

MikeP
Posts: 105
Joined: February 7th, 2010, 9:51 am
Location: Ely, Cambridgeshire, UK

Re: Soup search results

Post by MikeP » October 3rd, 2020, 9:37 am

I had a hunch that there might be interesting things lurking in the non-square toroids, which I haven't heard of anyone trying to search before.

I wrote a basic searcher that runs on an FPGA. It chooses random soups, runs them until periodic, throws out all the p1s and p2s, and reports the rest to software. Right now it's chewing through about 125,000 soups per second, but I think I can improve that.

I'd certainly like to try and reuse the bit of apgsearch that separates patterns into their components. I've accumulated quite a pile of p30 soups; most are just blinkers and pentadecathlons, and maybe apgsearch can filter these out. I haven't looked at how to do this yet, though.

hkoenig
Posts: 259
Joined: June 20th, 2009, 11:40 am

Re: Soup search results

Post by hkoenig » October 3rd, 2020, 12:52 pm

MikeP wrote:I'd certainly like to try and reuse the bit of apgsearch that separates patterns into their components.
I'd also be interesting in knowing how apgsearch finds escaping spaceships. Where is all that in the source code? Is there any high level description of the processes involved?

I'm in the process of rewriting a lot of my Life tools, and my old brute force method for Glider detection no longer works. (And partitioning could be more efficient...)

Naszvadi
Posts: 1248
Joined: May 7th, 2016, 8:53 am
Contact:

Re: Soup search results

Post by Naszvadi » October 3rd, 2020, 1:14 pm

MikeP wrote:
October 2nd, 2020, 9:22 pm
...

From this soup:

Code: Select all

#CXRLE Pos=-15,-16
x = 31, y = 32, rule = B3/S23:T31,32
o2b4ob4ob6o2bo3bob4o$obob2obobo6b2o2bobob3o3bo$2bobo7b3o3bo4bobobo2bo$
o3bo2bo2bob4o2b2ob3obo2b2o$3bobob2obo3b3ob3obo3b2o$4o4bo5bob2ob2obo3b
3obo$bo2b2o2b2ob5o2b2obo6bo$ob2obob2o2bo5b4obob2o3bo$bobob2obob2obo2b
3ob2obo2b2o2bo$ob3obob5ob2ob2o4bob2obo$4b4o2bo2bob2o2bo2bo3b3obo$o2bo
5b3o2b4ob4obobobo$2o2bo2b2o2b2obob6ob2o3b2o$bo9b2o2b2o2b3ob5ob2o$5o2bo
2bobobo2bobo3bobobo2bo$o4b5ob2o2bo2b4obo3bo$bo2b2o5bo2b3obobob3o2bobo$
b2o3b3obob2o3b2ob2o3b2obobo$3b2o2b3o2b4ob2ob2obo2bo3bo$5o2bobobob4o6b
4o2b2o$bobobob2o3bo3bo4bo3b2obo$o2bobo4bo2bo7bobo2bob3o$5bob2o2bob3o3b
o2b2obob2o$obo5b3obob2o2b2o4bob2obo$b4o6bo2bo2bobobobo2b5o$3b2ob4ob2o
2b4obo2bob2o2bo$bobo3bo4bo2b3obob2obob2obo$o2b4ob3ob3o2b2o9b3o$3bob4o
4b2ob2o4bobo3bobo$2o3bo3bo3bo2b3ob3ob3o2bo$o2b5o3b6o3bobob4ob2o$ob2ob
3obobob2o2b4o3b2o2bobo!
Period is 9440, according to oscar.

User avatar
Hdjensofjfnen
Posts: 1743
Joined: March 15th, 2016, 6:41 pm
Location: re^jθ

Re: Soup search results

Post by Hdjensofjfnen » October 5th, 2020, 12:04 pm

Naszvadi wrote:
October 3rd, 2020, 1:14 pm
MikeP wrote:
October 2nd, 2020, 9:22 pm
...

From this soup:

Code: Select all

#CXRLE Pos=-15,-16
x = 31, y = 32, rule = B3/S23:T31,32
o2b4ob4ob6o2bo3bob4o$obob2obobo6b2o2bobob3o3bo$2bobo7b3o3bo4bobobo2bo$
o3bo2bo2bob4o2b2ob3obo2b2o$3bobob2obo3b3ob3obo3b2o$4o4bo5bob2ob2obo3b
3obo$bo2b2o2b2ob5o2b2obo6bo$ob2obob2o2bo5b4obob2o3bo$bobob2obob2obo2b
3ob2obo2b2o2bo$ob3obob5ob2ob2o4bob2obo$4b4o2bo2bob2o2bo2bo3b3obo$o2bo
5b3o2b4ob4obobobo$2o2bo2b2o2b2obob6ob2o3b2o$bo9b2o2b2o2b3ob5ob2o$5o2bo
2bobobo2bobo3bobobo2bo$o4b5ob2o2bo2b4obo3bo$bo2b2o5bo2b3obobob3o2bobo$
b2o3b3obob2o3b2ob2o3b2obobo$3b2o2b3o2b4ob2ob2obo2bo3bo$5o2bobobob4o6b
4o2b2o$bobobob2o3bo3bo4bo3b2obo$o2bobo4bo2bo7bobo2bob3o$5bob2o2bob3o3b
o2b2obob2o$obo5b3obob2o2b2o4bob2obo$b4o6bo2bo2bobobobo2b5o$3b2ob4ob2o
2b4obo2bob2o2bo$bobo3bo4bo2b3obob2obob2obo$o2b4ob3ob3o2b2o9b3o$3bob4o
4b2ob2o4bobo3bobo$2o3bo3bo3bo2b3ob3ob3o2bo$o2b5o3b6o3bobob4ob2o$ob2ob
3obobob2o2b4o3b2o2bobo!
Period is 9440, according to oscar.
Huh, and mod 590 as well. MikeP's agar is weirder than I originally thought.

Code: Select all

x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!

Code: Select all

x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!

User avatar
bubblegum
Posts: 959
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Soup search results

Post by bubblegum » October 5th, 2020, 12:22 pm

Second Schick engine by Rob Liston:

Code: Select all

x = 16, y = 16, rule = B3/S23
3o3b2o4bo2bo$4obo3bo2b2obo$bo4bo7b2o$b4obo4bobobo$4o2bo2bo2bobo$b3ob2o
bo3bobo$bob2o2b9o$2b3obobobo4bo$2o2bo2b2obo$obob2obo2b2ob2o$2o2b4o2bo
bo2bo$ob2ob3o2b2ob2o$o4bo2bobo2bobo$2bob3o2bob2obo$o2bo4b4obobo$4b6ob
2o2bo!
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

MathAndCode
Posts: 5142
Joined: August 31st, 2020, 5:58 pm

Re: Soup search results

Post by MathAndCode » October 5th, 2020, 7:05 pm

bubblegum wrote:
October 5th, 2020, 12:22 pm
Second Schick engine by Rob Liston:
Why does the Schick engine occur less commonly than the Coe ship? Shouldn't symmetric objects be favored because asymmetric patterns can have symmetric descendants, but symmetric patterns can't have asymmetric descendants?
I am tentatively considering myself back.

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: Soup search results

Post by mniemiec » October 5th, 2020, 8:19 pm

hkoenig wrote:
October 3rd, 2020, 12:52 pm
I'd also be interesting in knowing how apgsearch finds escaping spaceships. Where is all that in the source code? Is there any high level description of the processes involved?
I'm not sure how apgsearch does it, but it's possible to do this robustly. For example, if you assume a Life-like rule (e.g. one that lacks B012a that permit growth at c), every pattern can be placed entirely within an octagonal with (1,2) oblique sides, hull whose N, S, E, and W corners grow orthogonally at c/2, and the NW, NE, SW, SE corners expand diagonally at c/3, and the pattern can never exceed this octagon. If one extracts potential spaceships from a pattern and then recomputes the octagon, if they move away at c/2 orthogonally, c/3 diagonally, or obliquely at an appropriate speed, and the spaceship's outer hull (including all phases) is at least two spaces outside the octagona, that octagon can never catch up to the spaceship.

In Life, since diagonal movement is restricted to c/4, the octagon degenerates to a diamond, but the above method would still work.
MathAndCode wrote:
October 5th, 2020, 7:05 pm
Why does the Schick engine occur less commonly than the Coe ship? Shouldn't symmetric objects be favored because asymmetric patterns can have symmetric descendants, but symmetric patterns can't have asymmetric descendants?
While that's true, asymmetric predecessors tend to be much more common (with certain exceptions, like traffic lights, honeyfarms, and Pi heptominoes). A lot of symmetric patterns evolve from asymmetric predecessors and only become symmetrical within the last couple of generations; sometimes the two asymmetric halves evolve in totally different ways.

User avatar
bubblegum
Posts: 959
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Soup search results

Post by bubblegum » October 5th, 2020, 8:24 pm

mniemiec wrote:
October 5th, 2020, 8:19 pm
hkoenig wrote:
October 3rd, 2020, 12:52 pm
I'd also be interesting in knowing how apgsearch finds escaping spaceships. Where is all that in the source code? Is there any high level description of the processes involved?
I'm not sure how apgsearch does it, but it's possible to do this robustly. For example, if you assume a Life-like rule (e.g. one that lacks B012a that permit growth at c), every pattern can be placed entirely within an octagonal with (1,2) oblique sides, hull whose N, S, E, and W corners grow orthogonally at c/2, and the NW, NE, SW, SE corners expand diagonally at c/3, and the pattern can never exceed this octagon. If one extracts potential spaceships from a pattern and then recomputes the octagon, if they move away at c/2 orthogonally, c/3 diagonally, or obliquely at an appropriate speed, and the spaceship's outer hull (including all phases) is at least two spaces outside the octagona, that octagon can never catch up to the spaceship.

In Life, since diagonal movement is restricted to c/4, the octagon degenerates to a diamond, but the above method would still work.
I'm interested in how apgsearch detects spaceships of less than the maximum speed, say, the loafer.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

User avatar
praosylen
Posts: 2443
Joined: September 13th, 2014, 5:36 pm
Location: Pembina University, Home of the Gliders
Contact:

Re: Soup search results

Post by praosylen » October 5th, 2020, 9:07 pm

mniemiec wrote:
October 5th, 2020, 8:19 pm
MathAndCode wrote:
October 5th, 2020, 7:05 pm
Why does the Schick engine occur less commonly than the Coe ship? Shouldn't symmetric objects be favored because asymmetric patterns can have symmetric descendants, but symmetric patterns can't have asymmetric descendants?
While that's true, asymmetric predecessors tend to be much more common (with certain exceptions, like traffic lights, honeyfarms, and Pi heptominoes). A lot of symmetric patterns evolve from asymmetric predecessors and only become symmetrical within the last couple of generations; sometimes the two asymmetric halves evolve in totally different ways.
Another factor is that patterns with D2_1 symmetry are generally much less common if they have at least one on cell on their line of symmetry, since once there are no such cells in a pattern they can't reappear at a later time — in these cases symmetric predecessors will often be quite rare, since they don't usually form from symmetric starting patterns later than the first few tens of generations of the reaction or so.
former username: A for Awesome
praosylen#5847 (Discord)

The only decision I made was made
of flowers, to jump universes to one of springtime in
a land of former winter, where no invisible walls stood,
or could stand for more than a few hours at most...

MathAndCode
Posts: 5142
Joined: August 31st, 2020, 5:58 pm

Re: Soup search results

Post by MathAndCode » October 5th, 2020, 10:35 pm

bubblegum wrote:
October 5th, 2020, 8:24 pm
mniemiec wrote:
October 5th, 2020, 8:19 pm
hkoenig wrote:
October 3rd, 2020, 12:52 pm
I'd also be interesting in knowing how apgsearch finds escaping spaceships. Where is all that in the source code? Is there any high level description of the processes involved?
I'm not sure how apgsearch does it.
I'm interested in how apgsearch detects spaceships of less than the maximum speed, say, the loafer.
I doubt that apgsearch uses that method for two reasons:
  1. Using the method of whether or not something would escape, a pair of gliders where neither was more than a few diagonals ahead of the other, no matter how much sideways separation, would have to be counted as a single spaceship because neither would be uncatchable if the other suddenly turned into a LWSS or something.
  2. Apgsearch obviously has found a loafer, and the copperhead has been detected in symmetric soups.
In order to correctly detect spaceships, still lifes, and oscillators, apgcode must be able to do all of the following:
  • It must be able to divide a group of cells into separate objects so it doesn't list the entire pattern as one object (and doesn't view a glider going away from a block as a pattern that never stabilizes.
  • It must remember past sets of cells so it can compare them to current sets of cells. Otherwise, it won't be able to detect any oscillators.
  • It must keep track of the order of past generations. Otherwise, it would not be able to figure out the period of an oscillator or spaceship.
  • It must be able to measure displacement from past states in order to be able to distinguish oscillators and spaceships.
  • It must keep track of patterns over multiple generations so that it knows which past states correspond to which current patterns. Otherwise, if a ∏-heptomino or other common happened to occur in two different places at different times with the same orientation, apgcode would interpret it as a spaceship.
  • It must be able to tell when one cluster separates into several clusters. Otherwise, it would interpret a honey farm as one 24-bit still life instead of four 6-bit still lifes.
  • It must remember cluster history, i.e. which clusters came from the same parent cluster before it split and what the states of the parent cluster where. Otherwise, it would be unable to detect oscillators made of multiple clusters that only interact with each other for some of the time, such as the queen bee shuttle, or oscillators that split into multiple clusters that then rejoin into one cluster, such as the pentadecathlon.
This is everything necessary for properly identifying still lifes, oscillators, and spaceships that I could think of, but I might be missing something. I suspect that the list will also be sufficient to identify puffers, guns, rakes, and factories without mistakes. The only other thing that I would suggest would be to allow Catagolue to identify objects before the soup finishes settling, which seems like it should be possible with everything from the list. Giving Catagolue the ability to recognize when a pattern becomes a reflected, glide-reflected, or rotated version of itself, possibly as well as additional objects, instead of having to wait for the object to return to its initial orientation would be nice but not necessary, and it would probably require additional code anyway.
I am tentatively considering myself back.

wwei23

Re: Soup search results

Post by wwei23 » October 5th, 2020, 10:39 pm

Apgsearch is open-source. I don't think that understanding its code will be very easy though.

User avatar
bubblegum
Posts: 959
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Soup search results

Post by bubblegum » October 5th, 2020, 10:44 pm

MathAndCode wrote:
October 5th, 2020, 10:35 pm
mistakes
You had to pick the yl72 whose population increase period is 72.
In other words, you had to pick a feature and not a mistake.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

MathAndCode
Posts: 5142
Joined: August 31st, 2020, 5:58 pm

Re: Soup search results

Post by MathAndCode » October 5th, 2020, 11:09 pm

bubblegum wrote:
October 5th, 2020, 10:44 pm
MathAndCode wrote:
October 5th, 2020, 10:35 pm
mistakes
You had to pick the yl72 whose population increase period is 72.
In other words, you had to pick a feature and not a mistake.
But the two BLSEs are separate and therefore should not be counted as a single puffer, so the modulus should not be 72.
I am tentatively considering myself back.

User avatar
bubblegum
Posts: 959
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Soup search results

Post by bubblegum » October 6th, 2020, 12:08 am

MathAndCode wrote:
October 5th, 2020, 11:09 pm
bubblegum wrote:
October 5th, 2020, 10:44 pm
MathAndCode wrote:
October 5th, 2020, 10:35 pm
mistakes
You had to pick the yl72 whose population increase period is 72.
In other words, you had to pick a feature and not a mistake.
But the two BLSEs are separate and therefore should not be counted as a single puffer, so the modulus should not be 72.
Their histories touch, which means it's a single object. The reasoning behind this involves RROs.
EDIT: And the mod is not 72, it's the full period of the BLSEs (288) due to their nonsymmetry. I mean the period of the population increase, which is 72.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

MathAndCode
Posts: 5142
Joined: August 31st, 2020, 5:58 pm

Re: Soup search results

Post by MathAndCode » October 6th, 2020, 12:13 am

bubblegum wrote:
October 6th, 2020, 12:08 am
Their histories touch, which means it's a single object.
But then wouldn't we have to do the same for constellations, like counting the four blocks in a blockade as one object?
bubblegum wrote:
October 6th, 2020, 12:08 am
And the mod is not 72, it's the full period of the BLSEs (288) due to their nonsymmetry. I mean the period of the population increase, which is 72.
But, at least in my opinion, the two should be counted separately, and for each, the population would increase with period 144, not 72.
I am tentatively considering myself back.

User avatar
bubblegum
Posts: 959
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Soup search results

Post by bubblegum » October 6th, 2020, 12:23 am

MathAndCode wrote:
October 6th, 2020, 12:13 am
bubblegum wrote:
October 6th, 2020, 12:08 am
Their histories touch, which means it's a single object.
But then wouldn't we have to do the same for constellations, like counting the four blocks in a blockade as one object?
bubblegum wrote:
October 6th, 2020, 12:08 am
And the mod is not 72, it's the full period of the BLSEs (288) due to their nonsymmetry. I mean the period of the population increase, which is 72.
But, at least in my opinion, the two should be counted separately, and for each, the population would increase with period 144, not 72.
How do you think are the blocks' histories supposed to touch?
I probably should have been more specific, as in histories for periodic objects only. Otherwise, apgsearch would be submitting the entire contents of a soup, marked PATHOLOGICAL if spaceships exist, to Catagolue as one object.
And for your opinion, an RRO can have its period divided by simply including more copies of itself in its loop. apgoucher decided that apgsearch was going to report those with their divided period instead of their individual periods. This is basically a variant of the decision to consider a "boring p24" (don't ask me who named that) one object. The BLSE's periodic history envelopes touch, which mean they are the same object and use the same population increase period, which since they happen to be in perfect antiphase, is 72.

EDIT: This is what I get for not using the preview button
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

Post Reply