Synthesising Oscillators

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: Synthesising Oscillators

Post by mniemiec » April 1st, 2019, 7:11 am

Freywa wrote:Obvious synthesis of 6 bits: ...
I have a similar synthesis of that from 1998-07-04 or earlier: http://www.conwaylife.com/ref/mniemiec/period.htm#p75

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 1st, 2019, 7:11 am

mniemiec wrote:
Freywa wrote:Obvious synthesis of 6 bits: ...
I have a similar synthesis of that from 1998-07-04 or earlier: http://www.conwaylife.com/ref/mniemiec/period.htm#p75
I know. It's just not on the LifeWiki yet.
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: 10669
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Synthesising Oscillators

Post by dvgrn » April 1st, 2019, 10:33 am

Freywa wrote:
mniemiec wrote:
Freywa wrote:Obvious synthesis of 6 bits: ...
I have a similar synthesis of that from 1998-07-04 or earlier: http://www.conwaylife.com/ref/mniemiec/period.htm#p75
I know. It's just not on the LifeWiki yet.
Unfortunately it's an enormous job to get the LifeWiki's synthesis files caught up with current reality, all across the board. Due to the LifeWiki's rather conservative file management system, every time a synthesis is updated it's currently necessary to go in and manually locate the old synthesis file in an alphabetical list of thousands of files, type "DEAD" into a text box and click a button to delete it... and then go to another page and upload the new version... and then edit the LifeWiki article to mention the new cost in gliders.

I'd very much like to make a radical change to the way synthesis files are delivered on the LifeWiki, and stop uploading _synth files at all. They go out of date too easily. All we really need is for the LifeWiki to link to a URL anywhere on the web that contains the latest synthesis (and synthesis cost). But for that to work, we'd need some single source-of-truth database, with some reasonably efficient crowdsourced method of keeping it up to date.

So far the most likely idea I've had is to continue to put RLE:{pname}_synth articles on the LifeWiki. Unfortunately the best we can do to serve up the resulting RLE in a form that can be easily copied and pasted out is an "action=edit" link like this. That can be pretty confusing (and makes accidental edits more likely). We really just want the page to be a read-only view of the RLE and nothing else, like this.

So we need some other reliably available website -- Catagolue, maybe -- to parse that RLE-namespace _synth article and return only the contents of the wpTextbox1 textbox. (?) Maybe for security purposes it should also check that that text looks like valid RLE and doesn't look like, say, viral Javascript code.

This would do an end-run around Nathaniel's original system of requiring moderator/admin intervention to maintain _synth files. Those rules were put in place to avoid problems with user-uploaded junk taking over the LifeWiki pattern collection -- which is still a good goal, but it seems like the side effects are getting too awkward these days. There are probably better ways of keeping the pattern collection safe, and maybe we should be keeping all the _synth files in a separate downloadable collection anyway.

-- Comments, ideas, suggestions?

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 1st, 2019, 12:29 pm

dvgrn wrote:-- Comments, ideas, suggestions?
@chris_c: are you still maintaining ceebo/glider_synth? Because that is the starting point for a possible long-term solution.

As of this post I am studying CS2040 Data Structures and Algorithms in NUS. Graphs are the last topic covered in that module, and I see that syntheses form a directed graph with constellations as vertices and glider sets as weighted edges where weight is the number of gliders. Given a database of syntheses in this representation, an object's cheapest synthesis is the shortest path from the vertex representing nothing to the vertex representing said object, which can be found using Dijkstra's algorithm.

To further improve the flexibility and reduce the size of this database we could make edges represent synthesis components (a polymorphism that reminds me of another module I'm taking as of this post, CS2030 Programming Methodology II), the same component usable between multiple pairs of constellations. Thus the component "add block on domino" would be a single object in the database rather than having to be encoded separately for each object. We just need to specify the spatial and temporal offset for this component relative to the constellation it is being applied on.

The format in min_paths.txt is, unfortunately, quite hard to understand – in the sense that manually converting an RLE of a synthesis into that format is hard. I'm looking for ways to lessen the pain.

(P.S. the 3- and 4-glider synthesis databases could all be folded inside as well… mwahahaha)
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: 10669
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Synthesising Oscillators

Post by dvgrn » April 1st, 2019, 1:08 pm

Freywa wrote:@chris_c: are you still maintaining ceebo/glider_synth? Because that is the starting point for a possible long-term solution.
Or part of a long-term solution, anyway. Any time we have a way of programmatically generating optimal glider syntheses for a large number of patterns, we should be able to avoid a lot of pointless manual update work. I.e., have the LifeWiki link to a URL somewhere that runs a script to generate the latest and greatest synthesis -- and/or programmatically check any such database against what's currently reported in the LifeWiki, and generate a report that at least allows for a very quick and easy manual update.
Freywa wrote:... the component "add block on domino" would be a single object in the database rather than having to be encoded separately for each object. We just need to specify the spatial and temporal offset for this component relative to the constellation it is being applied on.
This brings up an interesting point. In practice we often need to keep track of multiple "add block on domino" recipes, because the context is important: to add a block to a domino at the bottom of concave area in a larger object, for example, we might need a more expensive recipe. Or if we're building a spaceship to add to a larger fleet, we might need to use a few extra gliders, or a totally different recipe, because the cheapest construction results in huge sparks that would destroy the rest of the fleet.

So it would be nice if our synthesis collection system could store multiple components and multiple syntheses for the same object, rather than just throwing away the previous recipe as soon as a new cheaper one appears.

Mark Niemiec's database generally takes the approach of documenting all known synthesis mechanisms that might be useful -- whereas recent syntheses showing up on the LifeWiki are more likely to be Current-Cheapest-Synthesis-Only.

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

Re: Synthesising Oscillators

Post by mniemiec » April 1st, 2019, 5:53 pm

dvgrn wrote:Mark Niemiec's database generally takes the approach of documenting all known synthesis mechanisms that might be useful -- whereas recent syntheses showing up on the LifeWiki are more likely to be Current-Cheapest-Synthesis-Only.
I first got the idea from a comment Bill Gosper made - that he would like to see older, even obsolete syntheses, to see how things used to be made; sometimes, tools may be used in those that may still be useful elsewhere. I generally try to use the following principles:
1) Each synthesis is broken up into as many temporally-distinct pieces as possible, to aid in automated synthesis (i.e. it's easier to arrange several groups of gliders that arrive in small waves separated by arbitrary space than to require them all to arrive simultaneously)
2) I always include the cheapest synthesis, in terms of gliders.
3) If there were previous obsolete methods, I will try to include those, but only if they include something new (e.g. an old synthesis that used old less-efficient sub-steps to make a predecessor will include the most efficient modern way to make it), and if such obsolete mechanisms used to e used in multiple syntheses, they will only be listed in the first one.
4) If a pattern has multiple distinct pieces (e.g. pseudo-still-lifes, inductors, etc.) I try to also include syntheses that begin with one of the pieces and add the other(s); these can be used as templates to aid in syntheses of larger patterns.
5) Similarly, with inducting objects, I try to include syntheses that begin with each of the pieces (e.g. beacon on cap from beacon + add cap, and block-on-cap + block-to-beacon).

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Synthesising Oscillators

Post by chris_c » April 2nd, 2019, 7:00 am

Freywa wrote: @chris_c: are you still maintaining ceebo/glider_synth? Because that is the starting point for a possible long-term solution.
I've not done any work with it for about two years. The current state of play was summarised here. Recently I have documented the format better and released the code that analyses glider syntheses.

What is missing:
  • Here is the point in the code where the object representing a synthesis is produced. But here you see that nothing actually gets done with the result. We need to write code that takes the result and prints it out in the synth-string format.
  • Code that takes a list of synth-strings and outputs only those synth-strings that belong to a shortest-path tree. This is basically just Dijkstra's algorithm.
