Snark-based still-life glider duplicators

For general discussion about Conway's Game of Life.
Post Reply
User avatar
Freywa
Posts: 878
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Snark-based still-life glider duplicators

Post by Freywa »

The happenings have been very busy now that the snark has come out. For the newcomers, I reproduce it below:

Code: Select all

x = 19, y = 27, rule = B3/S23
2bo$obo$b2o2$17bo$15b3o$14bo$14b2o4$11bobo$12b2o$12bo$4b2o$3bobo5b2o$
3bo7b2o$2b2o2$16bo$12b2obobo$11bobobobo$8bo2bobobob2o$8b4ob2o2bo$12bo
4bo$8b2o2bob3o$8b2o3b2o!
The snark, for all its smallness and simplicity, only turns a glider 90 degrees. What could be more useful is a still-life glider duplicator based on the snark (no Herschels allowed). Could it be done? I may need Playle's Bellman program to search for this, since manually modifying the original would be prohibitively time-consuming.
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!
Sphenocorona
Posts: 549
Joined: April 9th, 2013, 11:03 pm

Re: Snark-based still-life glider duplicators

Post by Sphenocorona »

You might want to move this in the Patterns section instead, because most of the discussion about such patterns goes there unless there's something that doesn't quite fit into the other topics, such as the Seeds of Destruction game. But I agree a glider duplicator would be nice.
User avatar
dvgrn
Moderator
Posts: 12051
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Snark-based still-life glider duplicators

Post by dvgrn »

Freywa wrote:The snark, for all its smallness and simplicity, only turns a glider 90 degrees. What could be more useful is a still-life glider duplicator based on the snark (no Herschels allowed). Could it be done? I may need Playle's Bellman program to search for this, since manually modifying the original would be prohibitively time-consuming.
It seems fairly certain that there's a small stable glider duplicator out there somewhere -- though it's tempting to allow Herschels as an intermediate stage: a reasonably small stable glider-to-Herschel converter could be trivially modified to make a reasonably small glider duplicator, but the reverse is somewhat less true.

You're right that the Snark can't realistically be modified to make a glider duplicator -- it doesn't have any likely sparks that could be catalyzed into a glider. The reaction that MikeP fed into Bellman to produce the Snark already had one output glider, and Bellman's job was simply to settle the remaining active reaction back down to stability in such a way as to re-produce the original "seed" or "bait" block.

To get a duplicator, the first step would seem to be to dig up a likely glider collision with a small still life, that produces two gliders plus a spark or a little leftover junk, as far away as possible from the two gliders. Then feed that into Bellman to see if the target still life can be restored somehow.

Just as a random sample, here's a reaction I ran into recently that probably isn't any good as a starting point for a search -- not enough sparkable junk to get hold of.

Code: Select all

x = 18, y = 5, rule = B3/S23
15b3o2$2o2b2o$2o2bobo$4bo!
This does produce two gliders... and there's a pair of dying sparks to the west, separate from the glider-generating reactions. A custom Bellman-type still life might conceivably be able to catalyze these into a block... but in the absence of unreasonable amounts of luck, such a still life would affect a total area that's much too large. In practice the search would be unlikely to succeed.

There are no doubt thousands, probably millions, of better search candidates out there; it's just a matter of looking at enough Life reactions to spot them!
knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: Snark-based still-life glider duplicators

Post by knightlife »

dvgrn wrote:There are no doubt thousands, probably millions, of better search candidates out there; it's just a matter of looking at enough Life reactions to spot them!
Here is one that is similar, but starts with two blocks and has two nice sparks to work with:

Code: Select all

x = 56, y = 23, rule = B3/S23
6$11bo$10bobo$10bobo$11bo$18b2o2b2o$18b2o2bobo16bo$22bo10b2o5bobo$33b
2o5bobo$41bo!
The beehives are about where two catalysts would be placed. The catalysts would need to produce two blocks in the original positions (not boats!). The bonus is that the two gliders produced are of different color. Hopefully the two catalysts would be two different problems for Bellman or other program, with no interaction of consequence between them (like the separate beehive reactions in the example pattern).
User avatar
Freywa
Posts: 878
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Snark-based still-life glider duplicators

Post by Freywa »

knightlife wrote:Here is one that is similar, but starts with two blocks and has two nice sparks to work with:

Code: Select all

