Still Life Synthesis Thread

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
User avatar
Goldtiger997
Posts: 762
Joined: June 21st, 2016, 8:00 am

Re: Still Life Synthesis Thread

Post by Goldtiger997 » February 19th, 2018, 4:53 am

mattiward wrote:I would like to know how this still life can be synthesized.

Code: Select all

x = 8, y = 6, rule = B3/S23
2o$obo$3bo2b2o$b2obo2bo$obob2o$bo!
There is an easy way to do this for all still lifes up to 16 bits. There is a python script (to be run in golly) written by chris_c which displays the cheapest known synthesis for all still lifes up to 16 bits. It was created after the completion of this project, and was heavily used and updated for this project.

And just in case you cannot use python and/or golly, here is the output the script gives for that still life:

Code: Select all

x = 144, y = 145, rule = B3/S23
141bo$137b2obobo$137bob2o2bo$142b2o4$41bo$39b2o$36bo3b2o$37bo$35b3o3$
32bo$30bobo$31b2o5$31b2o$32b2o$31bo4$29bo$29b2o$28bobo26$65bo$63b2o$
64b2o39$140b2o$141bo$139bo$139b2o$41bo99bo$37b2obobo96b2obo$37bob2o2bo
94bobo2bo$42b2o95bo2b2o3$7b3o$9bo$8bo$64b2o$64bobo$64bo19$81bo$80b2o$
80bobo7$b2o$obo$2bo$74b2o$73b2o$75bo!

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

Re: Still Life Synthesis Thread

Post by hkoenig » February 19th, 2018, 12:34 pm

Looks like the data is contained in

https://raw.githubusercontent.com/ceebo ... _paths.txt

What is the format for each line?

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

Re: Still Life Synthesis Thread

Post by dvgrn » February 19th, 2018, 12:57 pm

Goldtiger997 wrote:There is an easy way to do this for all still lifes up to 16 bits. There is a python script (to be run in golly) written by chris_c which displays the cheapest known synthesis for all still lifes up to 16 bits.
That script has also been integrated into Catagolue, so you can just go to the appropriate page -- once you know the apgcode for the pattern you want is 'xs16_0c9jz253056'. The Catagolue functionality came from this offline version.

To find the apgcode, and therefore the right Catagolue page, maybe the quickest way is to run biggiemac's script. Might as well copy it here:

Code: Select all

# Golly selection directly to catagolue page
# stolen shamelessly from apgsearch.  Thanks Adam!
# biggiemac, 4 February 2016
# http://www.conwaylife.com/forums/viewtopic.php?f=9&t=2032#p27202

import golly as g
import webbrowser

def bijoscar(maxsteps):

    initpop = int(g.getpop())
    initrect = g.getrect()
    if (len(initrect) == 0):
        return 0
    inithash = g.hash(initrect)

    for i in xrange(maxsteps):

        g.run(1)

        if (int(g.getpop()) == initpop):

            prect = g.getrect()
            phash = g.hash(prect)

            if (phash == inithash):

                period = i + 1

                if (prect == initrect):
                    return period
                else:
                    return -period
    return -1


def canonise():

    p = bijoscar(1000)

    representation = "#"
    for i in range(abs(p)):
        rect = g.getrect()
        representation = compare_representations(representation, canonise_orientation(rect[2], rect[3], rect[0], rect[1], 1, 0, 0, 1))
        representation = compare_representations(representation, canonise_orientation(rect[2], rect[3], rect[0]+rect[2]-1, rect[1], -1, 0, 0, 1))
        representation = compare_representations(representation, canonise_orientation(rect[2], rect[3], rect[0], rect[1]+rect[3]-1, 1, 0, 0, -1))
        representation = compare_representations(representation, canonise_orientation(rect[2], rect[3], rect[0]+rect[2]-1, rect[1]+rect[3]-1, -1, 0, 0, -1))
        representation = compare_representations(representation, canonise_orientation(rect[3], rect[2], rect[0], rect[1], 0, 1, 1, 0))
        representation = compare_representations(representation, canonise_orientation(rect[3], rect[2], rect[0]+rect[2]-1, rect[1], 0, -1, 1, 0))
        representation = compare_representations(representation, canonise_orientation(rect[3], rect[2], rect[0], rect[1]+rect[3]-1, 0, 1, -1, 0))
        representation = compare_representations(representation, canonise_orientation(rect[3], rect[2], rect[0]+rect[2]-1, rect[1]+rect[3]-1, 0, -1, -1, 0))
        g.run(1)
    
    if (p<0):
        prefix = "q"+str(abs(p))
    elif (p==1):
        prefix = "s"+str(g.getpop())
    else:
        prefix = "p"+str(p)

    rule = str.replace(g.getrule(),"/","").lower()
    
    webbrowser.open_new("http://catagolue.appspot.com/object?apgcode=x"+prefix+"_"+representation+"&rule="+rule)