Just writing these pieces of code should be pretty easy. Going further it would be nice if the 2nd piece of code would only include apgcodes that were interesting. For example, constellations should be excluded unless they are on a shortest-path between the empty universe and an interesting object. In the past my list of interesting objects was hard-coded as the list of all 16-bit or smaller still lifes. This had the advantage that this piece of code was completely independent of Life. Hard-coding is not sufficient if you want to catalogue all glider syntheses.
Freywa wrote: The format in min_paths.txt is, unfortunately, quite hard to understand – in the sense that manually converting an RLE of a synthesis into that format is hard. I'm looking for ways to lessen the pain.
Best to avoid working with these thing manually I think. I already have Javascript code that takes an apgcode and outputs the full synthesis RLE. Of course this only works if the apgcode is in min_paths.txt but there is no reason that min_paths cannot be extended to included oscillators and other still lifes.

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 10th, 2019, 11:50 am

chris_c wrote:What is missing:
  • Here is the point in the code where the object representing a synthesis is produced. But here you see that nothing actually gets done with the result. We need to write code that takes the result and prints it out in the synth-string format.
  • Code that takes a list of synth-strings and outputs only those synth-strings that belong to a shortest-path tree. This is basically just Dijkstra's algorithm.
Just writing these pieces of code should be pretty easy. Going further it would be nice if the 2nd piece of code would only include apgcodes that were interesting. For example, constellations should be excluded unless they are on a shortest-path between the empty universe and an interesting object. In the past my list of interesting objects was hard-coded as the list of all 16-bit or smaller still lifes. This had the advantage that this piece of code was completely independent of Life. Hard-coding is not sufficient if you want to catalogue all glider syntheses.
Well, forget about all of that. I've designed a brand-new glider synthesis database called Shinjuku. The announcement is here.
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 12th, 2019, 7:37 pm

While adding component lines to Shinjuku I noticed that the LifeWiki counts for candlefrobra and its cis-boat version are outdated, as Martin had found 11- and 9-glider syntheses respectively in 2015:

Code: Select all

x = 56, y = 47, rule = B3/S23
15bobo$15b2o$16bo8$2bo7b2obo5b2o$obo7bob2o5bobo$b2o16bo2$3b3o$5bo$4bo
18bo$22b2o$22bobo$54bo$46b2o5bo$42b2o3bo2bo2b3o$41bo3bobobobo$42bo4bob
2o2b3o$43bob2o6bo$54bo$19bo$19bobo$19b2o$9bobo$10b2o$10bo2$5bo$6bo$4b
3o$12b2o$12bobo$13b2o3$3b2o$2bobo17b3o$4bo17bo$6b3o14bo$6bo$7bo!
Edit: the old synthesis given on LifeWiki for candlefrobra is also 11 gliders now, since cis-block on long hook is now doable in 4:

Code: Select all

x = 98, y = 18, rule = B3/S23
31bobo$32b2o5bo36bo$32bo7bo33bobo$38b3o30b2o2b2o$72b2o7bo$41bo29bo7b2o
14bo$30b2o9bobo12bo19bo3b2o12bobo$2bo28b2o8b2o12bobo17bobo17bo$obo27bo
24bo2bo16bo2bo17bo$b2o6bo26b2o18bobo17bobo17bo$9bobo21bo3bo15bo3bo15bo
3bo15bo3bo$9b2o22b4o16b4o16b4o16b4o2$35b2o18b2o18b2o18b2o$35b2o18b2o
18b2o18b2o$6bo3bo$4bobob2o$5b2o2b2o!
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

User avatar
Goldtiger997
Posts: 763
Joined: June 21st, 2016, 8:00 am

Re: Synthesising Oscillators

Post by Goldtiger997 » April 12th, 2019, 7:55 pm

Freywa wrote:While adding component lines to Shinjuku I noticed that the LifeWiki counts for candlefrobra and its cis-boat version are outdated, as Martin had found 11- and 9-glider syntheses respectively in 2015:
There is a cheaper synthesis of candlefrobra in the small oscillators synthesis collection:

Code: Select all

x = 57, y = 33, rule = B3/S23
o$b2o16bobo$2o17b2o$10b2o8bo30bo$9bobo35b2obob2obo$11bo7b2o26b2obo3bob
o$20b2o28bo4bo$19bo30b2o14$6b2o$7b2o$6bo2$32b2o$31b2o$33bo3$34bo$33b2o
$33bobo!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 13th, 2019, 11:21 am

Pretty easy 23-glider synthesis of p18 honey farm hassler:

Code: Select all

x = 236, y = 44, rule = B3/S23
161bo$116bo42bobo$107bo6b2o44b2o$105bobo7b2o$106b2o54b2o$161bo2bo$161b
o2bo$162b2o2$170bobo$15bobo152b2o$16b2o153bo$16bo58bo$73b3o55bo53bo46b
o$72bo56b3o51b3o23bo20b3o$17bo54b2o54bo53bo26b3o17bo$13bo2bo92bo18b2o
52b2o28bo16b2o$12b2o2b3o36bo51bobo23b2o52b2o22b2o21b2o$12bobo40bobo50b
2o23bo53bo46bo$47bo7b2o58bo15bobo46b2o3bobo28bo10b2o3bobo$48b2o29b2o
34bobo13b2o46bo2bo2b2o29bobo7bo2bo2b2o$47b2o29b2o35b2o63b2o34b2o9b2o$
71b2o7bo42b2o41b2o45b2o9b2o$3bo66bobo34b2o13bobo36b2o2bo2bo39b2o2bo2bo
7bobo$2bo69bo33bobo15bo35bobo3b2o39bobo3b2o10bo$2b3o101bo23b2o28bo46bo
$54b2o49b2o23bobo26b2o45b2o21b2o$bo53bo54b2o18bo33b2o45b2o16bo$2o50b3o
56bo53bo46bo17b3o$obo49bo55b3o51b3o44b3o20bo$108bo53bo46bo2$176bo$176b
2o$175bobo2$184b2o$183bo2bo$183bo2bo$132b2o50b2o$123b2o7bobo$124b2o6bo
53b2o$123bo62bobo$186bo!
And no, this isn't going into the Dounreay folder, it's going straight into Shinjuku.
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

User avatar
Goldtiger997
Posts: 763
Joined: June 21st, 2016, 8:00 am

Re: Synthesising Oscillators

Post by Goldtiger997 » April 14th, 2019, 7:28 am

Does anyone know a more efficient way of converting the following variant of eater/block frob (integral instead of eater) to the standard version, than the one that I have? I looked through the converter databases but I couldn't find a suitable one:

Code: Select all

x = 498, y = 53, rule = B3/S23
185bo$183bobo$88bo95b2o$87bo$87b3o$85bo$83bobo$84b2o7bobo222bo108bo$
93b2o224bo105bobo$94bo21bo82bobo115b3o106b2o$117b2o80b2o122bo$116b2o
82bo8bobo111bobo76bobo$75bo133b2o112b2o77b2o$73bobo121bo12bo70bobobobo
28bo82bo3bo26bobo$39bo34b2o119bobo84b2ob2o28bo77bobob2o32b2o$9bobo28b
2o5bo54bobo91b2o84bo3bo28b3o76b2o2b2o31bo$9b2o28b2o4b2o56b2o289bo$6bo
3bo24bo10b2o25bobo27bo135bo5bo39bo75b2o38b2o37bobo$obob2o27bobo38b2o
49b2o39bo31b2o6bo33bo3bobo37bobo38b2o34bobob2o34bobob2o33b2obob2o$b2o
2b2o27b2o38bo50bobo30bobo4bobo31b2o4bobo30b3o2bobobo37bobo37bobo35bobo
bo35bobobo35bobobo$bo83b2o28bobo9bo30b2o4bo2bo24b3o3bo5bo2bo36bo2bo39b
o39bo35b2o2bo35b2o2bo35b2o2bo$8b2o28bo8bobo36bo2bo26b2o8b2obo25bo3bo4b
ob2obo24bo9bob2obo31b2o4bobo37bobo37bobo27bo9bobo37bobo37bobo$8bobo28b
o2bo4b2obo35bobobo25bo8bo2bobo24b2o8bo2bobo22bo11bo2bobo29bobo5bobo37b
obo37bobo27bo9bobo37bobo37bobo38b2o$10bo26b3o2b2o6bo36bo2bo35b2o2bo23b
obo9b2o2bo35b2o2bo31bo7bo39bo39bo25b3o11bo32b2o5bo32b2o5bo39bo$10bobo
28bobo6bobo37bobo25b2o10bobo37bobo37bobo37bobo37bobo18b2o17bobo37bobo
29bo2bo4bobo29bo2bo4bobo37bobo$11bobo37bobo37bobo25b2o10bobo24bo12bobo
25b2ob2o7bobo37bobo37bobo16bobo18bobo21bo15bobo28bo2bo5bobo28bo2bo5bob
o37bobo$13bo2b2o35bo2b2o35bo2b2o20bo14b2ob2o20b2o13b2ob2o21b2ob2o9b2ob
2o35b2ob2o35b2ob2o14bo20b2ob2o17b2o16b2ob2o25b2o8b2ob2o25b2o8b2ob2o35b
2ob2o$10bo2bo2b2o32bo2bo2b2o32bo2bo2b2o38b2o19bobo16b2o38b2o38b2o38b2o
38b2o16bobo19b2o38b2o38b2o38b2o$10bo39bo39bo39b2o38b2o24b2o12b2o38b2o
38b2o38b2o38b2o38b2o38b2o38b2o$11bo39bo39bo39bo39bo25b2o12bo39bo39bo
39bo39bo39bo39bo39bo$8b3o37b3o37b3o23bo13b3o37b3o25bo11b3o37b3o37b3o
37b3o37b3o37b3o37b3o37b3o$8bo39bo39bo25b2o12bo39bo39bo39bo39bo39bo39bo
39bo39bo39bo$113bobo315b2o$352bo77bobo$77b3o272b2o78bo$79bo271bobo82b
2o$78bo356bobo$437bo2$451bo$450b2o$450bobo$435b2o$434bobo$436bo$426b2o
$425bobo$427bo3$174b3o$176bo$175bo!

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

