Random posts

A forum where anything goes. Introduce yourselves to other members of the forums, discuss how your name evolves when written out in the Game of Life, or just tell us how you found it. This is the forum for "non-academic" content.
Locked
AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Random posts

Post by AforAmpere » February 11th, 2018, 7:32 pm

Saka wrote:I thought that this thread was unsinkable
It has only been 6 days.
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
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Titanus is unsinkkkfcabIe!

Post by Saka » February 12th, 2018, 10:09 am

I have a function.
f(1) = 1
f(2) = 1
f(3) = 1
f(4 + 5) = 4
f(f(4) + f(5)) = 2
What is the function and what are
f(25)
f(23 - 11)
f(f(50) + f(21))

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

Re: Titanus is unsinkkkfcabIe!

Post by PHPBB12345 » February 12th, 2018, 10:31 am

Saka wrote:I have a function.
f(1) = 1
f(2) = 1
f(3) = 1
f(4 + 5) = 4
f(f(4) + f(5)) = 2
What is the function and what are
f(25)
f(23 - 11)
f(f(50) + f(21))
f(1) = 1
f(2) = 1
f(3) = 1
f(4) = 2
f(5) = 4
f(6) = 2
f(9) = 4

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

Re: Titanus is unsinkkkfcabIe!

Post by 77topaz » February 12th, 2018, 4:12 pm

PHPBB12345 wrote:f(1) = 1
f(2) = 1
f(3) = 1
f(4) = 2
f(5) = 4
f(6) = 2
f(9) = 4
f(1), f(2), f(3) and f(9) are the only ones that are actually known. Your guesses for f(4), f(5) and f(6) are just that, guesses, because we don't have enough information to determine them exactly, as "f(f(4) + f(5)) = 2" is one equation with three unknowns (f(4), f(5) and f(whatever f(4) + f(5) is)).

Because of how limited the information Saka gave about the function is, I think we are supposed to guess it as a "well-known" function.

Gamedziner
Posts: 795
Joined: May 30th, 2016, 8:47 pm
Location: Milky Way Galaxy: Planet Earth

Re: (Function)

Post by Gamedziner » February 12th, 2018, 6:56 pm

Saka wrote:I have a function.
f(1) = 1
f(2) = 1
f(3) = 1
f(4 + 5) = 4
f(f(4) + f(5)) = 2
What is the function and what are
f(25)
f(23 - 11)
f(f(50) + f(21))
There are infinitely many functions possible.

Code: Select all

x = 81, y = 96, rule = LifeHistory
58.2A$58.2A3$59.2A17.2A$59.2A17.2A3$79.2A$79.2A2$57.A$56.A$56.3A4$27.
A$27.A.A$27.2A21$3.2A$3.2A2.2A$7.2A18$7.2A$7.2A2.2A$11.2A11$2A$2A2.2A
$4.2A18$4.2A$4.2A2.2A$8.2A!

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Random posts

Post by Saka » February 12th, 2018, 7:17 pm

Yes it is probably impossible. It's the number of "sharp edges" in the number/equation without doing the equation unless there are more of the function in the equation.

Whatever,let's carion.
bjhwxy.com

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

Re: Random posts

Post by AforAmpere » February 12th, 2018, 9:29 pm

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
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: Random posts

Post by KittyTac » February 13th, 2018, 9:20 am

QM37VoM.png
QM37VoM.png (2.01 KiB) Viewed 195 times
I couldn't resist.

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

We walk in circles

Post by Saka » February 13th, 2018, 10:04 am

Can't you stop what's happening?

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: Random posts

Post by KittyTac » February 13th, 2018, 10:17 am

Stop what? It's just a pun.

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: Random posts

Post by KittyTac » February 14th, 2018, 8:00 am

I have a new avatar!

72c20e
Posts: 62
Joined: June 10th, 2016, 5:52 am

Re: Random posts

Post by 72c20e » February 14th, 2018, 8:12 am

i've not been here for half a year. are p19s discovered yet?

Code: Select all

x = 15, y = 36, rule = B38/S23-
bo$2bo$3o14$13bo$12bo$12b3o2$11bo$12bo$10b3o4$12b3o$12bo$13bo2$10bo$8b
obo$9b2o$6b2o$5bobo$7bo!

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: Random posts

