Detecting still lifes

For discussion of specific patterns or specific families of patterns in Conway's Game of Life, both newly-discovered and well-known.
Post Reply
dbell
Posts: 478
Joined: June 27th, 2013, 12:47 am
Contact:

Detecting still lifes

Post by dbell » May 11th, 2025, 9:12 am

I had a need to detect the presence of a still life without destroying it.

This is sort of like a reverse Heisenburp device, where instead of detecting a spaceship with still lifes, you want to detect a still life with spaceships.

I solved my particular problem for detecting a single boat within a diagonal row of forward facing boats (but I am not sure it is optimal):

Code: Select all

#C Four gliders can detect the presence of a boat without destroying it.
#C This shows two copies of the reaction with and without a boat.
#C If the boat is present then an output glider is released.
x = 74, y = 25
22bo49bo$21bo49bo$21b3o47b3o4$18bo49bo$16boo48boo$17boo48boo8$boo48boo
$obo9boo36bobo$bbo9bobo37bo$13bo3$bb3o47b3o$4bo49bo$3bo49bo!
I mention this because it might be a nice puzzle for people to work on, to find detection reactions for other types of still lifes.

Apologies if there was a better thread for this topic.

BCNU,
-dbell

User avatar
hotcrystal0
Posts: 4335
Joined: July 3rd, 2020, 5:32 pm
Location: wherever you think I am

Re: Detecting still lifes

Post by hotcrystal0 » May 11th, 2025, 1:44 pm

Three gliders to detect a block while releasing an R if the block is present:

Code: Select all

x = 37, y = 17, rule = B3/S23
2bo21bo$obo19bobo$b2o20b2o6$21b2o$21b2o$7bo21bo$6b2o20b2o$6bobo19bobo
2$12b2o20b2o$12bobo19bobo$12bo21bo!

Code: Select all

x = 16, y = 17, rule = DoubleB3S23
3.C$.C.C$2.2C6$2A$2A$8.C$7.2C$7.C.C2$13.2C$13.C.C$13.C!
wherever I go on the internet I bring with myself nothing but problems.

Code: Select all

x = 192, y = 53, rule = B3/S23
33$42b4o$41b6o$40b2ob4o$41b2o3$41b2o$39bo6bo$38bo8bo$38bo8bo$38b9o3$42b
4o$41b6o$40b2ob4o$41b2o!

dbell
Posts: 478
Joined: June 27th, 2013, 12:47 am
Contact:

Re: Detecting still lifes

Post by dbell » May 19th, 2025, 7:18 am

Here are some more reactions to detect still lifes.

The rephaser reaction can be used to make a simple block detector. Two gliders perform the reaction and a third glider finishes the detection.

Code: Select all

#C Three gliders can detect the presence of a block without destroying it.
#C This shows two copies of the reaction with and without a block.
#C If the block is present then an output glider is released.
x = 91, y = 11
9bo4bo68bo4bo$7bobo4bobo64bobo4bobo$8boo4boo66boo4boo4$11boo$11boo$boo
72boo$obo71bobo$bbo73bo!
The boat-bit reaction can be used to make simple detectors for those still lifes which support the reaction. Two gliders toggle the boat bit and a third glider either escapes or deletes the two gliders. Here are two examples.

Code: Select all

#C Three gliders can detect the presence of a snake without destroying it.
#C This shows two copies of the reaction with and without a snake.
#C If the snake is present then an output glider is released.
x = 87, y = 35
bbo74bo$obo72bobo$boo73boo7$11bo74bo$9bobo72bobo$10boo73boo5$14boo$15b
o$14bo$14boo13$6b3o72b3o$8bo74bo$7bo74bo!

Code: Select all

#C Three gliders can detect the presence of an eater without destroying it.
#C This shows two copies of the reaction with and without an eater.
#C If the eater is present then an output glider is released.
x = 87, y = 32
bo74bo$bbo74bo$3o72b3o7$10bo74bo$11bo74bo$9b3o72b3o5$13boo$14bo$11b3o$
11bo10$6boo73boo$5bobo72bobo$7bo74bo!
The loaf-flipping reaction can be used to make a loaf detector.