# A subroutine used by canonise:
def canonise_orientation(length, breadth, ox, oy, a, b, c, d):

    representation = ""

    chars = "0123456789abcdefghijklmnopqrstuvwxyz"

    for v in xrange(int((breadth-1)/5)+1):
        zeroes = 0
        if (v != 0):
            representation += "z"
        for u in xrange(length):
            baudot = 0
            for w in xrange(5):
                x = ox + a*u + b*(5*v + w)
                y = oy + c*u + d*(5*v + w)
                baudot = (baudot >> 1) + 16*g.getcell(x, y)
            if (baudot == 0):
                zeroes += 1
            else:
                if (zeroes > 0):
                    if (zeroes == 1):
                        representation += "0"
                    elif (zeroes == 2):
                        representation += "w"
                    elif (zeroes == 3):
                        representation += "x"
                    else:
                        representation += "y"
                        representation += chars[zeroes - 4]
                zeroes = 0
                representation += chars[baudot]
    return representation

# Compares strings first by length, then by lexicographical ordering.
# A hash character is worse than anything else.
def compare_representations(a, b):

    if (a == "#"):
        return b
    elif (b == "#"):
        return a
    elif (len(a) < len(b)):
        return a
    elif (len(b) < len(a)):
        return b
    elif (a < b):
        return a
    else:
        return b

g.duplicate()
g.clear(1)
canonise()

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

Re: Still Life Synthesis Thread

Post by dvgrn » February 19th, 2018, 1:06 pm

hkoenig wrote:Looks like the data is contained in

https://raw.githubusercontent.com/ceebo ... _paths.txt

What is the format for each line?
Here's where the script that consumes min_paths.txt first showed up, with a high-level overview of the format:
chris_c wrote: The file min_paths.txt contains lines of the form <start apgcode>;<end apgcode>;<data for glider synthesis>.
If you're starting from empty space, there's a "0" instead of a start apgcode.

It takes a little digging in the Javascript to find out what the <data for glider synthesis> is -- an initial phase (usually 0, or sometimes 1 for recipes with intermediate p2 objects) followed by semicolon-delimited lists of {lane1, delay1, lane2, delay2, ...} for each of the four directions that gliders may come from, in NE, SE, SW, NW order.

-- I think that's right, but don't take my word for it -- I'm just going on the contents of string_to_edge():

Code: Select all

function string_to_edge(s) {

    var edge = new Object();
    var sp = s.split(";");

    edge.input_code = sp[0];
    edge.output_code = sp[1];
    edge.phase = parseInt(sp[2]);
    edge.gs_ne = to_int_array(sp[3]);
    edge.gs_se = to_int_array(sp[4]);
    edge.gs_sw = to_int_array(sp[5]);
    edge.gs_nw = to_int_array(sp[6]);
    edge.transform = to_int_array(sp[7]);
    edge.cost = (edge.gs_ne.length + edge.gs_se.length 
                 + edge.gs_sw.length + edge.gs_nw.length) / 2;
    
    return edge;

}
I don't know yet how to figure out the zero lane, or zero timing for a given lane, relative to a given starting object. It's all there in display_synth.js, but digging it out would take some more work, or maybe some help from chris_c.

mattiward
Posts: 36
Joined: February 8th, 2018, 3:19 am

Re: Still Life Synthesis Thread

Post by mattiward » February 19th, 2018, 11:46 pm

Goldtiger997 wrote:
mattiward wrote:I would like to know how this still life can be synthesized.

Code: Select all