x = 56, y = 23, rule = B3/S23
6$11bo$10bobo$10bobo$11bo$18b2o2b2o$18b2o2bobo16bo$22bo10b2o5bobo$33b
2o5bobo$41bo!
The beehives are about where two catalysts would be placed. The catalysts would need to produce two blocks in the original positions (not boats!). The bonus is that the two gliders produced are of different color. Hopefully the two catalysts would be two different problems for Bellman or other program, with no interaction of consequence between them (like the separate beehive reactions in the example pattern).
The space that the right catalyst could occupy is quite constrained, as it would have to stay out of the incoming glider's path. In the LifeHistory pattern below, the red areas are where I guess question marks would be put in a Bellman input file. It's a long shot, isn't it?

Code: Select all

x = 43, y = 24, rule = LifeHistory
12D$12D$12D$7DA4D$6DADA3D$6DADA3D$7DA4D23.8D$12D2.2C19.8D$8D6.2C19.2D
A5D$8D21.2C4.DADA4D$8D21.2C4.DADA4D$8D27.2DA5D$8D27.8D$8D25.10D$33.
10D$33.10D$33.10D$33.10D4$32.2C$32.C.C$32.C!
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!
User avatar
dvgrn
Moderator
Posts: 12051
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Snark-based still-life glider duplicators

Post by dvgrn »

Freywa wrote:... It's a long shot, isn't it?
Yes, if I were looking along these lines I think I'd keep hunting for a better (and smaller) reaction -- something that throws off two gliders, but has just one object to re-create from a leftover spark. A tub or boat or beehive or loaf, maybe, since the search space for transparent-block reactions has been relatively well researched already.

Not that all the transparent blocks have been found yet, by any means! I'd just like to see a transparent tub. Even if it's much less likely to show up in random ash, it seems like there's a good-sized search space to find something in. There's a tub-to-beehive reaction that might be worth looking at -- or the following collision even comes vaguely close to restoring the tub. Maybe (if wishes were horses) some modification of the remaining spark could shorten the beehive:

Code: Select all

x = 7, y = 5, rule = LifeHistory
.C$C.C$.C3.A$4.2A$4.A.A!
What I'm actually going to do in my own searches is reject the "no Herschels allowed" premise. At this point I'm most interested in finding a small stable glider-to-Herschel converter. You can make a fairly compact G-to-2G from a G-to-H very easily, but the reverse isn't necessarily true.

I seem to remember there were a few partial results from Paul Callahan's searches for stable reflectors, back in 1996-98, that might be interesting to set Bellman to work on -- will post them if I dig anything up. There again, though, I'm more interested in really cheap Spartan mechanisms, and Bellman only rarely comes up with something that isn't a pain to construct with gliders...!
knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: Snark-based still-life glider duplicators

Post by knightlife »

Isn't a block or blinker the most likely result from a Bellman catalyst at work, the same as random ash? Maybe the statistics are different for a complex catalyst? I was assuming a block would be the most desirable end result for a catalyst reaction, in terms of a quick and successful search.

So far, is the smallest glider duplicator something like this...?
Mod of a Paul Callahan post:

Code: Select all

x = 124, y = 75, rule = B3/S23
17b2o$17b2o3$15b2o$15b2o$2b2o$3bo74bo$3bobo70b3o$4b2o69bo$2o73b2o$2o3$
85bo$85b3o$88bo$87b2o11b2o$13b2o85b2o$13b2o29b2o$44b2o$122bo$121bobo$
33bo87bobo$32bobo87bo$32b2o$b2o38b2o32b2o$obo38bo20b2o11b2o$2bo39bo20b
o$41b2o17b3o$6b2o52bo$6b2o3$100b2o$100bo$101b3o$103bo15$47bo$47b3o$50b
o$49b2o7$59b2o$52b2o5bobo$52b2o7bo$61b2o2$48bo$47bobob2o$47bobobobo$
46b2obobobo2bo$47bo2b2ob4o$47bo4bo$48b3obo2b2o$50b2o3b2o!
I would like to try Bellman myself, but I have a Windows 7 PC. Is there a clean version for Windows or would I have to run a Linux virtual machine right now, if Windows C compilers are still choking on the code?

Not sure what color this possible reflector this might be, compared to a Snark:

Code: Select all