Code: Select all

#C Four gliders can detect the presence of a loaf without destroying it.
#C This shows two copies of the reaction with and without a loaf.
#C If the loaf is present then an output glider is released.
x = 92, y = 19
15bo74bo$14bo74bo$14b3o72b3o3$obo6bo65bobo$boo5bobo65boo$bo6bobbo64bo$
9boo$$4b3o72b3o$6bo74bo$5bo74bo4$12boo73boo$11boo73boo$13bo74bo!
A beehive can be hit by two gliders and remain in the same place. Then two more gliders can be added to complete the detection.

Code: Select all

#C Four gliders can detect the presence of a beehive without destroying it.
#C This shows two copies of the reaction with and without a beehive.
#C If the beehive is present then an output glider is released.
x = 81, y = 25
9bo63bo$8bo63bo$8b3o61b3o8$15bo63bo$8bo5bo63bo$7bobo4b3o61b3o$3o4bobo
54b3o$bbo5bo57bo$bo63bo7$6b3o61b3o$8bo63bo$7bo63bo!
For other still lives you can look for a pair of gliders which recreate the still life, with a possible translation and rotation. Then a second similar reaction can restore the still life to its original position. Further gliders can then be used to clean up any problems and provide an output glider.

Code: Select all

#C Five gliders can detect the presence of a pond without destroying it.
#C This shows two copies of the reaction with and without a pond.
#C If the pond is present then an output glider is released.
x = 101, y = 28
bbo74bo$obo72bobo$boo73boo$22bo74bo$21bo74bo$21b3o72b3o5$14boo$13bobbo
$13bobbo$14boo3$6b3o72b3o$8bo74bo$7bo74bo$23boo73boo$23bobo72bobo$23bo
74bo4$7b3o72b3o$9bo74bo$8bo74bo!

Code: Select all

#C Five gliders can detect the presence of a tub without destroying it.
#C This shows two copies of the reaction with and without a tub.
#C If the rub is present then an output glider is released.
x = 109, y = 37
30bo74bo$30bobo72bobo$30boo73boo7$31bo74bo$31bobo72bobo$31boo73boo5$
24bobo72bobo$24boo73boo$25bo74bo$$18bo$17bobo$18bo$12boo73boo$11bobo
72bobo$13bo74bo9$bo74bo$boo73boo$obo72bobo!
Detecting a ship is more difficult since it occurs less often than other still lifes. Here is one reaction I found, but there must be a better solution than this.

Code: Select all

#C Nine gliders can detect the presence of a ship without destroying it.
#C This shows two copies of the reaction with and without a ship.
#C If the ship is present then an output glider is released.
x = 315, y = 115
o199bo$boo19bo178boo19bo$oo21bo176boo21bo$21b3o197b3o14$73bo199bo$71b
oo198boo$72boo198boo$86bo199bo$85bo199bo$85b3o197b3o18$72bobo197bobo$
72boo198boo$73bo199bo3$69boo$69bobo$70boo$61b3o197b3o$40boo21bo176boo
21bo$41boo19bo178boo19bo$40bo199bo38$113bo199bo$112boo198boo$112bobo
197bobo21$109boo198boo$108boo198boo$110bo199bo!
BCNU,
-dbell

User avatar
EvinZL
Posts: 1040
Joined: November 8th, 2018, 4:15 pm
Location: A tungsten pool travelling towards the sun
Contact:

Re: Detecting still lifes

Post by EvinZL » May 19th, 2025, 8:36 am

Five gliders are enough for a ship, or four gliders if negated

Code: Select all

x = 31, y = 18, rule = B3/S23
2bo$obo$b2o3$19bo$19bobo$19b2o3$11bo$12bo16bo$10b3o15bo$28b3o$13b2o$4b
o8bobo$4b2o8b2o$3bobo!

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