Re: Synthesising Oscillators

Post by mniemiec » April 14th, 2019, 7:40 am

Goldtiger997 wrote:Does anyone know a more efficient way of converting the following variant of eater/block frob (integral instead of eater) to the standard version, than the one that I have? I looked through the converter databases but I couldn't find a suitable one: ...
There is a fairly simple 7-glider integral-to-eater converter that works:

Code: Select all

x = 76, y = 26, rule = B3/S23
11bobo$14bo$14bo$11bobbo$12b3o39bo$54bobo$54boo$$5bo26boo18boo$4bo10bo
16boo18boo$4b3o6boo$bbo11boo$obo$boo$$6boo$6bobo18boo18boo18boo$8bo19b
o19bo19bo$8bobo17bobo17bobo17bobo$9bobo17bobo17bobo17bobo$11bobboo15bo
bboo15bobboo15bobboo$8bobbobboo12bobbobboo12bobbobboo12bobbobboo$8bo
19bo19bo19bo$9bo19bo19bo19bo$6b3o17b3o17b3o17b3o$6bo19bo19bo19bo!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 14th, 2019, 7:51 am

mniemiec wrote:There is a fairly simple 7-glider integral-to-eater converter that works:

Code: Select all

x = 76, y = 26, rule = B3/S23
11bobo$14bo$14bo$11bobbo$12b3o39bo$54bobo$54boo$$5bo26boo18boo$4bo10bo
16boo18boo$4b3o6boo$bbo11boo$obo$boo$$6boo$6bobo18boo18boo18boo$8bo19b
o19bo19bo$8bobo17bobo17bobo17bobo$9bobo17bobo17bobo17bobo$11bobboo15bo
bboo15bobboo15bobboo$8bobbobboo12bobbobboo12bobbobboo12bobbobboo$8bo
19bo19bo19bo$9bo19bo19bo19bo$6b3o17b3o17b3o17b3o$6bo19bo19bo19bo!
Well. Still more than your 12-glider synthesis going through the boat with tail.

In other news, as of this post I have added paths to every object for which a synthesis was given on the LifeWiki, except three.
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Synthesising Oscillators

Post by chris_c » April 14th, 2019, 10:41 am

I made an integral->eater converter in 5G:

Code: Select all

x = 24, y = 20, rule = B3/S23
o8bo$b2o7bo$2o6b3o2$17bo$4bo12bobo$5b2o10b2o$4b2o15bobo$21b2o$22bo6$
11b2o$11bobo$13bo$13bobo$14b2o!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 18th, 2019, 12:28 pm

While checking the rewindability of the syntheses in Shinjuku with some new code I wrote (discussed here) I noticed that Buckingham's 1993 13-glider synthesis of A for all is invalid. The marked gliders below would have to pass through each other:

Code: Select all

x = 36, y = 36, rule = LifeHistory
23.A$22.A$22.3A$3.A$.A.A$2.2A6$2.A$2A$.2A$6.2C$5.2C$2A5.C5.A6.2C$A.A
8.2A6.C.C4.2A$A11.2A7.C4.A.A$26.A3$11.3A$13.A$12.A2$17.2A$16.A.A15.2A
$18.A14.2A$35.A$2.2A$.A.A$3.A$22.3A$22.A$23.A!
On the other hand, I found one lucky 3-glider collision in the database for the active objects on left and right that don't cause any rewindability problems. Thus I have a valid 12-glider synthesis of A for all:

Code: Select all

x = 40, y = 48, rule = B3/S23
38bo$36b2o$37b2o$3bobo$4b2o$4bo5$5bo$6bo$4b3o3$6b3o$8bo$7bo4$38bo$19b
2o16bo$18bo2bo15b3o$3o15bo2bo$2bo16b2o$bo4$32bo$31bo$31b3o3$33b3o$33bo
$34bo5$35bo$34b2o$34bobo$b2o$2b2o$bo!
Edit: Bottle in 46 gliders from this soup. The challenge was making the B-heptominos that are formed in the last step; because they are so close, the normal 2-glider collision has to be modified into two gliders striking a block-on-table, with the block removed just in time by another glider.

Code: Select all

x = 379, y = 52, rule = B3/S23
77bo$78b2o$77b2o9bobo$88b2o$89bo$356bo$357bo$355b3o$180bo71bo$76bo95b
2o4bobo71bobo4b2o97b2o$76bobo93b2o5b2o71b2o5b2o91bo5b2o3bo$76b2o193bo
73bo7bo8bo7bo$170b4o83b4o9bobo71bobo4b3o2b4o2b3o4bobo$75bo94bo2bo83bo
2bo9bo2bo69bo2bo9bo2bo9bo2bo$76b2o193b2o71b2o24b2o$75b2o$87b2o$86b2o
153b3o$8bo50bo28bo4bobo147bo$8bobo49b2o31b2o2b3o87b3o52bo101bo26bo$8b
2o49b2o12bobo6b2o10bo2bo8bobo62b2o14bo70b2o82bobo12b2o12bobo$73b2o7b2o
14bo7b2o63b2o15bo69b2o83b2o12b2o12b2o$11b3o60bo32bo$bo9bo364bo$bobo8bo
142b2ob2o24b2o56b2ob2o24b2o68b2ob2o24b2o4bobo$b2o74b2o8b2o66b2obo7b2o
8b2o7bo56b2obo7b2o8b2o7bo68b2obo7b2o8b2o7bo4b2o$11b2o64b2o8b2o69bo7b2o
8b2o7bob2o56bo7b2o8b2o7bob2o62b2o4bo7b2o8b2o7bob2o$bo8bobo145b2o24b2ob
2o56b2o24b2ob2o61bobo4b2o24b2ob2o$2bo9bo326bo$3o55bo32bo$58b2o7bo14b2o
7b2o62bo15b2o85b2o83b2o12b2o12b2o$4b2o51bobo8bo2bo10b2o6bobo12b2o49bo
14b2o85b2o82bobo12b2o12bobo$3bobo60b3o2b2o31b2o48b3o118bo68bo26bo$5bo
64bobo4bo28bo167bo$78b2o194b3o$77b2o$89b2o$88b2o155b2o97b2o24b2o$90bo
79bo2bo70bo2bo9bo2bo82bo2bo9bo2bo9bo2bo$170b4o71bobo9b4o83bobo4b3o2b4o
2b3o4bobo$88b2o156bo98bo7bo8bo7bo$87bobo73b2o5b2o85b2o5b2o86bo3b2o5bo$
89bo73bobo4b2o85b2o4bobo90b2o$163bo101bo$358b3o$358bo$359bo$76bo$76b2o
$75bobo9b2o$86b2o$88bo!
Obviously, this leads to ship in a bottle in 49 gliders:

Code: Select all

x = 435, y = 52, rule = B3/S23
133bo$134b2o$133b2o9bobo$144b2o$145bo$412bo$413bo$411b3o$236bo71bo$
132bo95b2o4bobo71bobo4b2o97b2o$132bobo93b2o5b2o71b2o5b2o91bo5b2o3bo$
132b2o193bo73bo7bo8bo7bo$226b4o83b4o9bobo71bobo4b3o2b4o2b3o4bobo$131bo
94bo2bo83bo2bo9bo2bo69bo2bo9bo2bo9bo2bo$132b2o193b2o71b2o24b2o$54bo76b
2o$55bo87b2o$53b3o86b2o153b3o$57bo57bo28bo4bobo147bo$56bo59b2o31b2o2b
3o87b3o52bo101bo26bo$56b3o56b2o12bobo6b2o10bo2bo8bobo62b2o14bo70b2o82b
obo12b2o12bobo$129b2o7b2o14bo7b2o63b2o15bo69b2o83b2o12b2o12b2o$130bo
32bo$obo4bo424bo$b2o5bo42bo4b2o80b2o71b2ob2o11b2o11b2o56b2ob2o11b2o11b
2o68b2ob2o11b2o11b2o4bobo$bo4b3o40bobo3bobo3b2o70b2o2bobo3b2o66b2obo7b
2o2bobo3b2o7bo56b2obo7b2o2bobo3b2o7bo68b2obo7b2o2bobo3b2o7bo4b2o$50b2o
3b2o4b2o70b2o2b2o4b2o69bo7b2o2b2o4b2o7bob2o56bo7b2o2b2o4b2o7bob2o62b2o
4bo7b2o2b2o4b2o7bob2o$47b2o165b2o24b2ob2o56b2o24b2ob2o61bobo4b2o24b2ob
2o$3b3o40bobo346bo$5bo42bo65bo32bo$4bo109b2o7bo14b2o7b2o62bo15b2o85b2o
83b2o12b2o12b2o$55b3o55bobo8bo2bo10b2o6bobo12b2o49bo14b2o85b2o82bobo
12b2o12bobo$57bo64b3o2b2o31b2o48b3o118bo68bo26bo$56bo69bobo4bo28bo167b
o$58b3o73b2o194b3o$58bo74b2o$59bo85b2o$144b2o155b2o97b2o24b2o$146bo79b
o2bo70bo2bo9bo2bo82bo2bo9bo2bo9bo2bo$226b4o71bobo9b4o83bobo4b3o2b4o2b
3o4bobo$144b2o156bo98bo7bo8bo7bo$143bobo73b2o5b2o85b2o5b2o86bo3b2o5bo$
145bo73bobo4b2o85b2o4bobo90b2o$219bo101bo$414b3o$414bo$415bo$132bo$
132b2o$131bobo9b2o$142b2o$144bo!
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » April 19th, 2019, 5:17 am

Continuing from the previous post, you could have "pond in a bottle" synthesised as well:

Code: Select all

x = 42, y = 42, rule = B3/S23
19bo$20bo$18b3o2$21b2o$15bo5b2o3bo$8bo7bo8bo7bo$7bobo4b3o2b4o2b3o4bobo
$6bo2bo9bo2bo9bo2bo$7b2o24b2o5$7bo26bo$5bobo12b2o12bobo$6b2o12b2o12b2o
2$39bo$4b2ob2o11b2o11b2o4bobo$4b2obo7b2o2bo2bo2b2o7bo4b2o$b2o4bo7b2o2b
o2bo2b2o7bob2o$obo4b2o11b2o11b2ob2o$2bo2$6b2o12b2o12b2o$5bobo12b2o12bo
bo$7bo26bo5$7b2o24b2o$6bo2bo9bo2bo9bo2bo$7bobo4b3o2b4o2b3o4bobo$8bo7bo
8bo7bo$15bo3b2o5bo$19b2o2$21b3o$21bo$22bo!
The base constellation of one pond and four blocks would also take 9 gliders to construct, akin to the synthesis of the base for ship in a bottle – the pond and one block are made with a 3G collision, then the other blocks are added separately.

Edit: Tubber in 35 gliders based on a combination of soups:

Code: Select all

x = 337, y = 43, rule = B3/S23
140bo$141b2o57bo$140b2o58bobo$200b2o$145bo52bo$143b2o51bobo64b2o$144b
2o51b2o63bo2bo$263b2o53bo$257bo58bobo$138bobo117bo58b2o$139b2o115b3o
61b2o$2bo43bo92bo71bo108b2o$obo41bobo10b2o69b2o57b2o9b2o10bo41b2o9b2o$
b2ob3o38b2o9bo2bo67bo2bo55bo2bo8bo11b3o38bo2bo8b2o7bo$4bo52bobo68bobo
56bobo11bo50bobo10b2o4bobo$5bo52bo66bo3bo54bo3bo11b2o5b3o39bo3bo11b2o
4bobo35bo10bobo$43bo80bobo56bobo21bo40bobo21bo37bo9b2obo$44bo79bo2bo
55bo2bo21bo39bo2bo56b3o12b3o$2bobo37b3o80b2o57b2o63b2o69b2o4bo$3b2o42b
o263b2o3b2obo2b2o2bo$3bo43b2o13b2o69b2o57b2o52bo10b2o9b2o41b2o4bobo4bo
b2o$46bobo12bobo12bobo53bobo56bobo50bobo9bobo9bobo45bo3bo3bo3bo$3b3o
55b2o13b2o54b2o57b2o52b2o9b2o10bo48b2obo4bobo4b2o$5bo71bo240bo2b2o2bob
2o3b2o$4bo75b3o57b2o57b2o63b2o52bo4b2o$80bo58bo2bo33bo21bo2bo61bo2bo
52b3o12b3o$81bo58bobo34bo21bobo40bo21bobo54bob2o9bo$b2o7bo55bo70bo3bo
33b3o5b2o11bo3bo40bobo4b2o11bo3bo56bobo10bo$obo6bobo53bobo68bobo44bo
11bobo43bobo4b2o10bobo$2bo6bo2bo52bo2bo9b2o56bo2bo32b3o11bo8bo2bo43bo
7b2o8bo2bo$10b2o54b2o10bobo56b2o35bo10b2o9b2o52b2o9b2o$78bo48bo45bo
149b2o$126b2o128b3o64b2o$126bobo127bo69b2o$257bo68bobo$250b2o74bo$121b
2o63b2o61bo2bo$122b2o62bobo61b2o$121bo64bo$183b2o$125b2o55bobo$124b2o
58bo$126bo!
Edit 2: Octagon 4 in 24 gliders from this soup:

Code: Select all

x = 130, y = 28, rule = B3/S23
110bo$108bobo3bo$109b2ob2o5bo$113b2o2b2o$65bo52b2o$63b2o$bo3bobo56b2o
37bo$2bo2b2o97bo$3o3bo95b3o$59bo3b3o51bo$54bo5b2obo40bo8bo2bobo6bobo$
53bobo3b2o3bo39b2o6bobo2bobo5b2o$b3o50bo48bobo7bo4bobo5bo$3bo3bo111bo$
2bo3bo105bo$6b3o50bo45bo5bobo4bo7bobo$49bo3b2o3bobo44b2o5bobo2bobo6b2o
$50bob2o5bo44bobo6bobo2bo8bo$48b3o3bo59bo$3bo3b3o117b3o$3b2o2bo119bo$
2bobo3bo39b2o78bo$49b2o$48bo63b2o$113b2o2b2o$112bo5b2ob2o$117bo3bobo$
121bo!
The way I go about these soup-based syntheses is to make a mosaic of all the original soups and vgrep for any "easy" or "interesting" behaviour:
Mosaic of D4_x4 soups producing octagon 4
Mosaic of D4_x4 soups producing octagon 4
Screenshot from 2019-04-20 12-02-16.png (53.04 KiB) Viewed 23473 times
Edit 3: An actual heart in 14 gliders from this soup. This beats the 26 I calculated by following the results in this post and its follow-ups:

Code: Select all

x = 113, y = 23, rule = B3/S23
46bobo$47b2o$47bo8bobo$56b2o$50b2o5bo$51b2o46bobo$50bo48b2o$16bo83bo$
16bobo$16b2o78b3o$20b2o33b2o9bo$20bobo32b2o7b2o35b2o$11b3o6bo36b2o6b2o
33bobo$11bo45b2o38bo2bob2o$bo10bo36bo46bobobo3bo$obo45bobo46bo2bo3b3o$
o2bo44bo2bo11bo36bo5bo5bo$b2obo44b2obo10b2o36b5o4b2o$3bobo45bobo8bobo
46b2o$3bo2bo44bo2bo48bo4bo$4b2o46b2o13b2o33bobo3bo$66b2o35bo4bo$68bo!
Edit 4: 48P22.1 from the only soup of it where a synthesis was obvious, in 48 gliders:

Code: Select all

x = 451, y = 88, rule = B3/S23
323bo$321b2o$322b2o13$292bo$293b2o6bo$125bo166b2o6bo$123bobo174b3o$
124b2o$131bo$131bobo$131b2o$207b2o11bobo80b2o126bo$206bo2bo10b2o80bo2b
o32bobo88b2o$77bo129b2o12bo81b2o33b2o90b2o$78b2o259bo87bo$77b2o348bo$
427bo$80bo66b2o77b2o94b2o$18bobo34bo24bobo64b2o13bo63b2o94b2o$18b2o36b
o23b2o79bo149b2o$12bo6bo34b3o20bo44b2o37b3o37b2o65bobo26b2o12bobo23b2o
$13bo37bo16b3o4bobo44b2o12b3o62b2o12b3o51b2o26b2o13b2o23bobo$11b3o37b
2o23b2o49b2o16b2o59b2o16b2o9bo33bo32b2o16b2o9bo5bo$50bobo4b3o6bo5bo54b
2o5bo5bo4b2o59b2o5bo5bo4b2o8bobo65b2o5bo5bo4b2o8bobo$59bo6bo5bo61bo5bo
72bo5bo14bobo72bo5bo14bobo102bo$o57bo7bo5bo61bo5bo54bo17bo5bo15bo73bo
5bo15bo101b2o$b2o155b3o35b2o224bob2o5b2ob2o$2o66b3o65b3o19bo36b2o18b3o
93b3o109b2o7bo2bo$60b3o65b3o28bo47b3o93b3o117bo2bo2b2o2bo$23bo51b3o65b
3o76b3o93b3o103b2obo2b3o12b3o$23bobo32bo5bo61bo5bo72bo5bo88b2o5bo101bo
bo12bo2b2o2bo$23b2o33bo5bo8bo5bo46bo5bo8bo5bo57bo5bo8bo5bo72bobo5bo8bo
6b2o85b2o14b2o5bo15bo$3b2o53bo5bo8bo5bo46bo5bo8bo5bo57bo5bo8bo5bo72b2o
6bo8bo5bobo85bo15bo5b2o14b2o$2bobo68bo5bo61bo5bo72bo5bo89bo5b2o104bo2b
2o2bo12bobo$4bo55b3o65b3o76b3o93b3o106b3o12b3o2bob2o$75b3o36bo28b3o76b
3o93b3o105bo2b2o2bo2bo$26b2o39b3o45bo19b3o76b3o18b2o73b3o111bo2bo7b2o$
25b2o86b3o118b2o188b2ob2o5b2obo$27bo37bo5bo7bo53bo5bo56bo15bo5bo17bo
55bo15bo5bo110b2o$65bo5bo6bo54bo5bo55bobo14bo5bo72bobo14bo5bo109bo$65b
o5bo6b3o4bobo39b2o4bo5bo5b2o48bobo8b2o4bo5bo5b2o65bobo8b2o4bo5bo5b2o$
14b3o43b2o23b2o40b2o16b2o49bo9b2o16b2o60bo5bo9b2o16b2o32bo$14bo45bobo
4b3o16bo48b3o12b2o62b3o12b2o53bobo23b2o13b2o26b2o$8bo6bo44bo20b3o26b3o
37b2o77b2o54b2o23bobo12b2o26bobo$8b2o46b2o23bo30bo198b2o$7bobo45bobo
24bo28bo13b2o77b2o94b2o$57bo67b2o77b2o94b2o$432bo$59b2o371bo$58b2o224b
o147bo$60bo149bo12b2o59b2o33b2o107b2o$210b2o10bo2bo57bobo32bo2bo107b2o
$209bobo11b2o94b2o107bo$141b2o$140bobo$142bo$148b2o$148bobo170b3o$148b
o174bo6b2o$322bo6b2o$331bo13$300b2o$301b2o$300bo!
Edit 5: Nivasch's radial pseudo-barberpole in 40 gliders from this soup:

Code: Select all

x = 325, y = 113, rule = B3/S23
316bo$315bo$315b3o5$214bo$212bobo$213b2o6$299bobo$299b2o$300bo6$227bo$
228b2o$227b2o3$140bo$138bobo$139b2o$145bo$30bobo112bobo$30b2o113b2o$
31bo237b2o$269b2o2$28b2o$27bobo3bo$29bo2bo118b2o124b2o$32b3o116b2o124b
2o2$148b2o124b2o$148b2o111bobo10b2o$262b2o$262bo$8bo116b2o124b2o11bo$
6bobo116b2o124b2o11b2o$o6b2o254bobo$b2o125b2o124b2o25bo$2o126b2o124b2o
23b2o$5b3o110bo151bo5bo3b2o$5bo113bo49bo94bo6b2o4b2o$6bo110b3o48bo95b
2o4b2o4b2o$168b3o75b2o15bobo$246b2o2$289b2o$114b3o154bobo15b2o$42bo73b
o48b3o91b2o4b2o4b2o$43bo71bo49bo92b2o4b2o6bo$41b3o122bo88b2o3bo5bo$47b
2o106b2o99b2o23b2o$46b2o107b2o98bo25b2o$40b2o6bo222bobo$40bobo115b2o
111b2o11b2o$40bo117b2o112bo11b2o$274bo$273b2o$135b2o124b2o10bobo$135b
2o124b2o2$14b3o115b2o124b2o$16bo2bo112b2o124b2o$15bo3bobo$19b2o2$266b
2o$17bo248b2o$17b2o119b2o$16bobo118bobo$139bo$144b2o$144bobo$144bo3$
308b2o$307b2o$309bo6$236bo$236b2o$235bobo6$322b2o$322bobo$322bo5$219b
3o$221bo$220bo!
This involves what I call a quasi-B, because it is just a B-heptomino with an extra bit (and thus has two closely related variants):

Code: Select all

x = 14, y = 5, rule = B3/S23
2o8b2o$b2o8b2o$2b2o8b2o$b2o9bo$11bo!
Here's a predecessor from this soup I couldn't get to work:

Code: Select all

x = 23, y = 23, rule = B3/S23
12b2o$b2o8bobo6b2o$b2o9bo7b2o4$9b3o$9bobo$9b3o$2o12b3o$obo11bobo$bo4b
3o5b3o4bo$6bobo11bobo$6b3o12b2o$11b3o$11bobo$11b3o4$b2o7bo9b2o$b2o6bob
o8b2o$9b2o!
Edit 6: Fourfold hearts in 23 gliders from this soup. Incidentally, both the glider count and the mechanism (turning the pulsar into a p5 oscillator) are shared with harbour:

Code: Select all