x = 8, y = 6, rule = B3/S23
2o$obo$3bo2b2o$b2obo2bo$obob2o$bo!
There is an easy way to do this for all still lifes up to 16 bits. There is a python script (to be run in golly) written by chris_c which displays the cheapest known synthesis for all still lifes up to 16 bits. It was created after the completion of this project, and was heavily used and updated for this project.

And just in case you cannot use python and/or golly, here is the output the script gives for that still life:

Code: Select all

x = 144, y = 145, rule = B3/S23
141bo$137b2obobo$137bob2o2bo$142b2o4$41bo$39b2o$36bo3b2o$37bo$35b3o3$
32bo$30bobo$31b2o5$31b2o$32b2o$31bo4$29bo$29b2o$28bobo26$65bo$63b2o$
64b2o39$140b2o$141bo$139bo$139b2o$41bo99bo$37b2obobo96b2obo$37bob2o2bo
94bobo2bo$42b2o95bo2b2o3$7b3o$9bo$8bo$64b2o$64bobo$64bo19$81bo$80b2o$
80bobo7$b2o$obo$2bo$74b2o$73b2o$75bo!
If this still life can be synthesized, can this oscillator be as well?

Code: Select all

x = 53, y = 53, rule = B3/S23
19b2o$19bobo$22bo2b2o$20b2obo2bo$19bobob2o$20bo4$22b2o$21bo2bo$21bobo$
21bobo$16b2o4bo$15bobo18bo$15bo20b3o$14b2o23bo$38b2o$19bobo$19b2o12b2o
13bo2b2o$20bo11b2o13bobo2bo$34bo5b3o5b2obo$39bo3bo6bo$40b2obo4b2o$42bo
5bo$50bo$2b2o45b2o$2bo$4bo5bo$3b2o4bob2o$2bo6bo3bo$bob2o5b3o5bo$o2bobo
13b2o11bo$2o2bo13b2o12b2o$31bobo$13b2o$13bo23b2o$14b3o20bo$16bo18bobo$
30bo4b2o$29bobo$29bobo$28bo2bo$29b2o4$32bo$28b2obobo$26bo2bob2o$26b2o
2bo$31bobo$32b2o!

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

Re: Still Life Synthesis Thread

Post by mniemiec » February 20th, 2018, 5:21 am

mattiward wrote:If this still life can be synthesized, can this oscillator be as well? ...
It should be possible. The base still-life can be done in two steps, and the second most vital step has the gliders approaching from the outside, which should make that step easy. The first step doesn't seem as convenient, but that still life can also be made in other ways. Probably the toughest part would be to simultaneously inject the honeyfarm predecessors and the cycling gliders, although it might be possible to do that one quadrant at a time - i.e. insert one honeyfarm and its approaching glider, and after 26 generations, insert the next honeyfarm and re-insert the first glider, etc. Since the gliders could be traced back to infinity, they could all approach on the same lane, so only the honeyfarms would need to be specifically injected, and it seems like those would be fairly easy to do.

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

Re: Still Life Synthesis Thread

Post by Kazyan » February 21st, 2018, 7:08 pm

Here's an answer for that, though it requires one of the catalysts to be the higher-clearance version:

Code: Select all

x = 64, y = 73, rule = B3/S23
53bo$52bo$52b3o$30b2o$30bobo$33bo2b2o$31b2obo2bo$30bobob2o$31bo3$2bo$
3bo4bo23b2o$b3o2bobo22bo2bo$7b2o23b2o2$27b2o$26bobo5b3o10bo$14bo11bo
20b3o$15bo9b2o23bo$13b3o33b2o2$59bo2b2o$53bo4bobo2bo$52bobo4b2obo$21bo
30bobo6bo$19bobo27bo3bo5b2o$20b2o27bo9bo$49bo11bo$60b2o$12b2o$12bo2bo
11bo$14b2o12bo$10b4o12b3o$10bo3b2o$11bo2bobo$10b2o3bo5b2o$21b2o$57b3o$
48b2o7bo$48bo9bo$46bobo$41bo4b2o$39bobo$40b2o3$40b2o$26b2o12b2o$25bo2b
o$25bo2bo14bo$26b2o11b2obobo$37bo2bob2o$37b2o2bo$42bobo$43b2o6$bo$b2o$
obo7$45b2o$45bobo$45bo!
EDIT: This catalyst also works, and is 18-cell, so it has a synthesis somewhere.