Re: Detecting still lifes

Post by dvgrn » May 19th, 2025, 11:55 am

dbell wrote:
May 19th, 2025, 7:18 am
Here are some more reactions to detect still lifes.
Very nice! I have almost no time to do any work on this topic these days, unfortunately, but I'm very interested in these kinds of reactions. During early discussions of data tapes while inventing the old 2004 prototype Spartan universal constructor, Paul Chapman and I ended up calling these "ND-READ" reactions -- non-destructive read, as distinguished from D-READ (destructive read) where the object representing the bit of data had to be rebuilt after the read.

It seems to have turned out so far that destructive-read memory devices are significantly easier to work with than ND-READ memory. For example, the 1D and 2D memory circuits in modular computer circuitry compiled from APGsembly all have D-READ bits.

(There have been a few experiments with ND-READ memory tapes, like the replicator designs by Anivec, but I had some trouble figuring out how far along that project got, and what remaining problems needed to be solved.)

I'm thinking D-READ has been implemented more commonly, because an ND-READ system needs a slightly trickier instruction set

READ, RESET (set to 0), SET (set to 1)

-- where at least one of RESET and SET have to work no matter if the existing bit is OFF or ON ... unless a complicated multi-stage mechanism is set up to do

SET-to-0 = (READ; if result == 0 then PASS else RESET)
SET-TO-1 = (READ; if result == 0 then SET else PASS)

By contrast, a destructive-read bit is always reset after a read, so the branch of the code that deals with processing the results of the read can confidently perform a simple SET operation if a 1 has been read and the information needs to be retained.

Looking for a better 2D memory mechanism
There's one big hole in the long-running project to modernize APGsembly-compilable circuitry. Nobody has ever dared to tackle a rework of the "SQ" / "B2D" unit, so it's still the same exact one that appeared in the original 2010 Osqrtlogt unit.
dvgrn wrote:
December 14th, 2024, 5:03 pm
... the mechanism that writes and reads bits to the 2D memory array almost certainly needs some serious optimization. What modern design would have the smallest number of total gliders for all of the salvos that need to be sent -- to INC and DEC the two reading arms, and to produce the reactions that READ and SET a bit at the current location?

dbell
Posts: 478
Joined: June 27th, 2013, 12:47 am
Contact:

Re: Detecting still lifes

Post by dbell » May 22nd, 2025, 7:44 am

Here is a general detector for a large number of different still lifes.

Code: Select all

#C Eight gliders can detect a cismirroredwing still life.
#C This forms a wall of five cells in a row whose growth in
#C one direction is impeded by a protruding cell of the still
#C life.  A glider is emitted if the still life is present.
#C This shows the reaction with and without the still life.
#C This same reaction can be used to detect other still lifes
#C having a similar protrusion, such as all long barges.
#C David I. Bell, 22 May 2025
x = 167, y = 47
40bo123bo$24bobo13bobo105bobo13bobo$24boo14boo106boo14boo$25bo123bo3$
26bo123bo$25bo123bo$25b3o121b3o7$27bobo121bobo$27boo122boo$28bo123bo5$
bbooboo7bo123bo$bobobobo5bo123bo$obbobobbo4b3o121b3o$boo3boo4$16b3o
121b3o$16bo123bo$17bo123bo11$36boo122boo$35boo122boo$23b3o11bo109b3o
11bo$23bo123bo$24bo123bo!
The reaction extends a little bit past the wall that is built so that it is a bit more intrusive than it might be but still works in many cases.

Here is the basis of the reaction in case someone wants to improve it.

Code: Select all

#C The base reaction for the still life detection mechanism.
x = 8, y = 8
5bobo$5boo$bo4bo$obo$bo3boo$5boo$$6bo!
Still lifes having a pair of adjacent cells on its edge such as a paperclip could be detected by building a wall of six cells. I haven't investigated how to do this.

EDIT:

I reduced the intrusiveness of the edge detection mechanism almost as far as possible at the cost of one more glider.

Code: Select all

#C Nine gliders detect the presence of a honeycomb still life.
#C This forms a wall of five cells in a row whose growth in
#C one direction is impeded by a protruding cell of the still
#C life.  A glider is emitted if the still life is present.
#C This shows the reaction with and without the still life.
#C This same reaction can be used to detect other still lifes
#C having a similar protrusion, such as all long barges.
#C This is a variation of a previous reaction, in that this one
#C protrudes much less into the columns containing the still life.
#C David I. Bell, 24 May 2025
x = 120, y = 61
42bo76bo$29bobo8boo64bobo8boo$29boo10boo63boo10boo$30bo76bo3$29bo76bo$
28bo76bo$28b3o74b3o15$23bobo74bobo$23boo75boo$24bo76bo$$13bo76bo$bboo
9bobo74bobo$bobbo8boo75boo$oboobo$bobbo$bboo6boo75boo$10bobo74bobo$10b
o76bo16$36b3o74b3o$25b3o8bo65b3o8bo$25bo11bo64bo11bo$26bo76bo5$26b3o
74b3o$26bo76bo$27bo76bo!
BCNU,
-dbell
Last edited by dbell on May 24th, 2025, 12:18 am, edited 1 time in total.

User avatar
KtT
Posts: 559
Joined: December 17th, 2022, 9:29 am

Re: Detecting still lifes

Post by KtT » May 22nd, 2025, 11:42 am

dbell wrote:
May 22nd, 2025, 7:44 am
Here is a general detector for a large number of different still lifes.

Code: Select all

#C Eight gliders can detect a cismirroredwing still life.
#C This forms a wall of five cells in a row whose growth in
#C one direction is impeded by a protruding cell of the still
#C life.  A glider is emitted if the still life is present.
#C This shows the reaction with and without the still life.
#C This same reaction can be used to detect other still lifes
#C having a similar protrusion, such as all long barges.
#C David I. Bell, 22 May 2025
x = 167, y = 47
40bo123bo$24bobo13bobo105bobo13bobo$24boo14boo106boo14boo$25bo123bo3$
26bo123bo$25bo123bo$25b3o121b3o7$27bobo121bobo$27boo122boo$28bo123bo5$
bbooboo7bo123bo$bobobobo5bo123bo$obbobobbo4b3o121b3o$boo3boo4$16b3o
121b3o$16bo123bo$17bo123bo11$36boo122boo$35boo122boo$23b3o11bo109b3o
11bo$23bo123bo$24bo123bo!
The reaction extends a little bit past the wall that is built so that it is a bit more intrusive than it might be but still works in many cases.

Here is the basis of the reaction in case someone wants to improve it.

Code: Select all

#C The base reaction for the still life detection mechanism.
x = 8, y = 8
5bobo$5boo$bo4bo$obo$bo3boo$5boo$$6bo!
Still lifes having a pair of adjacent cells on its edge such as a paperclip could be detected by building a wall of six cells. I haven't investigated how to do this.

BCNU,
-dbell
I found that one of the gliders is not necessary and 7 gliders can do it:

Code: Select all

x = 76, y = 49, rule = B3/S23
62bobo$62b2o$63bo$24bobo$24b2o$25bo38bo$63bo$63b3o$26bo$25bo$25b3o4$65b
obo$65b2o$66bo$27bobo$27b2o$28bo2$52bo$51bo$51b3o$2b2ob2o7bo$bobobobo
5bo$o2bobo2bo4b3o$b2o3b2o$54b3o$54bo$55bo$16b3o$16bo$17bo8$74b2o$73b2o
$61b3o11bo$36b2o23bo$35b2o25bo$23b3o11bo$23bo$24bo!
3 gliders can detect a boat while releasing a glider if the boat is not present:

Code: Select all