x = 161, y = 35, rule = B3/S23
74bo$75b2o$74b2o64bo$10bo71bo56bo$10bobo69bobo54b3o$10b2o70b2o$5bo18bo
$3bobo17bo114bo13bo$4b2o17b3o111bobo11bobo$72b2o13b2o47bobo13bobo$72b
2o13b2o46bobo5bo3bo5bobo$10b3o3b3o57b3o3b3o10bobo38bo4bo2bobo2bo4bo3b
2o$95b2o44bo2bobo2bo8bobo$8bo4bobo4bo5b3o38bo6bo4bobo4bo9bo42b2obobobo
bob2o6bo$8bo4bobo4bo5bo41bo5bo4bobo4bo54bo2bobo2bo$8bo4bobo4bo6bo38b3o
5bo4bobo4bo51bo5bobo5bo$10b3o3b3o57b3o3b3o54b5o3b5o2$10b3o3b3o57b3o3b
3o54b5o3b5o$bo6bo4bobo4bo53bo4bobo4bo5b3o43bo5bobo5bo$2bo5bo4bobo4bo
53bo4bobo4bo5bo48bo2bobo2bo$3o5bo4bobo4bo43bo9bo4bobo4bo6bo38bo6b2obob
obobob2o$64b2o64bobo8bo2bobo2bo$10b3o3b3o44bobo10b3o3b3o46b2o3bo4bo2bo
bo2bo4bo$72b2o13b2o46bobo5bo3bo5bobo$72b2o13b2o47bobo13bobo$3b3o17b2o
112bobo11bobo$5bo17bobo112bo13bo$4bo18bo$17b2o58b2o$16bobo57bobo70b3o$
18bo59bo72bo$85b2o63bo$84b2o$86bo!
Edit 7: 26P2 in 9 gliders from this soup:

Code: Select all

x = 206, y = 21, rule = B3/S23
193bo$154bo36bobo$154bobo35b2o$154b2o$195bo$195bo$195bo$57bo68bo$48b2o
7bo59b2o7bo75b2o$48b2o7bo59b2o7bo74bo2bo$8b2o2b2o187b2o2bo$bo5bobo2bob
o38b3o3b3o16bo43b3o3b3o68b2obob2o$b2o6bo2bo64bo121b2obo$obo54bo19b3o
46bo7b2o66bob2o$57bo68bo7bobo7b2o56bo2bo$57bo68bo7bo9b2o57b2o2$130b2o$
80b3o48b2o$80bo49bo$81bo!
Edit 8: A griddle-based oscillator in 11 gliders from this soup:

Code: Select all

x = 68, y = 23, rule = B3/S23
65bobo$65b2o$66bo$45bo$46b2o3bo$45b2o3bo5bo$50b3o2bo$55b3o7$6bo$4bobo
43b2o$5b2ob3o38bo2bo5bobo$8bo41bobo5b2o$9bo41bo7bo2b3o$62bo$o44bo11b3o
3bo$o44bo11bo$o44bo12bo!
Also griddle and cross-snake in 10 gliders from this soup, and involving another quasi-B:

Code: Select all