Code: Select all

x = 8, y = 7, rule = B3/S23
3b2o$3bo2bo$b2o2b2o$o2b2o$2o3b2o$5bobo$6bo!
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

mattiward
Posts: 36
Joined: February 8th, 2018, 3:19 am

Re: Still Life Synthesis Thread

Post by mattiward » February 24th, 2018, 4:46 am

Can anyone find a solution for the bottom conversion?

Code: Select all

x = 47, y = 38, rule = LifeHistory
12.A.A26.4B$12.2A27.4B$13.A27.5B$40.7B$14.2A23.7B$2A.2A9.A.A13.2A.2A
4.8B$A3.A9.A15.A3.A3.5B.2B$.3A27.3A3.6B$12.A23.7B$A.4A5.2A17.A.2A4B.
5B$2A.A2.A4.A.A16.2A.A.3B3.3B$5.2A28.3B.B$37.4B$37.5B$39.4B$13.A26.4B
$12.2A27.4B$12.A.A27.3B7$17.3D$16.D3.D$20.D$19.D$18.D$3.2A13.D14.2A$
2.A.A27.A.A$.A2.A.2E10.D5.D6.A2.A.2E$A3.A.2E17.D4.A3.A.2E$.3A7.16D4.
3A$25.D$A.4A18.D5.A.2A$2A.A2.A23.2A.A$5.2A!
The method shown on top will not work.

User avatar
BlinkerSpawn
Posts: 1992
Joined: November 8th, 2014, 8:48 pm
Location: Getting a snacker from R-Bee's

Re: Still Life Synthesis Thread

Post by BlinkerSpawn » February 24th, 2018, 4:22 pm

mattiward wrote:Can anyone find a solution for the bottom conversion?

Code: Select all

x = 47, y = 38, rule = LifeHistory
12.A.A26.4B$12.2A27.4B$13.A27.5B$40.7B$14.2A23.7B$2A.2A9.A.A13.2A.2A
4.8B$A3.A9.A15.A3.A3.5B.2B$.3A27.3A3.6B$12.A23.7B$A.4A5.2A17.A.2A4B.
5B$2A.A2.A4.A.A16.2A.A.3B3.3B$5.2A28.3B.B$37.4B$37.5B$39.4B$13.A26.4B
$12.2A27.4B$12.A.A27.3B7$17.3D$16.D3.D$20.D$19.D$18.D$3.2A13.D14.2A$
2.A.A27.A.A$.A2.A.2E10.D5.D6.A2.A.2E$A3.A.2E17.D4.A3.A.2E$.3A7.16D4.
3A$25.D$A.4A18.D5.A.2A$2A.A2.A23.2A.A$5.2A!
The method shown on top will not work.
Shift the block to the top, use the old converter, and then shift it back.
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

Image

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

Re: Still Life Synthesis Thread

Post by mniemiec » February 24th, 2018, 5:27 pm

mattiward wrote:Can anyone find a solution for the bottom conversion? ... The method shown on top will not work.
BlinkerSpawn wrote:Shift the block to the top, use the old converter, and then shift it back.
I had thought of that, but it's easier said than done. Moving the block up typically requires pushing it from below, which interferes with the bookend.

mattiward
Posts: 36
Joined: February 8th, 2018, 3:19 am

Re: Still Life Synthesis Thread

Post by mattiward » February 25th, 2018, 6:42 am

I synthesized this 17-bit still life with 27 gliders.

Code: Select all