Post by KittyTac » February 14th, 2018, 8:16 am

72c20e wrote:i've not been here for half a year. are p19s discovered yet?
Nope.

Gamedziner
Posts: 795
Joined: May 30th, 2016, 8:47 pm
Location: Milky Way Galaxy: Planet Earth

Re: Random posts

Post by Gamedziner » February 15th, 2018, 8:59 am

Copperhead minimum rule:

Code: Select all

x = 8, y = 12, rule = B3-ceky/S23-ci
 b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o!
(Yes, copperhead requires ALL s2 transitions.)

Code: Select all

x = 81, y = 96, rule = LifeHistory
58.2A$58.2A3$59.2A17.2A$59.2A17.2A3$79.2A$79.2A2$57.A$56.A$56.3A4$27.
A$27.A.A$27.2A21$3.2A$3.2A2.2A$7.2A18$7.2A$7.2A2.2A$11.2A11$2A$2A2.2A
$4.2A18$4.2A$4.2A2.2A$8.2A!

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: Random posts

Post by KittyTac » February 15th, 2018, 9:53 am

Gamedziner wrote:Copperhead minimum rule:

Code: Select all

x = 8, y = 12, rule = B3-ceky/S23-ci
 b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o!
(Yes, copperhead requires ALL s2 transitions.)
Should you post that in Miscellaneous Discoveries?

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Random posts

Post by Saka » February 15th, 2018, 9:54 am

KittyTac wrote: Should you post that in Miscellaneous Discoveries?
The minimal rule for any given pattern in any NT or totalistic rule can be easily found using the script.

Gamedziner
Posts: 795
Joined: May 30th, 2016, 8:47 pm
Location: Milky Way Galaxy: Planet Earth

Re: Re: Re:Re: Re: Re:Re: Re: Re: Random posts

Post by Gamedziner » February 15th, 2018, 6:17 pm

Saka wrote: The minimal rule for any given pattern in any NT or totalistic rule can be easily found using the script.
Script?

Code: Select all

x = 81, y = 96, rule = LifeHistory
58.2A$58.2A3$59.2A17.2A$59.2A17.2A3$79.2A$79.2A2$57.A$56.A$56.3A4$27.
A$27.A.A$27.2A21$3.2A$3.2A2.2A$7.2A18$7.2A$7.2A2.2A$11.2A11$2A$2A2.2A
$4.2A18$4.2A$4.2A2.2A$8.2A!

User avatar
Rhombic
Posts: 1072
Joined: June 1st, 2013, 5:41 pm

Re: Re: Re:Re: Re: Re:Re: Re: Re: Random posts

Post by Rhombic » February 16th, 2018, 7:40 pm

Gamedziner wrote:
Saka wrote: The minimal rule for any given pattern in any NT or totalistic rule can be easily found using the script.
Script?

Code: Select all


import golly as g
from glife import validint
from string import replace

Hensel = [
    ['0'],
    ['1c', '1e'],
    ['2a', '2c', '2e', '2i', '2k', '2n'],
    ['3a', '3c', '3e', '3i', '3j', '3k', '3n', '3q', '3r', '3y'],
    ['4a', '4c', '4e', '4i', '4j', '4k', '4n', '4q', '4r', '4t', '4w', '4y', '4z'],
    ['5a', '5c', '5e', '5i', '5j', '5k', '5n', '5q', '5r', '5y'],
    ['6a', '6c', '6e', '6i', '6k', '6n'],
    ['7c', '7e'],
    ['8']
]

# Python versions < 2.4 don't have "sorted" built-in
try:
    sorted
except NameError:
    def sorted(inlist):
        outlist = list(inlist)
        outlist.sort()
        return outlist

# --------------------------------------------------------------------

def chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i+n]

# --------------------------------------------------------------------

