- A community for Conway's Game of Life and related cellular automata
Home  •  LifeWiki  •  Forums  •  Download Golly

Synthesis component database

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.

Synthesis component database

Postby Extrementhusiast » September 6th, 2016, 7:23 pm

With an increasing number of people asking for synthesizable sparks, I think it's high time I posted this:
(153.82 KiB) Downloaded 92 times

(Note: It's not that well organized!)

What entries are missing or extraneous? And how feasible would it be to move this online?
I Like My Heisenburps! (and others)
User avatar
Posts: 1641
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Synthesis component database

Postby dvgrn » September 7th, 2016, 2:56 pm

Extrementhusiast wrote:What entries are missing or extraneous? And how feasible would it be to move this online?

After some minor mental anguish, I'm figuring out that a large filled square represents a spark cell that's ON for more than one tick, where a large square with a central hole means that it's a new birth (that dies on the next tick). More specifically, it has to be a new birth at a location that has never had a live cell before. (Do I have that more or less right?)

Offhand I can't see why the pond + glider collision (bottom of "SPARKS" section in the middle) is categorized where it is, but maybe I'm looking at the wrong spark. There's a handy-looking 5to3to2-bit spark at the top, but that doesn't seem to match the reference patterns nearby.

I'm also interested in cheap recipes for glider-reflecting duoplet sparks and three-bit banana sparks and phi sparks. I found a phi spark in the BIG MESS O' SPARKS section, but it took some looking.

Now I'm in the process of slowly converting this collection to LifeHistory format. In my own copy of Golly I've added scripts and keyboard shortcuts to convert instantly from LifeHistory to regular Life and back again. So I don't mind the blue-cell pollution caused by running LifeHistory patterns -- I keep that stuff on purpose, because I find it so useful in editing. For example, the one-bit sparks section at the left gets turned into something like this:

Code: Select all
x = 143, y = 68, rule = LifeHistory

This way I can immediately see the shape of the reaction envelope, and the location and type of spark at the edge of the envelope. Also the big reference-pattern squares don't blow up and become unreadable after T=0. But I can still paste the recipe into another pattern, and line the sparks up with where I want them, and make sure the reaction envelope won't hit anything else that I want to keep.

I suspect that LifeHistory stamp collections may annoy some people rather than making them happy, so maybe it's a good idea to supply both versions.

As far as getting this collection online... it's quite a bit of work, whatever the final format turns out to be. Maybe a step in the right direction would be to see if Mark Niemiec will consider adding definitions for edgy pieces of unstable junk that have known names, to his searchable database. This might include sparks, like "one-bit spark" and "duoplet", and even "banana spark"
Code: Select all
x = 7, y = 5, rule = B3/S23

even though I just made that name up recently. The database already has lots of common named unstable objects -- "century", "teardrop", "pi", "Herschel", "B heptomino", "R pentomino" and so on -- but no "domino" yet, just for example.

That idea doesn't help much with coming up with an online repository of converters, though, which is really the biggest most impressive part of this collection. They seem very hard to organize in a way that can be searched effectively. If we're thinking about being ambitious, maybe a format that shows

must-be-ON-before cells
must-be-OFF-before cells
must-be-ON-after cells
must-be-OFF-after cells

? That might theoretically allow an online database to be queried for a converter that solves a particular problem, without assuming too many specifics that might not be true in a particular context. I think the search might end up being seriously computation-intensive, though, if the database gets to anywhere near a useful size.

Not sure if the format would have to include details like "don't allow any SW gliders with lane greater than N", etc. Thanks to kickbacks and other even sneakier tricks, that should probably be left for the human searcher to sort out, I guess -- at least until there's a constructor program using this database to do completely automated syntheses, along the lines of Mark Niemiec's expert system.
Posts: 3936
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI

Re: Synthesis component database

Postby Extrementhusiast » January 14th, 2017, 6:29 pm

Pushing another update (i.e. what I have so far, focusing more on the addition of components than on the addition of history):
(172.46 KiB) Downloaded 55 times

Also pushing a first draft of what I imagine a component page on this online database will look like (which is heavily based on the one on, but I've added a couple of things):
componentpage.png (35.62 KiB) Viewed 1214 times
I Like My Heisenburps! (and others)
User avatar
Posts: 1641
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Synthesis component database

Postby Extrementhusiast » July 13th, 2017, 5:02 pm

Third update to the file. I've also added "unusual" (relatively low-cost; takes things in an unexpected direction; often from Catagolue) and "reserve" (relatively high-cost; adds or modifies only a few cells in relatively difficult locations; often my first-draft solution to a problem) categories into the mix.

(218.64 KiB) Downloaded 24 times

Highlights include:
  • A new three-glider block shooter with much better clearance than the old one
  • Honeycomb to bun siamese tub with tail
  • Block to python
  • The unlikely use of a barberpole of completely arbitrary length as a setup object
  • Beehive to hat siamese hat
and many more.

[/shameless self-promotion]

At this point, I have a quandary: how far do I go with checking soup search results to make new components and trawling through my records to find old components of mine? There are so many components that I could literally use once and never touch them again for years, not to mention the accidental components that I find that, while interesting, were not where I was wanting to go at the time. Here are five such predecessors/components:
x = 103, y = 77, rule = B3/S23

On the one hand, I don't want to drive myself insane finding every last component of mine, not to mention minor formatting choices that I keep waffling on. On the other hand, I don't want to miss the chance, however slim, that one of these components could provide a much easier route (or any route at all) to a synthesis than without it.
I Like My Heisenburps! (and others)
User avatar
Posts: 1641
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Synthesis component database

Postby gmc_nxtman » July 19th, 2017, 2:00 am

Here's another G-adding component I found:

x = 13, y = 10, rule = B3/S23

Which nicely compliments a 4-glider component by me and Mark Niemiec:

x = 32, y = 19, rule = B3/S23

I didn't find either of these in the collection, but I might not be looking hard enough. I assumed they would be with the add-bookend and add-cis/trans r-bee to beehive converters (next to the tub-to-beehive converters).

EDIT: I didn't find this either.

EDIT2: This (eater-on-eater to caribou on the left) component is extremely simple, but all the mechanisms I could find that did the same thing used the mechanism on the right:

x = 37, y = 27, rule = B3/S23

EDIT3: The add-bent-tail can perform a slightly different modification on tail-ends:

x = 32, y = 25, rule = B3/S23
User avatar
Posts: 1043
Joined: May 26th, 2015, 7:20 pm

Return to Patterns

Who is online

Users browsing this forum: No registered users and 2 guests