x = 174, y = 31, rule = B3/S23
134bobo$11bo123b2o13bo$9bobo123bo12b2o$10b2o137b2o$94bo$17bobo72bobo
31bo$6bo10b2o43bo30b2o3bo28bo$7bo10bo44bo32b2o27b3o$5b3o27bobo23b3o33b
2o$2bo28bo3b2o54bo32bo$obo29b2o2bo54b2o31b2o41b2o$b2ob2o8bo16b2o33b2o
22bobo30bobo3b2o7b2o27bobo$4bobo7bobo21b2o2bo17bo5bobo3bo24b2o3bo25bob
o8bo2bo26bo2bo$4bo9b2o22bo2bobo14bobo8bobobo23bobobobo26bo8bobobo25bob
obo$40b2obo15b2o9b2obo26b2obo36b2obo26b2obo$obo10bo28bo19b2o8bo29bo39b
o29bo$b2o9b2o3b2o20bobo21b2o4bobo20b2o5bobo37bobo27bobo$bo10bobo2bobo
19b2o21bo6b2o20bobo5b2o38b2o28b2o$17bo75bo2$5bo$5b2o9b2o$4bobo9bobo$
16bo2$11bo$11b2o$10bobo$b2o$2b2o$bo!
Any improvements?

User avatar
BlinkerSpawn
Posts: 1992
Joined: November 8th, 2014, 8:48 pm
Location: Getting a snacker from R-Bee's

Re: Still Life Synthesis Thread

Post by BlinkerSpawn » February 25th, 2018, 10:25 am

mattiward wrote:I synthesized this 17-bit still life with 27 gliders.

Code: Select all

rle
Any improvements?
The penultimate SL is 15-bit, and all 15-bit SLs can be made with at most 15 gliders so the best solution is at most 20.
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

Image

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Still Life Synthesis Thread

Post by AforAmpere » February 25th, 2018, 10:42 am

It might be cheaper than that:

Code: Select all

x = 16, y = 28, rule = B3/S23
7$6bo$6b2o$6b2o$3b3o$3b3o2$9b2o$9bo2bo$8bo2bo$8b3o$9bo5$10b2o$9bo2bo$
10b2o!
If someone can synthesize the middle spark in less than 16 gliders, that is. This leads to the middle spark as well:

Code: Select all

x = 11, y = 9, rule = B3/S23
2$5b2o2$4b2o$3b2o$2b2o!
EDIT, at most 18 using the 15-bit still life way:

Code: Select all

x = 337, y = 84, rule = B3/S23
11$79bo$80bo2bobo$78b3o3b2o$84bo5$188bo$186bobo$187b2o2$82bo$83b2o$82b
2o$242bo$243bo$241b3o$10bo$11b2o100bo$10b2o100bobo89b2o6b2o45b2o45b2o$
112bo2bo87bobo5bobo44bobo44bobo$113b2o88b2o5bo46bo46bo$211b2o45b2o43bo
b2o$15bo178b2o13bobobo42bobobo42bobobo8bo$14b2o178b2o13b2o2bo42b2o2bo
43bo2bo8bobo$14bobo188b2o6b2o45b2o45b2o7b2o3bobo$205b2o114b2o$322bo2$
201bo117b3o$201bo117bo$201bo118bo2$296b2o$297b2o12bo$86b2o156b2o50bo
13b2o$87b2o154bobo64bobo$86bo103bo54bo$92b3o23b2o70b2o$94bo23bobo68bob
o$93bo24bo12$145b2o$144b2o$146bo!
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Still Life Synthesis Thread

Post by Extrementhusiast » February 25th, 2018, 9:16 pm

mattiward wrote:Can anyone find a solution for the bottom conversion?

Code: Select all

RLE
The method shown on top will not work.
I had solved this exact problem before:

Code: Select all

x = 92, y = 19, rule = B3/S23
10bo$8bobo$9b2o57bo$12bo53b2o$3b2o7bobo14b2o6b2o19b2o7b2o18b2o$2bobo7b
2o14bobo5bo2bo17bobo2bo23bobo$bo2bob2o19bo2bob2o3b2o17bo2bobobo21bo2bo
b2o$o3bob2o18bo3bob2o8bo12bo3bobo2bo19bo3bob2o$b3o23b3o12bobo11b3o3b2o
21b3o$38b2o2b2o$ob4o20bob4o6bobo14bob4o4bobo4bo11bob2o$2obo2bo19b2obo
2bo5bo16b2obo2bo3b2o4b2o11b2obo$5b2o24b2o27b2o4bo4bobo2$66b2o$57b2o6b
2o$58b2o2bo4bo$57bo3b2o$61bobo!
I Like My Heisenburps! (and others)

mattiward
Posts: 36
Joined: February 8th, 2018, 3:19 am

Re: Still Life Synthesis Thread