x = 64, y = 24, rule = B3/S23
20bo41bo$19bo41bo$10b2o7b3o39b3o$10bobo$11bo9$3b3o39b3o$5bo41bo$4bo41b
o6$3o39b3o$2bo41bo$bo41bo!

dbell
Posts: 478
Joined: June 27th, 2013, 12:47 am
Contact:

Re: Detecting still lifes

Post by dbell » May 23rd, 2025, 1:25 am

> I found that one of the gliders is not necessary and 7 gliders can do it:

Yes, I knew a glider could be saved. One of my goals that wasn't stated was that the whole mechanism stayed on the right side of the detection wall. So I used a glider kickback to make the output glider travel to the right.

I think it should be possible to find some similar mechanism so that my goal could be fully achieved.

> 3 gliders can detect a boat while releasing a glider if the boat is not present:

That is a nice boat detection convoy, much better than mine.

The new detection method allows a boat to be detected within a diagonal line of boats spaced eight cells apart, as is typical of Cordership technology.

Code: Select all

#C Three gliders can detect the presence of a boat within a
#C diagonal line of boats.  The boats can be spaced eight cells
#C apart without problems.  The detection is inverted so that a
#C glider is emitted when a boat is NOT present.  Another glider
#C could be used to invert the output if desired.  This shows
#C the reaction with and without one of the boats in a line.
x = 97, y = 38
oo60boo$obo59bobo$bo61bo6$8boo60boo$8bobo59bobo$9bo61bo4$26bo61bo$25bo
61bo$16boo7b3o59b3o$16bobo$17bo6$24boo60boo$24bobo59bobo$25bo61bo$9b3o
59b3o$11bo61bo$10bo61bo3$32boo60boo$32bobo59bobo$33bo61bo$6b3o59b3o$8b
o61bo$7bo61bo!
Now I can improve my recent pseudo-random Cordership rake so that it can use period 96 rakes instead of period 192.

BCNU,
-dbell

dbell
Posts: 478
Joined: June 27th, 2013, 12:47 am
Contact:

Re: Detecting still lifes

Post by dbell » May 31st, 2025, 10:49 am

Here is a detection method for the two-cell edge still lifes. It only slightly protrudes into the detection area.

Code: Select all

#C Fifteen gliders detect the presence of a paperclip still life.
#C This forms a wall of six cells in a row whose growth in
#C one direction is impeded by the protruding cells of the still
#C life.  A glider is emitted if the still life is present.
#C This shows the reaction with and without the still life.
#C This same reaction can be used to detect other still lifes
#C having a similar two-cell protrusion, such as all long ships.
#C David I. Bell, 1 June 2025
x = 227, y = 135
72bo149bo$72bobo147bobo$72boo148boo6$59bo6bo142bo6bo$58bo7bobo139bo7bo
bo$58b3o5boo140b3o5boo21$57bo149bo$56bo149bo$56b3o147b3o$24bo19bobo
127bo19bobo$23bo20boo127bo20boo$23b3o19bo127b3o19bo5$25bo149bo$24bo
149bo$24b3o147b3o16$11bo149bo$10bo149bo$bboo6b3o147b3o$bobbo$boboo$oob
o$obbo$boo10b3o147b3o$13bo149bo$14bo149bo$25bo149bo$24boo148boo$24bobo
147bobo$36b3o147b3o$36bo149bo$37bo149bo28$44b3o147b3o$44bo149bo$45bo
149bo5$43b3o147b3o$43bo149bo$44bo149bo4$58b3o147b3o$58bo149bo$59bo149b
o15$74boo148boo$74bobo147bobo$74bo149bo!
I don't know why, but detecting two-cell edges seems a lot harder than detecting one cell edges.

Anyway, I found a few other methods that might work based on a block and two objects next to the block.

For example, here is a clean mechanism which uses a block and two pre-blocks with only a subtle difference between the two alternative reactions.

Code: Select all