def rulestringopt(a):
    result = ''
    context = ''
    lastnum = ''
    lastcontext = ''
    for i in a:
        if i in 'BS':
            context = i
            result += i
        elif i in '012345678':
            if (i == lastnum) and (lastcontext == context):
                pass
            else:
                lastcontext = context
                lastnum = i
                result += i
        else:
            result += i
    result = replace(result, '4aceijknqrtwyz', '4')
    result = replace(result, '3aceijknqry', '3')
    result = replace(result, '5aceijknqry', '5')
    result = replace(result, '2aceikn', '2')
    result = replace(result, '6aceikn', '6')
    result = replace(result, '1ce', '1')
    result = replace(result, '7ce', '7')
    return result

clist = []
rule = g.getrule().split(':')[0]

fuzzer = rule + '9'
oldrule = rule
rule = ''
context = ''
deletefrom = []
for i in fuzzer:
    if i == '-':
        deletefrom = [x[1] for x in Hensel[int(context)]]
    elif i in '0123456789/S':
        if deletefrom:
            rule += ''.join(deletefrom)
            deletefrom = []
        context = i
    if len(deletefrom) == 0:
        rule += i
    elif i in deletefrom:
        deletefrom.remove(i)
rule = rule.strip('9')

if not (rule[0] == 'B' and '/S' in rule):
    g.exit('Please set Golly to a Life-like rule.')

if g.empty():
    g.exit('The pattern is empty.')

s = g.getstring('Enter the period:', '', 'Rules calculator')
if not validint(s):
    g.exit('Bad number: %s' % s)

numsteps = int(s)
if numsteps < 1:
    g.exit('Period must be at least 1.')

g.select(g.getrect())
g.copy()
s = int(s)

for i in range(0,s):
    g.run(1)
    clist.append(list(chunks(g.getcells(g.getrect()), 2)))
    mcc = min(clist[i])
    clist[i] = [[x[0] - mcc[0], x[1] - mcc[1]] for x in clist[i]]

g.show('Processing...')

ruleArr = rule.split('/')
ruleArr[0] = ruleArr[0].lstrip('B')
ruleArr[1] = ruleArr[1].lstrip('S')

b_need = []
b_OK = []
s_need = []
s_OK = []

context = ''
fuzzed = ruleArr[0] + '9'
for i in fuzzed:
    if i in '0123456789':
        if len(context) == 1:
            b_need += Hensel[int(context)]
            b_OK += Hensel[int(context)]
        context = i
    elif context != '':
        b_need.append(context[0] + i)
        b_OK.append(context[0] + i)
        context += context[0]
context = ''
fuzzed = ruleArr[1] + '9'
for i in fuzzed:
    if i in '0123456789':
        if len(context) == 1:
            s_need += Hensel[int(context)]
            s_OK += Hensel[int(context)]
        context = i
    elif context != '':
        s_need.append(context[0] + i)
        s_OK.append(context[0] + i)
        context += context[0]