Post by mattiward » March 10th, 2018, 2:03 am

Is there any way of synthesizing this still life?

Code: Select all

x = 9, y = 11, rule = B3/S23
3b2o$3bo$2obo$bob2o$bo2bo$2obo3b2o$o2bobo2bo$b2o2b2o$2bobo$2bobo$3bo!

User avatar
PHPBB12345
Posts: 1096
Joined: August 5th, 2015, 11:55 pm
Contact:

Re: Still Life Synthesis Thread

Post by PHPBB12345 » March 11th, 2018, 7:29 pm

Is there any way of synthesizing this 20-bit and 50-bit still life?

Code: Select all

x = 7, y = 7, rule = B3/S23
obo$2obo$3bo2bo$3ob3o$o2bo$3bob2o$4bobo!

Code: Select all

x = 13, y = 13, rule = B3/S23
7bo$6bobob2o$6bobob2o$5b2obo$6bob4o$3bo2bo5bo$b5ob5o$o5bo2bo$b4obo$4bo
b2o$b2obobo$b2obobo$5bo!

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

Re: Still Life Synthesis Thread

Post by mniemiec » March 12th, 2018, 3:31 am

PHPBB12345 wrote:Is there any way of synthesizing this 20-bit and 50-bit still life? ...
The first (20.22408) can easily be made with 18 gliders:

Code: Select all

x = 182, y = 25, rule = B3/S23
45bo$45bobo$45boo44bo$o40bo47bobo$boo39boo46boo$oo39boo52bo$93boo42bo$
94boo39bobo$136boo$6bo20bo13bo5bo17bobo17bobo27bobo27bobo27bobo$5bo20b
obo10bobo4bobo9bo6boobo9bo6boobo19bo6boobo19bo6boobo26boobo$5b3o17bobb
o7boobboo3bobbo9bo9bo9bo9bo10bo8bo9bobbo16bo9bobbo26bobbo$26booboo4bob
o8booboo7bo6b3oboo7bo6b3oboo8bobo6bo6b3ob3o6bo9bo6b3ob3o6bo16b3ob3o$8b
o19bobbo5bo10bobbo13bobbobbo13bobbobbo3boobboo14bobbo9bo16bobbo9bo16bo
bbo$7boo19bobo17bobo17bobo17bobo4bobo20boboo6bo19boboo6bo19boboo$7bobo
19bo19bo19bo19bo5bo23bobo27bobo27bobo$159boo$41boo116bobo$16bo25boo
115bo$15boo24bo52boo$15bobo27boo46boo$45bobo47bo$45bo44boo$89bobo$91bo
!

User avatar
PHPBB12345
Posts: 1096
Joined: August 5th, 2015, 11:55 pm
Contact:

Re: Still Life Synthesis Thread

Post by PHPBB12345 » March 12th, 2018, 9:48 pm

How to synthesizing these still lives?

Code: Select all

x = 19, y = 10, rule = B3/S23
2bo9bo$bobo7bobo$bobo7bobo$2ob2o5b2ob2o$2bo9bo2bo$2bo9bo2b3o$2ob2o8b2o
3bo$bobo11b3o$bobo11bo$2bo!
Last edited by PHPBB12345 on March 12th, 2018, 11:02 pm, edited 1 time in total.

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

Re: Still Life Synthesis Thread

Post by Kazyan » March 12th, 2018, 10:54 pm

The second still life can be made with some variation on this:

Code: Select all

x = 21, y = 21, rule = B3/S23
obo$b2o$bo10bo$11bobo$11bobo$5bo4b2ob2o$6b2o7bo$5b2o8b3o$11b2o5bo$10bo
bo2b3o$9bobo3bo$4b3obobo$6bo2bo$5bo8bo$8b2o3b2o$7bobo3bobo$9bo2$19b2o$
18b2o$20bo!
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Still Life Synthesis Thread

Post by Extrementhusiast » March 25th, 2018, 1:56 am

Construct inducting shillelagh on a generic row of five:

Code: Select all