x = 9, y = 19, rule = LifeHistory
5.A$3.3A$2.A$2.2A7$7.2A$7.2A3$.C$C.C$.C3.A$4.2A$4.A.A!
Too constrained for Bellman again?

EDIT: I just checked and found that the color of the reflected glider would be different 8)
User avatar
Extrementhusiast
Posts: 1970
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Snark-based still-life glider duplicators

Post by Extrementhusiast »

knightlife wrote:So far, is the smallest glider duplicator something like this...?
Mod of a Paul Callahan post:

Code: Select all

x = 124, y = 75, rule = B3/S23
17b2o$17b2o3$15b2o$15b2o$2b2o$3bo74bo$3bobo70b3o$4b2o69bo$2o73b2o$2o3$
85bo$85b3o$88bo$87b2o11b2o$13b2o85b2o$13b2o29b2o$44b2o$122bo$121bobo$
33bo87bobo$32bobo87bo$32b2o$b2o38b2o32b2o$obo38bo20b2o11b2o$2bo39bo20b
o$41b2o17b3o$6b2o52bo$6b2o3$100b2o$100bo$101b3o$103bo15$47bo$47b3o$50b
o$49b2o7$59b2o$52b2o5bobo$52b2o7bo$61b2o2$48bo$47bobob2o$47bobobobo$
46b2obobobo2bo$47bo2b2ob4o$47bo4bo$48b3obo2b2o$50b2o3b2o!
This one, which I posted elsewhere, is smaller:

Code: Select all

x = 162, y = 138, rule = B3/S23
o$b2o$2o45$134b2o$133bo2bo$134b2o26$137b2o$137b2o2$128b2obo$128bob2o$
146b2o$146bo$144bobo$144b2o2$129bo$129b3o$120bo11bo$94bo9bo15b3o8b2o
14bo$94b3o5b3o18bo22bobo$97bo3bo20b2o23bo$96b2o3b2o$152bo$150b3o$149bo
$149b2o2$96bobo$97b2o58b2o$97bo12b2o46bo$110b2o23b2o21bob2o$98b2o35bo
14b2o4b3o2bo$97bo2bo35b3o11b2o3bo3b2o$92b2o4b2o38bo16b4o$91bobo47b2o
15bo$91bo48bobo12b3o$90b2o48bo13bo$100b2o37b2o14b5o$100bo58bo$101b3o
53bo$103bo53b2o5$127bo$127b3o$130bo$129b2o7$139b2o$132b2o5bobo$132b2o
7bo$141b2o2$128bo$127bobob2o$127bobobobo$124b2obobobobo2bo$124bo2bo2b
2ob4o$126b2o4bo$132bobo$133b2o!
The area of the actual device is 72x91. (Plus, it functions as a G-to-H converter.)
I Like My Heisenburps! (and others)
MikeP
Posts: 105
Joined: February 7th, 2010, 9:51 am
Location: Ely, Cambridgeshire, UK

Re: Snark-based still-life glider duplicators

Post by MikeP »

knightlife wrote:I would like to try Bellman myself, but I have a Windows 7 PC.
I would like to be able to offer Windows .EXE files on the Bellman download page. I had hoped that Calcyman might work with me on this, but he seems to have been inactive for the last few months. (Is there anyone else with an MSVC++ installation who might be tempted to try and build it? It compiles with g++ now, which should be a big step forward.)
knightlife wrote:Too constrained for Bellman again?
Yes, I think so. By the time this pattern emits the reflected glider, it has already expanded as far as it's ever going to. (Try running it in Golly's "LifeHistory" rule. The areas where the background is changing from black to blue are the places where Bellman can make a difference.)
User avatar
dvgrn
Moderator
Posts: 12051
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Snark-based still-life glider duplicators

Post by dvgrn »

Extrementhusiast wrote:This one, which I posted elsewhere, is smaller: ...
The area of the actual device is 72x91. (Plus, it functions as a G-to-H converter.)
There's an old reaction, found by Paul Callahan in 1997, that gets an extra glider out of the Herschel L156 turn using a transparent beehive. If you use that and suppress the Herschel output, it cuts the basic device down to 79x65:

Code: Select all