#C Part of a possible method to detect a two-cell edge still life.
#C This shows the detection with and without a honeycomb.
x = 27, y = 8
7boo16boo$bbo4bo17bo$bobo$obobobboo16boo$obobobboo16boo$bobo$bbo4bo17b
o$7boo16boo!
But I didn't find a way to create a pre-block adjacent to the block so I resorted to the complicated block and boats solution shown above.

BCNU,
-dbell

User avatar
EvinZL
Posts: 1040
Joined: November 8th, 2018, 4:15 pm
Location: A tungsten pool travelling towards the sun
Contact:

Re: Detecting still lifes

Post by EvinZL » June 1st, 2025, 9:35 pm

dbell wrote:
May 31st, 2025, 10:49 am
Here is a detection method for the two-cell edge still lifes. It only slightly protrudes into the detection area.

Code: Select all

#C Fifteen gliders detect the presence of a paperclip still life.
#C This forms a wall of six cells in a row whose growth in
#C one direction is impeded by the protruding cells of the still
#C life.  A glider is emitted if the still life is present.
#C This shows the reaction with and without the still life.
#C This same reaction can be used to detect other still lifes
#C having a similar two-cell protrusion, such as all long ships.
#C David I. Bell, 1 June 2025
x = 227, y = 135
72bo149bo$72bobo147bobo$72boo148boo6$59bo6bo142bo6bo$58bo7bobo139bo7bo
bo$58b3o5boo140b3o5boo21$57bo149bo$56bo149bo$56b3o147b3o$24bo19bobo
127bo19bobo$23bo20boo127bo20boo$23b3o19bo127b3o19bo5$25bo149bo$24bo
149bo$24b3o147b3o16$11bo149bo$10bo149bo$bboo6b3o147b3o$bobbo$boboo$oob
o$obbo$boo10b3o147b3o$13bo149bo$14bo149bo$25bo149bo$24boo148boo$24bobo
147bobo$36b3o147b3o$36bo149bo$37bo149bo28$44b3o147b3o$44bo149bo$45bo
149bo5$43b3o147b3o$43bo149bo$44bo149bo4$58b3o147b3o$58bo149bo$59bo149b
o15$74boo148boo$74bobo147bobo$74bo149bo!
This is slightly more protrusive, but only 8G

Code: Select all

x = 85, y = 43, rule = B3/S23
15bo$14bo59bo$14b3o56bo$73b3o3$10bobo$10b2o57bobo$11bo57b2o$15bo7bobo
44bo$13b2o8b2o49bo7bobo$14b2o8bo47b2o8b2o$9bo63b2o8bo$9bobo56bo$9b2o
57bobo$2o4b2o60b2o$2o4bobo56b2o$6bo58bobo$65bo5$11bo$10b2o58bo$10bobo
56b2o$69bobo13$19b2o$19bobo56b2o$19bo58bobo$78bo!

dbell
Posts: 478
Joined: June 27th, 2013, 12:47 am
Contact:

Re: Detecting still lifes

Post by dbell » June 5th, 2025, 2:38 am

The reactions shown in previous posts can detect many still lives. However, the reactions need clearance of a few cells around the still life.
So still lifes which have a simple protrusion of one or two cells on some edge can be detected.

There are still lives where such a protrusion does not exist. The simplest of these is a two-by-two array of blocks. To detect this still life a wall has to be built which is larger than the ones for one or two cell protrusions.

Code: Select all

#C A partial mechanism to detect a two-by-two array of blocks.
x = 29, y = 11
7boo18boo$7boo18boo$7bo19bo$ooboobbo19bo$ooboobbo19bo$7bo19bo$ooboobbo
19bo$ooboobbo19bo$7bo19bo$7boo18boo$7boo18boo!
For larger block arrays even larger reactions are needed.

Code: Select all

#C A partial mechanism to detect a four-by-four array of blocks.
x = 39, y = 15
12boo23boo$12boo23boo$oobooboobooboo23boo$oobooboobooboo23boo$12bo24bo
$oobooboobooboo23boo$oobooboobooboo23boo$12boo23boo$oobooboobooboo23b
oo$oobooboobooboo23boo$12bo24bo$oobooboobooboo23boo$oobooboobooboo23b
oo$12boo23boo$12boo23boo!
This continues forever. Each size of array needs its own detection mechanism, since any wall which is not slightly larger than the width of the block array will always react with the blocks.