x = 263, y = 26, rule = B3/S23
28bo$26bobo$27b2o$44bo169bo$42b2o168bobo$43b2o24bo143b2o23bo$34bobo30b
obo36bo125bo5bobo$34b2o32b2o36bobo121bobo5b2o$bo25bo7bo28bo41b2o31bo
91b2o$2bo24bobo35bo65bo5b2o74bo$3o24b2o34b3o14bo24bo25bobo4b2o71bobo
18bo9bo$79bo26b2obobo19b2o79b2o17bo8b2o$33b2o44b3o23b2o2b2o73b3o44b3o
7b2o$14bo17b2o76bo18bo29b2o25bo2b2ob2o27b2ob2o$15bo18bo5bobo30bo8b2o
46bo5bo18b2o2bobo23bo2bobobobo17bo8b2obobo$13b3o24b2o3b3o24bobo7bobo
21b2o20b3o4bobo18b2o3bo27bo4bo18b2o11bo$25bo15bo3bo27b2o7bo23b2o27b2o
18bo5b2o31b2o16b2o12b2o$23b2o21bo$17bobo4b2o13b2o30b4o31b4o17b3o5b4o
22b4o29b4o28b4o$18b2o11b2o5b2o20bo9bo4bo29bo4bo18bo4bo4bo20bo4bo27bo4b
o26bo4bo28b2o$18bo12bobo6bo19b2o8bob2obo29bob2obo17bo5bob2obo20bob2obo
27bob2obo26bob2obo25b2o2bo$32bo26bobo9bob2o31bob2o25bob2o22bob2o29bob
2o18b3o7bob2o8b2o16bob2o$218bo18b2o$30b5o37b5o30b5o24b5o21b5o28b5o17bo
9b5o7bo17b5o$29bo2bo2bo35bo2bo2bo28bo2bo2bo22bo2bo2bo19bo2bo2bo26bo2bo
2bo25bo2bo2bo23bo2bo2bo$29b2o3b2o35b2o3b2o28b2o3b2o22b2o3b2o19b2o3b2o
26b2o3b2o25b2o3b2o23b2o3b2o!
A similar procedure on a generic row of three took a lot more finagling:

Code: Select all

x = 259, y = 57, rule = B3/S23
201bo23bo$172bo28bobo21bobo$173bo27b2o22b2o$171b3o6$165bo29bo19bo$166b
o28bobo16bo$164b3o28b2o17b3o2$168bo$169b2o36bo$27bo140b2o35b2o$26bo
179b2o$26b3o2$14bo$15bo$13b3o193bo$88bo100bo19bobo$16bobo62bo6bobo21bo
53bobo18bobo19b2o$16b2o64bo5b2o21bo55b2o11bobo5b2o$2bo14bo62b3o28b3o
53bo13b2o$obo9bo74bo7bo21bo63bo8bo$b2o10b2o34bobo33bobo6bo13bobo6bobo
68b2o36b2o$12b2o33bobobobo32b2o6b3o12b2o6b2o70b2o34b4o$48b2ob2o56bo35b
2o77b2ob2o$143b2ob2o34bo42b2o$50bo62b2o28b4o35b2o$21bo27bobo32b2o28bo
29b2o35bobo3b2o$21bobo26bobo31bobo26bo74bo$9b2ob2o7b2o29bo33bo25bo74bo
69b2o$9bo3bo38bobob2o28bobob2o20bobob2o69bobob2o61b2o2bo$10b3o12bo27b
3obo29b3obo21b3obo70b3obo61bob2o$23b2o152bo$8b3o13b2o25b3o31b3o23b3o
61bobo8b3o66b3o$7bo3bo38bo3bo29bo3bo21bo3bo61b2o7bo3bo64bo3bo$7b2ob2o
38b2ob2o29b2ob2o21b2ob2o58b2o10b2ob2o64b2ob2o$172bobo$174bo2$22b2o$22b
obo192b3o$22bo194bo$218bo3$211b2o$211bobo$160b3o48bo$162bo$161bo20b2o$
181bobo$183bo!
(The last step is really two steps rolled up into one; it just so happens that an excess glider from the first part of that step can be reflected and used again in the second part, saving an extra glider.)

Of course, there are much cheaper methods for certain types of induction coil:

Code: Select all