for i in [iter2 for iter1 in Hensel for iter2 in iter1]:
    if not i in b_OK:
        b_OK.append(i)
        execfor = 1
        # B0 and nontotalistic rulestrings are mutually exclusive
        try:
            g.setrule(rulestringopt('B' + ''.join(b_OK) + '/S' + ruleArr[1]))
        except:
            b_OK.remove(i)
            execfor = 0
        for j in range(0, s * execfor):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    b_OK.remove(i)
                    break
            except:
                b_OK.remove(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        b_OK.sort()

    if not i in s_OK:
        s_OK.append(i)
        execfor = 1
        # B0 and nontotalistic rulestrings are mutually exclusive
        try:
            g.setrule(rulestringopt('B' + ruleArr[0] + '/S' + ''.join(s_OK)))
        except:
            s_OK.remove(i)
            execfor = 0
        for j in range(0, s * execfor):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    s_OK.remove(i)
                    break
            except:
                s_OK.remove(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        s_OK.sort()

    if i in b_need:
        b_need.remove(i)
        g.setrule(rulestringopt('B' + ''.join(b_need) + '/S' + ruleArr[1]))
        for j in range(0, s):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    b_need.append(i)
                    break
            except:
                b_need.append(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        b_need.sort()

    if i in s_need:
        s_need.remove(i)
        g.setrule(rulestringopt('B' + ruleArr[0] + '/S' + ''.join(s_need)))
        for j in range(0, s):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    s_need.append(i)
                    break
            except:
                s_need.append(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        s_need.sort()

g.setrule(oldrule)
ruleres = 'B' + ''.join(sorted(b_need)) + '/S' + ''.join(sorted(s_need))
ruleres = rulestringopt(ruleres)
g.setrule(ruleres)
SoL : FreeElectronics : DeadlyEnemies : 6a-ite : Rule X3VI
what is “sesame oil”?

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: Re: Re:Re: Re: Re:Re: Re: Re: Random posts

Post by KittyTac » February 17th, 2018, 8:40 am

Rhombic wrote:
Gamedziner wrote:
Saka wrote: The minimal rule for any given pattern in any NT or totalistic rule can be easily found using the script.
Script?

Code: Select all


import golly as g
from glife import validint
from string import replace

Hensel = [
    ['0'],
    ['1c', '1e'],
    ['2a', '2c', '2e', '2i', '2k', '2n'],
    ['3a', '3c', '3e', '3i', '3j', '3k', '3n', '3q', '3r', '3y'],
    ['4a', '4c', '4e', '4i', '4j', '4k', '4n', '4q', '4r', '4t', '4w', '4y', '4z'],
    ['5a', '5c', '5e', '5i', '5j', '5k', '5n', '5q', '5r', '5y'],
    ['6a', '6c', '6e', '6i', '6k', '6n'],
    ['7c', '7e'],
    ['8']
]

# Python versions < 2.4 don't have "sorted" built-in
try:
    sorted
except NameError:
    def sorted(inlist):
        outlist = list(inlist)
        outlist.sort()
        return outlist

# --------------------------------------------------------------------

def chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i+n]

# --------------------------------------------------------------------

def rulestringopt(a):
    result = ''
    context = ''
    lastnum = ''
    lastcontext = ''
    for i in a:
        if i in 'BS':
            context = i
            result += i
        elif i in '012345678':
            if (i == lastnum) and (lastcontext == context):
                pass
            else:
                lastcontext = context
                lastnum = i
                result += i
        else:
            result += i
    result = replace(result, '4aceijknqrtwyz', '4')
    result = replace(result, '3aceijknqry', '3')
    result = replace(result, '5aceijknqry', '5')
    result = replace(result, '2aceikn', '2')
    result = replace(result, '6aceikn', '6')
    result = replace(result, '1ce', '1')
    result = replace(result, '7ce', '7')
    return result

clist = []
rule = g.getrule().split(':')[0]

fuzzer = rule + '9'
oldrule = rule
rule = ''
context = ''
deletefrom = []
for i in fuzzer:
    if i == '-':
        deletefrom = [x[1] for x in Hensel[int(context)]]
    elif i in '0123456789/S':
        if deletefrom:
            rule += ''.join(deletefrom)
            deletefrom = []
        context = i
    if len(deletefrom) == 0:
        rule += i
    elif i in deletefrom:
        deletefrom.remove(i)
rule = rule.strip('9')

if not (rule[0] == 'B' and '/S' in rule):
    g.exit('Please set Golly to a Life-like rule.')

if g.empty():
    g.exit('The pattern is empty.')

s = g.getstring('Enter the period:', '', 'Rules calculator')
if not validint(s):
    g.exit('Bad number: %s' % s)

numsteps = int(s)
if numsteps < 1:
    g.exit('Period must be at least 1.')

g.select(g.getrect())
g.copy()
s = int(s)

for i in range(0,s):
    g.run(1)
    clist.append(list(chunks(g.getcells(g.getrect()), 2)))
    mcc = min(clist[i])
    clist[i] = [[x[0] - mcc[0], x[1] - mcc[1]] for x in clist[i]]

g.show('Processing...')

ruleArr = rule.split('/')
ruleArr[0] = ruleArr[0].lstrip('B')
ruleArr[1] = ruleArr[1].lstrip('S')

b_need = []
b_OK = []
s_need = []
s_OK = []

context = ''
fuzzed = ruleArr[0] + '9'
for i in fuzzed:
    if i in '0123456789':
        if len(context) == 1:
            b_need += Hensel[int(context)]
            b_OK += Hensel[int(context)]
        context = i
    elif context != '':
        b_need.append(context[0] + i)
        b_OK.append(context[0] + i)
        context += context[0]
context = ''
fuzzed = ruleArr[1] + '9'
for i in fuzzed:
    if i in '0123456789':
        if len(context) == 1:
            s_need += Hensel[int(context)]
            s_OK += Hensel[int(context)]
        context = i
    elif context != '':
        s_need.append(context[0] + i)
        s_OK.append(context[0] + i)
        context += context[0]

for i in [iter2 for iter1 in Hensel for iter2 in iter1]:
    if not i in b_OK:
        b_OK.append(i)
        execfor = 1
        # B0 and nontotalistic rulestrings are mutually exclusive
        try:
            g.setrule(rulestringopt('B' + ''.join(b_OK) + '/S' + ruleArr[1]))
        except:
            b_OK.remove(i)
            execfor = 0
        for j in range(0, s * execfor):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    b_OK.remove(i)
                    break
            except:
                b_OK.remove(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        b_OK.sort()

    if not i in s_OK:
        s_OK.append(i)
        execfor = 1
        # B0 and nontotalistic rulestrings are mutually exclusive
        try:
            g.setrule(rulestringopt('B' + ruleArr[0] + '/S' + ''.join(s_OK)))
        except:
            s_OK.remove(i)
            execfor = 0
        for j in range(0, s * execfor):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    s_OK.remove(i)
                    break
            except:
                s_OK.remove(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        s_OK.sort()

    if i in b_need:
        b_need.remove(i)
        g.setrule(rulestringopt('B' + ''.join(b_need) + '/S' + ruleArr[1]))
        for j in range(0, s):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    b_need.append(i)
                    break
            except:
                b_need.append(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        b_need.sort()

    if i in s_need:
        s_need.remove(i)
        g.setrule(rulestringopt('B' + ruleArr[0] + '/S' + ''.join(s_need)))
        for j in range(0, s):
            g.run(1)
            try:
                dlist = list(chunks(g.getcells(g.getrect()), 2))
                mcc = min(dlist)
                dlist = [[x[0] - mcc[0], x[1] - mcc[1]] for x in dlist]
                if not(clist[j] == dlist):
                    s_need.append(i)
                    break
            except:
                s_need.append(i)
                break
        g.new('')
        g.paste(0, 0, 'or')
        g.select(g.getrect())
        s_need.sort()

g.setrule(oldrule)
ruleres = 'B' + ''.join(sorted(b_need)) + '/S' + ''.join(sorted(s_need))
ruleres = rulestringopt(ruleres)
g.setrule(ruleres)

Is there one for a maximum rule?
Last edited by KittyTac on February 17th, 2018, 8:50 am, edited 1 time in total.

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: ndom posts

Post by Saka » February 17th, 2018, 8:42 am

KittyTac wrote:

Is thare one for a maximum rule?
Doesn't that also give a max rule?

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: ndom posts

Post by KittyTac » February 17th, 2018, 8:51 am

Saka wrote:
KittyTac wrote:

Is thare one for a maximum rule?
Doesn't that also give a max rule?
Either way, I couldn't find the max rule.

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: ndom posts

Post by Saka » February 17th, 2018, 8:53 am

KittyTac wrote: Either way, I couldn't find the max rule.
Post the output here

User avatar
KittyTac
Posts: 535
Joined: December 21st, 2017, 9:58 am

Re: ndom posts

Post by KittyTac » February 17th, 2018, 9:03 am

Saka wrote:
KittyTac wrote: Either way, I couldn't find the max rule.
Post the output here
It just automatically opens the minimum rule, no output file or anything.

wildmyron
Posts: 1544
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Random posts

Post by wildmyron » February 17th, 2018, 10:23 am

Gamedziner wrote:
Saka wrote: The minimal rule for any given pattern in any NT or totalistic rule can be easily found using the script.
Script?
Both the totalistic and isotropic version of this script can be found in this post on the Golly scripts thread. There's lots of good stuff there, it's a shame it tends to be hard to find things if you don't know that they're there.

P.S. See my post two posts down for a copy/paste friendly output format
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

[b]Ecksdee[/b]

Post by Saka » February 18th, 2018, 2:21 am

Code: Select all

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

Locked