x = 183, y = 159, rule = B3/S23
o$b2o$2o92$148bo$148b3o$144bo6bo$143bobo4b2o$143bobo$141b3ob2o20bo$
140bo24b3o$134bo6b3ob2o17bo$108bo9bo15b3o6bob2o17b2o$108b3o5b3o18bo$
111bo3bo20b2o$110b2o3b2o44b2o$160bo2bo$161b2o4$110bobo$111b2o$111bo12b
2o47bo$124b2o23b2o20b3o$112b2o35bo20bo$111bo2bo35b3o17b2o$106b2o4b2o
38bo$105bobo$105bo72b2o$104b2o73bo$114b2o63bob2o$114bo56b2o4b3o2bo$
115b3o53b2o3bo3b2o$117bo58b4o$162b2o15bo$161bobo12b3o$161bo13bo$160b2o
14b5o$180bo$178bo$178b2o5$148bo$148b3o$151bo$150b2o7$160b2o$153b2o5bob
o$153b2o7bo$162b2o2$149bo$148bobob2o$148bobobobo$145b2obobobobo2bo$
145bo2bo2b2ob4o$147b2o4bo$153bobo$154b2o!
This recovers in 442 ticks instead of 386.
mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: Snark-based still-life glider duplicators

Post by mniemiec »

MikeP wrote:I would like to be able to offer Windows .EXE files on the Bellman download page. I had hoped that Calcyman might work with me on this, but he seems to have been inactive for the last few months. (Is there anyone else with an MSVC++ installation who might be tempted to try and build it? It compiles with g++ now, which should be a big step forward.)
I have an ancient version of MSVC++ that I don't use. I currently use MinGW for most things. That's a g++ port for Windows that uses Microsoft libraries (so no need to mess with Gnu library licensing issues). Since the compiler is the same, it should provide less porting issues. I could try to give it a shot (although responses may be slow, as I'm not online every day).
MikeP
Posts: 105
Joined: February 7th, 2010, 9:51 am
Location: Ely, Cambridgeshire, UK

Re: Snark-based still-life glider duplicators

Post by MikeP »

mniemiec wrote:I currently use MinGW for most things. That's a g++ port for Windows that uses Microsoft libraries (so no need to mess with Gnu library licensing issues). Since the compiler is the same, it should provide less porting issues. I could try to give it a shot (although responses may be slow, as I'm not online every day).
If it can produce a standalone .EXE file with no dependencies other than what comes with the OS then this sounds like a perfect way to proceed. Bellman already compiles with g++ so this should give us a minimum of compiler-related headaches.

Hmm... if it'll run under WINE then I could probably use it to produce EXEs myself. I'll have a look at this if I get a bit of free time.
mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: Snark-based still-life glider duplicators

Post by mniemiec »

MikeP wrote:If it can produce a standalone .EXE file with no dependencies other than what comes with the OS then this sounds like a perfect way to proceed. Bellman already compiles with g++ so this should give us a minimum of compiler-related headaches.

Hmm... if it'll run under WINE then I could probably use it to produce EXEs myself. I'll have a look at this if I get a bit of free time.
Yes, it makes a stand-alone .EXE; you can choose whether to use static or dynamic libaries, with all the trade-offs those entail.

This sounds like a great idea. That way, you could generate both versions with one set of sources yourself at the same time. (I recently worked on a project where I needed to create simultaneous Windows and Mac versions, and did something similar).
User avatar
codeholic
Moderator
Posts: 1179
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

Re: Snark-based still-life glider duplicators

Post by codeholic »

An interesting candidate

Code: Select all

x = 4, y = 26, rule = B3/S23
2o$2o5$b3o$bo$b3o16$2b2o$2b2o!
Ivan Fomichev
Sphenocorona
Posts: 549
Joined: April 9th, 2013, 11:03 pm

Re: Snark-based still-life glider duplicators

Post by Sphenocorona »

codeholic wrote:An interesting candidate

Code: Select all

x = 4, y = 26, rule = B3/S23
2o$2o5$b3o$bo$b3o16$2b2o$2b2o!
Interestingly (and quite convieniently too) if you fire a glider in a certain way at the leftover block, the resulting pi will get half-eaten by the other (permanant) block:

Code: Select all

x = 15, y = 10, rule = LifeHistory
.A5.2A$2.A2.2B2AB$3A2.5B$4.8B$2.11B$.2A11B$.2A12B$.14B$2.13B$4.11B!
Maybe this will be helpful in making a glider duplicator that is at least smaller than the currently known ones?
Post Reply