x = 28, y = 22, rule = B3/S23
9bo$8bo$bo6b3o$2bo$3o2$3bo$3b2o$2bobo$8b2ob2o13b2o$8bo3bo10b2o2bo$9b3o
11bob2o2$9b2obo11b2obo$2b3o4bob2o11bob2o$4bo$3bo2$7b2o$bo5bobo$b2o4bo$
obo!
I Like My Heisenburps! (and others)

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

Re: Still Life Synthesis Thread

Post by mniemiec » March 25th, 2018, 8:17 am

Extrementhusiast wrote:Construct inducting shillelagh on a generic row of five: ... A similar procedure on a generic row of three took a lot more finagling: ... Of course, there are much cheaper methods for certain types of induction coil: ...
Impressive! These solve around 1/300 of unknown still-lifes up to 24 bits, which is fairly significant compared to most specialized converters. They also solve some pseudo-still-lifes from 23-34 bits, and 2 21-bit P2 oscillators.

User avatar
Billabob
Posts: 158
Joined: April 2nd, 2015, 5:28 pm

Re: Still Life Synthesis Thread

Post by Billabob » April 10th, 2018, 8:22 am

Super loaf in 10 gliders:

Code: Select all

x = 31, y = 31, rule = Life
20bo$20bobo$11bo8b2o$12b2o$11b2o3$9bo$8bobo$7bo2bo$8b2o$2bobo$3b2o$3bo
14bo$17b2o$17bobo$29b2o$14b2o12b2o$13b2o15bo$15bo$3o$2bo$bo6$17bo$16b
2o$16bobo!
Used to take 30.
▄▀
▀▀▀

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Still Life Synthesis Thread

Post by AforAmpere » April 14th, 2018, 3:32 pm

This still life (16.1412) should be able to be done in less than 15 gliders:

Code: Select all

x = 17, y = 17, rule = B3/S23
14b2o$13bo2bo$13bo2bo$8b2o2bo3bo$8b2o2bo3bo$13bobo$14bo2$3b2o3b2o$3b2o
3b2o3$3b2o$b2o2bo$o5bo$o4bo$b4o!
If someone can figure out a 2-sided synthesis of that spark, in under 6 gliders, it can be constructed in under 15, as the base 3 blocks can be made in 3:

Code: Select all

x = 20, y = 27, rule = B3/S23
18bo$19bo$17b3o3$17b2o$18b2o$17bo17$bo$b2o$obo!
EDIT, 13 gliders:

Code: Select all

x = 122, y = 75, rule = B3/S23
119bo$118bo$118b3o$96bo$95bo$95b3o15$56bo$54bobo$55b2o7$59bo$60bo6b3o$
58b3o6bo$68bo2$32b2o$31b2o$bo31bo35b2o$2bo17b2o6bo22b2o16bobo$3o17bobo
5b2o21bobo15bo$21b2o4bobo22b2o10bo$57b2o4bobo$31b2o23bo2bo3bobo$b3o2bo
23b2o25b2o5bo$3bo2bobo23bo$2bo3b2o28$97b3o$97bo$98bo!
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Still Life Synthesis Thread

Post by Extrementhusiast » July 10th, 2018, 11:18 pm

Trans blocks on mangled grate down to eighteen gliders:

Code: Select all

x = 30, y = 33, rule = B3/S23
14bo$14bobo$14b2o2$6bo14bo$7b2o10b2o$6b2o12b2o$25bo$24bo$24b3o$11b2o$
12b2o$3bobo5bo7b2o7bo$4b2o9bo2b2o7bo$4bo10b2o3bo6b3o$14bobo3$3o7b2o13b
o$2bo6bobo12b2o$bo9bo12bobo3$3b3o9b2o$5bo9b2o$4bo$8b2o12b2o$9b2o10b2o$
8bo14bo2$14b2o$13bobo$15bo!
(As a clerical note, I use the term grate to refer to the symmetrical methuselah formed by the first three gliders, not the two-sided induction coil, hence the term mangled grate, as the latter comes from a slight modification in the early evolution of the former.)
I Like My Heisenburps! (and others)

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: Still Life Synthesis Thread

Post by 77topaz » July 11th, 2018, 1:30 am

So this is the "grate", right?

Code: Select all

x = 6, y = 5, rule = B3/S23
b3o$ob3o$o4bo$b3obo$2b3o!

Post Reply