x = 78, y = 43, rule = B3/S23
56bo18bo$54bobo16b2o$55b2o17b2o$61bo$59bobo$60b2o4$2bo$obo$b2o8bo$12bo
$10b3o63b2o$76b2o2$11b2o55b2o$12b2o54b2o$11bo5$75bo$67bo5b2o$68bo5b2o$
66b3o2$71b3o$71bo$72bo10$50b2o$51b2o$50bo!
A third griddle-based oscillator in 11 (with Goldtiger997's help on inserting the pi the "wrong" way):

Code: Select all

x = 90, y = 23, rule = B3/S23
43bobo$43b2o32bo$44bo33bo2bo$76b3obobo$50bo30bo$50bobo$bobo46b2o$b2o
38bo$2bo37bobo4b3o16bo$40b2o5bo19bo3b3o14bo$3o45bo16b3o19bo$2bo66bo5bo
11b3o$bo67bo5bo$69bo5bo9b2o$85b2o$42b2o27b3o6b2o$42bobo35bobo$42bo34b
2obo$38b2o38bobob2o$38bobo37bobo$31b3o4bo40bobo$33bo46bo$32bo!
Edit 9: Cha cha in 12 gliders from this soup and Goldtiger997:

Code: Select all

x = 61, y = 40, rule = B3/S23
9bo$10bo$8b3o5$19bo$17bobo$13b3o2b2o$15bo$14bo3$56b2o$21bobo32b2o$21b
2o29bo$22bo27b2o6b2o$6b2o44b2o4bobo$5bobo8bo32b3o6bo$7bo8bobo26bo6b3o$
16b2o25bobo4b2o$bo42b2o6b2o$b2o48bo$obo43b2o$46b2o3$9bo$8bo$4b2o2b3o$
4bobo$4bo5$13b3o$13bo$14bo!
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

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

Re: Synthesising Oscillators

Post by mniemiec » April 26th, 2019, 3:01 pm

Great work on all these syntheses!
Freywa wrote:Bottle in 46 gliders ... you could have "pond in a bottle" synthesised as well ...
You can make the unstable "block in a bottle" from 1 glider less (48), and that turns into pond in a bottle after one cycle:

Code: Select all

x = 33, y = 16, rule = B3/S23
8bo$8bobo$8boo16boo$26boo$11b3o$bo9bo$bobo8bo$boo3boo13boo3boo3boo$6b
oo3boo8boo3boo3boo$bo8bobo$bbo9bo$3o$26boo$4boo20boo$3bobo$5bo!
Freywa wrote:Edit 5: Nivasch's radial pseudo-barberpole in 40 gliders from this soup ... Here's a predecessor from this soup I couldn't get to work: ...
Here it is from 28 gliders (the corner blocks can be replaced by gliders):

Code: Select all

x = 141, y = 49, rule = B3/S23
17bo$18boo$4bo12boo26bo$bbobo39bo$3boo39b3o$19bo$20boo4bo$19boo3boo$
25boo$$112bo$112bobo$20bobo89boo$21boo57bo29bo$21bo57bobo9bo17bobo$79b
obo10bo16bobo$28bobo49bo9b3o17bo$28boo16bobo15boo28boo$16bo12bo16boo
15bobbobboo22bobbobboo28boo$17boo22bobo3bo16boo3bo9boo13boo3bo9boo18bo
9boo$16boo18bo4boo28bo8bo20bo8bo20bo8bo$34boo6bo28bobo3boo22bobo3boo
22bobo3boo$6bobo26boo$7boo64bobobo25bobobo25bobobo$7bo33bo$40boo29bobo
bo25bobobo25bobobo$12boo26bobo$6bo6boo55boo3bobo22boo3bobo22boo3bobo$
6boo4bo18boo35bo8bo20bo8bo20bo8bo$bo3bobo22boo36boo9bo3boo13boo9bo3boo
13boo9bo$boo16bo12bo45boobbobbo22boobbobbo22boo$obo16boo62boo28boo$18b
obo47bo29bo17b3o$67bobo27bobo16bo$27bo39bobo27bobo17bo$26boo40bo29bo$
26bobo66boo$94bobo$96bo$$22boo$23boo3boo$22bo4boo$29bo$bb3o39boo$4bo
39bobo$3bo26boo12bo$29boo$31bo!
Freywa wrote:26P2 in 9 gliders from this soup: ...
This is very similar to my 20140208 synthesis based on a soup from Lewis: the rear cleanup glider can be omitted, and the garbage cleaned up later with one glider; the initial block can be replaced by one glider (for the same cost), or two skewed blocks or a loaf (can't use a 3-glider constellation, but requires no cleanup, so the net cost is the same).

Code: Select all

x = 144, y = 97, rule = B3/S23
bo$bbo85bo19bo$3o84bobo17bobo$4bo83bo19bo$3bo$3b3o27boo28boo$33boo28b
oo38bo$104boo$87boo14boobboo$87boo18boo3$61bo$62bo$60b3o$64boo$65boo$
64bo$94booboo15booboo15booboo$93bobobobo13bobobobo13bobobobo$93bo6bo
12bo6bo12bo6bo$36b3o27b3o25b5obo13b5obo13b5obo$7bo91bo19bo19bo$5bobo
26bo5bo23bo5bo25bo19bo19bo$bboobboo26bo5bo23bo5bo25boo18boo18boo$bobo
30bo5bo23bo5bo$3bo$36b3o27b3o3$12bo$12bobo26boo28boo$12boo27boobboo24b
oobboo$15b3o27boo28boo$15bo$16bo16$38bo89bo$37bobo87bobo$38bo89bo$$13b
oo88boo$13boo88boo$$37boo88boo$37boo88boo3$11bo$12bo$10b3o$14boo88bo$
15boo88boo$14bo89boo$44booboo51b3o31booboo$43bobobobo52bo30bobobobo$
43bo6bo50bo31bo6bo$16b3o25b5obo55b3o25b5obo$49bo89bo$14bo5bo25bo57bo5b
o25bo$14bo5bo25boo56bo5bo25boo$14bo5bo83bo5bo$$16b3o87b3o34bo$143bo$
143bo$$21boo$20bobbo$20bobo$21bo10$120b3o$120bo$121bo!
Freywa wrote:A third griddle-based oscillator in 11 (with Goldtiger997's help on inserting the pi the "wrong" way): ...
chris_c posted a 9-glider synthesis on 20151012:

Code: Select all

x = 48, y = 33, rule = B3/S23
bbo$3bo$b3o10bobo$14boo$15bo7bo$23bobo$23boo$44bo$42bobo$19bobo19bo4bo
$19boo20b5obo$20bo25bo$43b3o$19boo22bo$19bobo$8b3o8bo$10bo$9bo$3o$bbo$
bo3bo$5boo$4bobo8$24bo$23boo$23bobo!

User avatar
Kazyan
Posts: 1247
Joined: February 6th, 2014, 11:02 pm

Re: Synthesising Oscillators

Post by Kazyan » May 8th, 2019, 2:32 pm

Final step for the 25-bit T-nosed p4:

Code: Select all

x = 46, y = 44, rule = LifeHistory
28.A.A$8.A19.2A$6.A.A20.A$7.2A2$10.A.A$11.2A21.A.A$11.A22.2A$35.A5.A$
21.2A17.A$21.A.A16.3A$22.A.A$23.A.A$24.A2$22.A9.A$13.2A6.A.A2.2A3.A.A
$14.A2.2A2.A.A2.A5.A.A6.A$4.A9.A.A2.A.2A4.3A3.A8.2A$5.A9.A2.2A9.A11.
2A$3.3A13.A$18.A26.A$18.2A23.2A$19.A24.2A$14.2A2.A20.3A$13.A2.A2.3A
17.A$14.2A6.A17.A$A20.A$.2A17.A$2A17.A11.3A$18.A12.A$17.A14.A$16.A$
15.A24.A$14.A24.2A$13.A25.A.A$13.2A15.A$29.2A$29.A.A2$4.2A$3.A.A34.3A
$5.A34.A$41.A!
The synthesis box on Catagolue has been informed about it; we'll see if Shinjuku-Catagolue can gather the prerequisite large still life and accoutrements.
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

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

Re: Synthesising Oscillators

Post by mniemiec » May 8th, 2019, 8:14 pm

Kazyan wrote:Final step for the 25-bit T-nosed p4: ...
Impressive! Here's a 79-glider instantiation:

Code: Select all

x = 195, y = 165, rule = B3/S23
136bo$134bobo$135boo$$146bobo$146boo$147bo3$148bo$147bo$147b3o21boo$
17bobo25bo29bo29bo22bo6bo29bo4bobo$17boo26b3o27b3o27b3o21boo4b3o12boo
13b3obbo$18bo29bo29bo29bo19boo8bo11bobo15boboo$47boo28boo28boo28boo11b
o16boo$19b3o146bo$19bo87boo28boo28bo$20bo54b3o29boo28boo28boo$77bo68b
3o$76bo69bo$78b3o66bo$78bo$79bo3$125b3o$127bo$126bo$bobo$bboo$bbo5$25b
o$24bo$24b3o67bo$4bo88bo$bbobo22boo64b3o$3boo16boo4bobo21bo11bo17bo29b
o29bo29bo$15bo4bobo4bo22bobo8bobo16bobo27bobo27bobo27bobo$15b3obbo23bo
boobbobo9boo10boboobbobo21boboobbobo21boboobbobo21boboobbobo$6bo11bob
oo22boobboboo22boobboboo22boobboboo22boobboboo22boobboboo$7bo9boo28boo
28boo28boo28boo28boo$5b3o10bo29bo29bo29bo29bo29bo$9bo7bo29bo29bo29bo
29bo29bo$9boo6boo28boo28boo28boo28boo28boo$8bobo97bo29bo29bo$47boo28b
oo28bo29bo29bo$18b3o26boo28boo29b3o27b3o27b3o$18bo91bo29bo30bo$19bo
112bo37boo$15b3o115bo$17bo113b3oboo$16bo118bobo$135bo$$131b3o$133bo$
83bo48bo$84bo$82b3o13bo$97boo$83bo13bobo$61bo21boo$61boo19bobo$60bobo
13$146bo$145bo$64bo80b3o$65bo10bo64bo$63b3o9bo66bo$75b3o62b3o3bo25bo$
144boo25bobo$58bo86boo25bobo$59boo112bo$58boo27bo5bo$21bo29bo15bo13bo
5boboboo18bo29bo29bo$20bobo27bobo12bobo12bobo4boo3boo8boo6bobobboo15b
oo6bobobboo15boo6bobobboo$14boboobbobo21boboobbobo8b3obboo6boboobbobo
20bobboobbobobbo17bobboobbobobbo17bobboobbobobbo$14boobboboo22boobbob
oo11bo10boobboboo9bo11bobobboboo4b3o14bobobboboo4b3o14bobobboboo4b3o$
17boo28boo13bo14boo11boo12bobboo9bo15bobboo9bo15bobboo9bo$18bo29bo29bo
11bobo3b3o9bo29bo29bo$17bo29bo29bo18bo10bo29bo29bo$17boo28boo28boo18bo
9boo28boo28boo$18bo9bo19bo29bo29bo29bo29bo$17bo8boo19bo29bo29bo22bobo
4bo13bo15bo$18b3o6boo19b3o27b3o27b3o20boo5b3o8boo17b3o$21bo29bo29bo29b
o19bo9bo8boo19bo$20boo28bo29bo29bo29bo29bo$50boo28boo28boo14bo13boo11b
o15bo$127boo23bo15bo$23boo101boo24b3o12bo$23bobo140bo$23bo106bo3boo29b
o4boo$20boo109boobobo27bo5boo$19bobo108boobbo28bo$21bo140bo$162boo$$
151boo$150boo$152bo5$127bo$127boo15boo$126bobo15bobo$144bo$11bobo$11b
oo12bobo$12bo12boo$26bo$13boo$14boo77bo$13bo66bo12bobo$81boo10boo$80b
oo$$50boo33bo4boo$22bo27bobo30bobo4bobo6bo$21bobo27bobo30boo5bobo5bobo
$22bobo11bo15bobo37bobo4boo69bo$23bo7bobobbobo14bo39bo11bobo61bo$31boo
3boo67boo62b3o$21bo10bo18bo9bo29bo9bo4bo29boo28boo$12boo6bobobboo15boo
6bobobboo3bobo19boo6bobobboo3bobo19boo12boo14boo12boo14boo$13bobboobbo
bobbo7boo8bobboobbobobbo5bobo19bobboobbobobbo5bobo19bobboo25bobboo25bo
bboo$13bobobboboo4b3o4bobo7bobobboboo4b3o3bo20bobobboboo4b3o3bo20bobo
bbo24bobobbo24bobobbo$5bo8bobboo9bo4bo10bobboo9bo25bobboo9bo25bobboo
25bobboo25bobboo$6bo11bo29bo39bo43bo29bo29bo$4b3o10bo29bo39bo16boo22b
oobb3o23boobb3o23boobb3o$3o14boo28boo38boo14b4o19boboobbo23boboobbo23b
oboobbo$bbo15bo29bo27bobo9bo13booboo19bobo27bobo27bobo$bo15bo25boobbo
29boo4boobbo9bo5boo21bo29bo29bo$18b3o21bobbobb3o26bo4bobbobb3o5boo28bo
29bo29bo$21bo21boo6bo31boo6bo4bobo$6b3o11bo29bo39bo$8bo10bo29bo39bo33b
o29bo$7bo10bo29bo39bo15boo16bobo27bobo$17bo29bo39bo16bobo15boo28boo$
16bo29bo27bo11bo17bo50b3o$15bo4boo23bo29bo9bo8boo59bo$14bo5boo22bo28b
3o8bo9bobo59bo$13bo29bo39bo10bo$12bo9boo18bo39bo$12boo8bobo17boo33boo
3boo22bo$22bo55boo25boo$77bo27bobo!

User avatar
Ian07
Moderator
Posts: 891
Joined: September 22nd, 2018, 8:48 am
Location: New Jersey, US

Re: Synthesising Oscillators

Post by Ian07 » May 14th, 2019, 9:10 am

Cis-beacon on anvil in 6G found by Goldtiger997:

Code: Select all

x = 57, y = 29, rule = B3/S23
52bo$51bo$51b3o4$52bo$52bobo$52b2o3$54b3o$54bo$55bo5$bo$2bo$3o42b2o$5b
obo37b2o$5b2o40b2o$6bo40b2o3$7b3o$9bo$8bo!
Based on a 4G synth found by wildmyron: https://catagolue.appspot.com/hashsoup/ ... obo!/b3s23

Code: Select all

x = 0, y = 0, rule = B3/S23
36$36b2o$27b3o5b2o$29bo7bo$28bo12b2o$40b2o$42bo16$17bo$17b2o$16bobo!
Last edited by Ian07 on May 14th, 2019, 9:35 am, edited 1 time in total.

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » May 14th, 2019, 9:12 am

Ian07 and Goldtiger997 have found a 5-glider synthesis of Unix from Arie's 4-glider Cata symmetry:

Code: Select all

x = 49, y = 43, rule = B3/S23
48bo$46b2o$47b2o22$20b3o$20bo$21bo2$15b3o$17bo$16bo$28b3o$28bo$29bo7$
3o$2bo$bo!
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

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

Re: Synthesising Oscillators

Post by mniemiec » May 16th, 2019, 11:35 pm

Ian07 wrote:Cis-beacon on anvil in 6G found by Goldtiger997: ...
This 3-glider add-anvil converter was reported by gmc_nxtman on 2017-08-04, and is 1 glider cheaper than the previously-known similar 4-glider one. It can add an anvil anywhere a boat-bit works, which also yields a 5-glider block-on-anvil (17.3542):

Code: Select all

x = 34, y = 36, rule = B3/S23
6bo$4bobo$5boo3$5bo$6bo$4b3o$$bboo$bobo$3bo3$27boobo$28bob3o$28bo4bo$
29b4o$$31boo$31boo10$3o$bbo$bo$23b3o$23bo$24bo!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » May 17th, 2019, 7:39 am

45P12 (mentioned here) in 33 gliders. Everything to the left of the dotted line was already known to Shinjuku; everything to the right is new:

Code: Select all

x = 535, y = 85, rule = B3/S23
324bo$325bo$323b3o22$258bo$372bo154bo$258bo111b2o155bobo$371b2o150bo3b
2o$258bo265bo$57bo59bo224bo179b3o$56bobo57bobo139bo81bobo$47b2o8bo59bo
223b2o$47b2o190bo18bo$39bo198bo122bobo$40bo156b2o34b2o3b3o17bo18b2o55b
2o25b2o59b2o7b2o44b2o7b2o34b2o7b2o$obo35b3o8bo62b2o83bobo33bobo7bo33bo
2bo53bo2bo24bo59bo2bo3bo2bo44bo2bo3bo2bo34bo2bo3bo2bo$b2o45bobo50bo10b
2o84bo35bo7b2o14bo19b3o54b3o85b3o3b3o46b3o3b3o36b3o3b3o$bo3bobo39bo2bo
51bo92bo35bo10bobo30bo56bo87bo13bo40bo13bo30bo13bo$5b2o41b2o50b3o92b6o
30b6o21bo16b6o51b6o82b6o3b6o40b6o3b6o30b6o3b6o$6bo36b3o154bo35bo43bo
56bo87bo3bo50bo3bo40bo3bo$197b3o33b3o22bo18b3o54b3o85b3o5b3o44b3o5b3o
34b3o5b3o$48b2o147bo35bo43bo14bo41bo7b2o78bo9bo44bo9bo34bo9bo$49b2o
133b2o72bo31b2o50b2o143bobo30bobo9bobo$48bo135b2o105b2o145bo32bo16b2o
30b2o11b2o$258bo178b2o32b2o$180b3o249b2o3bobo30bobo3b2o$182bo75bo31b2o
139bobo42bobo$181bo108bobo48bo91bo42bo$258bo31bo50b2o5bo$105b3o232bobo
5bo$107bo150bo89bo$106bo265bo$342b3o26b2o$108b3o177b2o52bo28bobo$108bo
178bobo53bo$109bo179bo$368b3o$368bo$369bo$346bo$346b2o$345bobo8$90b2o$
89bobo250b2o$91bo251b2o$342bo3$363b2o$362b2o$364bo4$387b3o$147b3o237bo
$147bo240bo$148bo!
Edit: Octagon 4 improved to 20 gliders:

Code: Select all

x = 108, y = 40, rule = B3/S23
7bobo9bo$3bo3b2o8b2o70bo$4bo3bo9b2o16bo53bo$2b3o31bobo49b3o$36b2o$
92bo$82b2o7bo$38b2o42b2o7b3o5bo$37b2o60bo$39bo36b3o20bo4$101b2o$
101b2o$76bo$74bobo$38bo36b2o$37b2o32b2o$37bobo30bobo32bo$obo69bo
32bobo$b2o102b2o$bo99b2o$101bobo$101bo$75b2o$75b2o4$o77bo20b3o$b2o
75bo$2o76bo5b3o7b2o$86bo7b2o$85bo$2b2o$bobo31b3o49b3o$3bo16b2o9bo
3bo51bo$21b2o8b2o3bo51bo$20bo9bobo!
Edit 2: No wait, popseq.c on a later stage in the above synthesis gives an 18-glider one!

Code: Select all

x = 40, y = 40, rule = B3/S23
21bo$19bobo$6bo13b2o$7bo$5b3o$35bo$30bo4bobo$29bo5b2o$8bo20b3o$6bobo
13bobo$7b2o14b2o$23bo4$9b2o$10b2o$9bo$3o$2bo16b2o17bo$bo17b2o16bo$37b
3o$30bo$28b2o$29b2o4$16bo$15b2o14b2o$15bobo13bobo$8b3o20bo$3b2o5bo$2bo
bo4bo$4bo$32b3o$32bo$18b2o13bo$18bobo$18bo!
Edit 3: Martin's files include this general 11-glider way of adding Silver's p5 onto anything:

Code: Select all

x = 55, y = 37, rule = B3/S23
4bo$5bo$3b3o4$30b2o19bo$30bo20bobo$31bo19b2o$30b2o8$28bo$26b2o$27b2o2$
30b2o$30bobo$30bo16b2o$46b2o$48bo2$8bo$8b2o$3o4bobo9b3o$2bo18bo31bo$bo
13bo4bo31b2o$15b2o35bobo$14bobo$35b2o$34b2o$36bo!
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

User avatar
Freywa
Posts: 877
Joined: June 23rd, 2011, 3:20 am
Location: Singapore
Contact:

Re: Synthesising Oscillators

Post by Freywa » May 19th, 2019, 2:12 am

I have checked out and verified Martin's syntheses of at least the following new objects:
  • 101
  • Pinwheel
  • Clock 2
  • $rats
  • Silver's p5
  • p6 thumb
  • Wavefront
  • 41P7.2
  • 37P7.1
All these refer to the canonical form as given on the LifeWiki.
Princess of Science, Parcly Taxel

Code: Select all

x = 31, y = 5, rule = B2-a/S12
3bo23bo$2obo4bo13bo4bob2o$3bo4bo13bo4bo$2bo4bobo11bobo4bo$2bo25bo!

Post Reply