Note that the wall doesn't have to be totally solid, but overall it still needs to be wider then the block array.

Code: Select all

#C A partial mechanism to detect a four-by-four array of blocks.
x = 39, y = 15
12boo23boo$12boo23boo$oobooboobooboo23boo$oobooboobooboo23boo$12bo24bo
$oobooboobooboo23boo$oobooboobooboo23boo$13bo24bo$oobooboobooboo23boo$
oobooboobooboo23boo$12bo24bo$oobooboobooboo23boo$oobooboobooboo23boo$
12boo23boo$12boo23boo!
So unless some general wall building mechanism exists, every one of the block array sizes has to be handled with its own unique mechanism.

BCNU,
-dbell

User avatar
qqd
Posts: 605
Joined: September 10th, 2022, 4:24 pm
Location: In a superposition of multiple different locations.

Re: Detecting still lifes

Post by qqd » September 11th, 2025, 1:47 pm

Here is a 5-glider detector of a long boat plus block constellation, based on the long boat spin reaction:

Code: Select all

x = 65, y = 36, rule = LifeHistory
.E39.E$2.E39.E$3E37.3E13$3.A39.A$4.2A17.A20.2A17.A$3.2A17.A20.2A17.A$
22.3A37.3A$18.A39.A$16.A.A37.A.A$17.2A38.2A6$21.C39.D$20.C.C37.D.D$
21.C.C37.D.D$22.2C38.2D3$7.A11.2C26.A11.2D$7.2A10.2C26.2A10.2D$6.A.A
37.A.A!
It uses gliders from 3 directions, but you can reduce it to 2 directions at the expense of more gliders.
There is also this corollary 7-glider long boat detector, but this is even worse than the general 7-glider detector in dbell's third post in this thread:

Code: Select all

x = 72, y = 48, rule = LifeHistory
.E39.E$2.E39.E$3E37.3E13$3.A39.A$4.2A17.A20.2A17.A$3.2A17.A20.2A17.A$
22.3A37.3A$18.A39.A$16.A.A37.A.A$17.2A38.2A6$21.C39.D$20.C.C37.D.D$
21.C.C37.D.D$22.2C38.2D3$7.A39.A$7.2A38.2A$6.A.A37.A.A8$29.2A38.2A$
29.A.A37.A.A$6.2A21.A16.2A21.A$5.A.A37.A.A$7.A39.A!
The 2-glider collisions of sparks replacing sacrificial blocks that have to be cleaned up in the absence of a still life could save gliders for other detection mechanisms though.
Currently writing a utility in Lua that may be helpful for faster manual pattern manipulation.

User avatar
Entity Valkyrie 2
Posts: 2052
Joined: February 26th, 2019, 7:13 pm
Contact:

Re: Detecting still lifes

Post by Entity Valkyrie 2 » September 14th, 2025, 9:06 am

qqd wrote:
September 11th, 2025, 1:47 pm
Here is a 5-glider detector of a long boat plus block constellation, based on the long boat spin reaction:

Code: Select all

x = 65, y = 36, rule = LifeHistory
.E39.E$2.E39.E$3E37.3E13$3.A39.A$4.2A17.A20.2A17.A$3.2A17.A20.2A17.A$
22.3A37.3A$18.A39.A$16.A.A37.A.A$17.2A38.2A6$21.C39.D$20.C.C37.D.D$
21.C.C37.D.D$22.2C38.2D3$7.A11.2C26.A11.2D$7.2A10.2C26.2A10.2D$6.A.A
37.A.A!
It uses gliders from 3 directions, but you can reduce it to 2 directions at the expense of more gliders.
There is also this corollary 7-glider long boat detector, but this is even worse than the general 7-glider detector in dbell's third post in this thread:

Code: Select all

x = 72, y = 48, rule = LifeHistory
.E39.E$2.E39.E$3E37.3E13$3.A39.A$4.2A17.A20.2A17.A$3.2A17.A20.2A17.A$
22.3A37.3A$18.A39.A$16.A.A37.A.A$17.2A38.2A6$21.C39.D$20.C.C37.D.D$
21.C.C37.D.D$22.2C38.2D3$7.A39.A$7.2A38.2A$6.A.A37.A.A8$29.2A38.2A$
29.A.A37.A.A$6.2A21.A16.2A21.A$5.A.A37.A.A$7.A39.A!
The 2-glider collisions of sparks replacing sacrificial blocks that have to be cleaned up in the absence of a still life could save gliders for other detection mechanisms though.
Here is a 5-glider detector of a long boat (with gliders coming from 2 directions), based on a different long boat spin reaction:

Code: Select all

x = 74, y = 44, rule = B3/S23
obo40bobo$b2o41b2o$bo42bo16$9b2o$9bobo$10bobo$11bo$29b2o41b2o$28b2o41b
2o$8bo21bo20bo21bo$7b2o41b2o$3bo3bobo36bo3bobo$4b2o41b2o$3b2o41b2o13$
22b2o41b2o$21b2o41b2o$23bo42bo!
Bx222 IS MY WORST ENEMY.

HyperConway — explore cellular automata on HyperRogue's hyperbolic tiling

Creator of the rule StateInvestigator
Please click here for my own pages (and oscillator stamp collections)

User avatar
qqd
Posts: 605
Joined: September 10th, 2022, 4:24 pm
Location: In a superposition of multiple different locations.

Re: Detecting still lifes

Post by qqd » September 17th, 2025, 12:08 pm

Here is a very high clearance 7G detector for 'mirrored snake end' still lifes which cannot be detected by other general detectors (the smallest example being the mirrored table, shown here):

Code: Select all

x = 109, y = 78, rule = LifeHistory
2.E52.E$E.E50.E.E$.2E51.2E11$14.A52.A$15.A52.A$13.3A50.3A6$28.A52.A$
29.A52.A$27.3A50.3A10$43.A52.A$44.A52.A$42.3A50.3A6$52.C2.C49.D2.D$
52.4C49.4D2$52.4C49.4D$52.C2.C49.D2.D6$42.3A50.3A$44.A52.A$43.A52.A
10$27.3A50.3A$29.A52.A$28.A52.A10$10.3A50.3A$12.A52.A$11.A52.A!
It can also detect cis-mirrored bookends, hats and many other still lifes.
Better yet, the output travels back the input direction, making it possible to detect still lifes like this without the output crashing into the still life:

Code: Select all

x = 111, y = 78, rule = LifeHistory
2.E52.E$E.E50.E.E$.2E51.2E11$14.A52.A$15.A52.A$13.3A50.3A6$28.A52.A$
29.A52.A$27.3A50.3A10$43.A6.C45.A6.D$44.A4.C.C45.A4.D.D$42.3A4.2C.C
42.3A4.2D.D$52.C52.D$52.3C50.3D$55.C52.D$54.C.C50.D.D$55.C.C50.D.D$
52.C4.C47.D4.D$52.5C48.5D2$52.5C48.5D$52.C4.C47.D4.D$55.C.C50.D.D$54.
C.C50.D.D$55.C52.D$52.3C50.3D$52.C52.D$42.3A4.2C.C42.3A4.2D.D$44.A4.C
.C45.A4.D.D$43.A6.C45.A6.D10$27.3A50.3A$29.A52.A$28.A52.A10$10.3A50.
3A$12.A52.A$11.A52.A!
Also, the first and second glider pairs can be independently timed, and so can the final three gliders (although they have to be timed correctly relative to each other.)
Currently writing a utility in Lua that may be helpful for faster manual pattern manipulation.

Post Reply