NaiveLife Emulated: A reading-order simulation of Life

For discussion of other cellular automata.
Post Reply
User avatar
Redstoneboi
Posts: 429
Joined: May 14th, 2018, 3:57 am

NaiveLife Emulated: A reading-order simulation of Life

Post by Redstoneboi » May 24th, 2020, 9:46 pm

Named after a naive implementation of Conway's game of Life, where cells are simulated by reading-order rather than at the same time.

Code: Select all

@RULE NaiveLifeEmulated

@COLORS
0  48  48  48
1 255 255 255
2   0   0   0
3 160 160 160
4   0 255   0
5 255   0   0

@TABLE
n_states:6
neighborhood:Moore
symmetries:none

var a{0,1,2,3,4,5}
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a

var A{2,3,4}

#spread
	0 5,b,c,A,e,f,g,h 2
	0 a,b,c,4,e,f,g,h 4
	0 a,b,c,d,e,f,A,h 2
	1 a,b,c,d,e,f,A,h 3
	0 a,A,c,d,e,f,g,h 2
	1 a,A,c,d,e,f,g,h 3
#evolve
	#BS3
		A 1,1,1,0,0,0,0,0 1
		A 1,1,0,1,0,0,0,0 1
		A 1,1,0,0,1,0,0,0 1
		A 1,1,0,0,0,1,0,0 1
		A 1,1,0,0,0,0,1,0 1
		A 1,1,0,0,0,0,0,1 1
		A 1,0,1,1,0,0,0,0 1
		A 1,0,1,0,1,0,0,0 1
		A 1,0,1,0,0,1,0,0 1
		A 1,0,1,0,0,0,1,0 1
		A 1,0,1,0,0,0,0,1 1
		A 1,0,0,1,1,0,0,0 1
		A 1,0,0,1,0,1,0,0 1
		A 1,0,0,1,0,0,1,0 1
		A 1,0,0,1,0,0,0,1 1
		A 1,0,0,0,1,1,0,0 1
		A 1,0,0,0,1,0,1,0 1
		A 1,0,0,0,1,0,0,1 1
		A 1,0,0,0,0,1,1,0 1
		A 1,0,0,0,0,1,0,1 1
		A 1,0,0,0,0,0,1,1 1
		A 0,1,1,1,0,0,0,0 1
		A 0,1,1,0,1,0,0,0 1
		A 0,1,1,0,0,1,0,0 1
		A 0,1,1,0,0,0,1,0 1
		A 0,1,1,0,0,0,0,1 1
		A 0,1,0,1,1,0,0,0 1
		A 0,1,0,1,0,1,0,0 1
		A 0,1,0,1,0,0,1,0 1
		A 0,1,0,1,0,0,0,1 1
		A 0,1,0,0,1,1,0,0 1
		A 0,1,0,0,1,0,1,0 1
		A 0,1,0,0,1,0,0,1 1
		A 0,1,0,0,0,1,1,0 1
		A 0,1,0,0,0,1,0,1 1
		A 0,1,0,0,0,0,1,1 1
		A 0,0,1,1,1,0,0,0 1
		A 0,0,1,1,0,1,0,0 1
		A 0,0,1,1,0,0,1,0 1
		A 0,0,1,1,0,0,0,1 1
		A 0,0,1,0,1,1,0,0 1
		A 0,0,1,0,1,0,1,0 1
		A 0,0,1,0,1,0,0,1 1
		A 0,0,1,0,0,1,1,0 1
		A 0,0,1,0,0,1,0,1 1
		A 0,0,1,0,0,0,1,1 1
		A 0,0,0,1,1,1,0,0 1
		A 0,0,0,1,1,0,1,0 1
		A 0,0,0,1,1,0,0,1 1
		A 0,0,0,1,0,1,1,0 1
		A 0,0,0,1,0,1,0,1 1
		A 0,0,0,1,0,0,1,1 1
		A 0,0,0,0,1,1,1,0 1
		A 0,0,0,0,1,1,0,1 1
		A 0,0,0,0,1,0,1,1 1
		A 0,0,0,0,0,1,1,1 1
	#S2
		3 1,1,0,0,0,0,0,0 1
		3 1,0,1,0,0,0,0,0 1
		3 1,0,0,1,0,0,0,0 1
		3 1,0,0,0,1,0,0,0 1
		3 1,0,0,0,0,1,0,0 1
		3 1,0,0,0,0,0,1,0 1
		3 1,0,0,0,0,0,0,1 1
		3 0,1,1,0,0,0,0,0 1
		3 0,1,0,1,0,0,0,0 1
		3 0,1,0,0,1,0,0,0 1
		3 0,1,0,0,0,1,0,0 1
		3 0,1,0,0,0,0,1,0 1
		3 0,1,0,0,0,0,0,1 1
		3 0,0,1,1,0,0,0,0 1
		3 0,0,1,0,1,0,0,0 1
		3 0,0,1,0,0,1,0,0 1
		3 0,0,1,0,0,0,1,0 1
		3 0,0,1,0,0,0,0,1 1
		3 0,0,0,1,1,0,0,0 1
		3 0,0,0,1,0,1,0,0 1
		3 0,0,0,1,0,0,1,0 1
		3 0,0,0,1,0,0,0,1 1
		3 0,0,0,0,1,1,0,0 1
		3 0,0,0,0,1,0,1,0 1
		3 0,0,0,0,1,0,0,1 1
		3 0,0,0,0,0,1,1,0 1
		3 0,0,0,0,0,1,0,1 1
		3 0,0,0,0,0,0,1,1 1
	#death
		A a,b,c,d,e,f,g,h 0
To use, make a border using state 5, and put a black state 2 cell above and to the left of the pattern.

Code: Select all

x = 28, y = 23, rule = NaiveLifeEmulated
28E$E26.E$E26.E$E2.B23.E$E26.E$E26.E$E26.E$E26.E$E6.3A17.E$E6.A.A17.E
$E8.2A16.E$E9.A16.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E
26.E$E26.E$28E!
If you put the state 2 cell close to the top left corner of a border, you get a repeatedly evolving pattern.

Code: Select all

x = 28, y = 23, rule = NaiveLifeEmulated
28E$EB25.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E6.3A17.E$E6.A.A17.E$E
8.2A16.E$E9.A16.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E26.E$E
26.E$E26.E$28E!
Alternatively, you could simulate borderless using the green state 4 instead.

Code: Select all

x = 10, y = 8, rule = NaiveLifeEmulated
D4$6.3A$6.A.A$8.2A$9.A!
As you can see, we used the first spaceship in NaiveLife as the sample pattern. It travels at c/2 diagonally Northeast.
Though, because of the agar's behavior, it's demoted to c/7 NE at the fastest.

Do note that you have to remove the top border, or the green state 4 cell, and wait until the waves pass through, before posting a pattern. This is to get the canonical version of the pattern. When the rule repeatedly evolves, the top left keeps moving forward while the bottom right trails behind in the past.
c(>^w^<c)~*
This is 「Fluffy」
「Fluffy」is my sutando.
「Fluffy」has the ability to engineer r e p l i c a t o r s.
「Fluffy」likes to watch spaceship guns in Golly.
「Fluffy」knows Natsuki best girl.

lemon41625
Posts: 351
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by lemon41625 » May 25th, 2020, 1:13 am

Code: Select all

hensel = {0: {"a": [0, 0, 0, 0, 0, 0, 0, 0]},
          1: {"c": [1, 0, 0, 0, 0, 0, 0, 0], "e": [0, 1, 0, 0, 0, 0, 0, 0]},
          2: {"c": [1, 0, 1, 0, 0, 0, 0, 0], "e": [0, 1, 0, 0, 0, 0, 0, 1],
              "k": [0, 1, 0, 0, 1, 0, 0, 0], "a": [1, 1, 0, 0, 0, 0, 0, 0],
              "i": [0, 1, 0, 0, 0, 1, 0, 0], "n": [1, 0, 0, 0, 1, 0, 0, 0]},
          3: {"c": [1, 0, 1, 0, 1, 0, 0, 0], "e": [0, 1, 0, 1, 0, 0, 0, 1],
              "k": [0, 1, 0, 0, 1, 0, 0, 1], "a": [1, 1, 0, 0, 0, 0, 0, 1],
              "i": [1, 0, 0, 0, 0, 0, 1, 1], "n": [1, 0, 1, 0, 0, 0, 0, 1],
              "y": [1, 0, 1, 0, 0, 1, 0, 0], "q": [1, 0, 0, 0, 1, 0, 0, 1],
              "j": [0, 0, 1, 1, 0, 1, 0, 0], "r": [0, 1, 1, 0, 0, 1, 0, 0]},
          4: {"c": [1, 0, 1, 0, 1, 0, 1, 0], "e": [0, 1, 0, 1, 0, 1, 0, 1],
              "k": [0, 1, 1, 0, 1, 0, 0, 1], "a": [1, 0, 0, 0, 0, 1, 1, 1],
              "i": [1, 0, 1, 1, 0, 0, 0, 1], "n": [1, 0, 0, 0, 1, 0, 1, 1],
              "y": [1, 0, 1, 0, 0, 1, 1, 0], "q": [1, 1, 0, 0, 1, 0, 0, 1],
              "j": [0, 0, 1, 1, 0, 1, 0, 1], "r": [0, 1, 1, 1, 0, 1, 0, 0],
              "t": [1, 1, 1, 0, 0, 1, 0, 0], "w": [1, 0, 0, 0, 1, 1, 0, 1],
              "z": [1, 1, 0, 0, 1, 1, 0, 0]},
          5: {"c": [0, 1, 0, 1, 0, 1, 1, 1], "e": [1, 0, 1, 0, 1, 1, 1, 0],
              "k": [1, 0, 1, 1, 0, 1, 1, 0], "a": [0, 0, 1, 1, 1, 1, 1, 0],
              "i": [0, 1, 1, 1, 1, 1, 0, 0], "n": [0, 1, 0, 1, 1, 1, 1, 0],
              "y": [0, 1, 0, 1, 1, 0, 1, 1], "q": [0, 1, 1, 1, 0, 1, 1, 0],
              "j": [1, 1, 0, 0, 1, 0, 1, 1], "r": [1, 0, 0, 1, 1, 0, 1, 1]},
          6: {"c": [0, 1, 0, 1, 1, 1, 1, 1], "e": [1, 0, 1, 1, 1, 1, 1, 0],
              "k": [1, 0, 1, 1, 0, 1, 1, 1], "a": [0, 0, 1, 1, 1, 1, 1, 1],
              "i": [1, 0, 1, 1, 1, 0, 1, 1], "n": [0, 1, 1, 1, 0, 1, 1, 1]},
          7: {"c": [0, 1, 1, 1, 1, 1, 1, 1], "e": [1, 0, 1, 1, 1, 1, 1, 1]},
          8: {"a": [1, 1, 1, 1, 1, 1, 1, 1]}}


def rotate(neighbours):
    return neighbours[2:8] + neighbours[:2]


def reflect_1(neighbours):
    return [neighbours[2], neighbours[1], neighbours[0], neighbours[7],
            neighbours[6], neighbours[5], neighbours[4], neighbours[3]]


def reflect_2(neighbours):
    return [neighbours[6], neighbours[5], neighbours[4], neighbours[3],
            neighbours[2], neighbours[1], neighbours[0], neighbours[7]]


def rotate_4_reflect(neighbours):
    lst = []
    rotate_1 = rotate(neighbours)
    rotate_2 = rotate(rotate_1)
    rotate_3 = rotate(rotate_2)

    lst.append(tuple(neighbours))
    lst.append(tuple(reflect_1(neighbours)))
    lst.append(tuple(reflect_2(neighbours)))

    lst.append(tuple(rotate_1))
    lst.append(tuple(reflect_1(rotate_1)))
    lst.append(tuple(reflect_2(rotate_1)))

    lst.append(tuple(rotate_2))
    lst.append(tuple(reflect_1(rotate_2)))
    lst.append(tuple(reflect_2(rotate_2)))

    lst.append(tuple(rotate_3))
    lst.append(tuple(reflect_1(rotate_3)))
    lst.append(tuple(reflect_2(rotate_3)))
    return lst


def get_trans_moore(string):
    trans = []
    current_num = 0
    subtract = False
    totalistic = False
    for i in string:
        try:
            prev_num = current_num
            current_num = int(i)
            subtract = False
            if totalistic:
                for transition in hensel[prev_num]:
                    trans += rotate_4_reflect(hensel[prev_num][transition])

            if string[-1] == i:
                for transition in hensel[current_num]:
                    trans += rotate_4_reflect(hensel[current_num][transition])

            totalistic = True

        except ValueError:
            totalistic = False
            if i != "-":
                if not subtract:
                    trans += rotate_4_reflect(hensel[current_num][i])
                else:
                    for transition in rotate_4_reflect(hensel[current_num][i]):
                        trans.remove(transition)
            else:
                subtract = True
                for transition in hensel[current_num]:
                    trans += rotate_4_reflect(hensel[current_num][transition])

    return set(trans)


rule_string = input("Enter Rulestring:")
rule_table = """@RULE NaiveEmulated

@COLORS
0  48  48  48
1 255 255 255
2   0   0   0
3 160 160 160
4   0 255   0
5 255   0   0

@TABLE
n_states:6
neighborhood:Moore
symmetries:none

var a={0,1,2,3,4,5}
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a

var A={2,3,4}
var B={2,4}

# spread
0 5,b,c,A,e,f,g,h 2
0 a,b,c,4,e,f,g,h 4
0 a,b,c,d,e,f,A,h 2
1 a,b,c,d,e,f,A,h 3
0 a,A,c,d,e,f,g,h 2
1 a,A,c,d,e,f,g,h 3

# evolve
"""

for transition in get_trans_moore(rule_string.lower().split("/")[0].replace("b", "")):
    new_transition = transition[1:] + transition[0:1]
    rule_table += "B " + ",".join([str(x) for x in new_transition]) + " 1\n"

for transition in get_trans_moore(rule_string.lower().split("/")[1].replace("s", "")):
    new_transition = transition[1:] + transition[0:1]
    rule_table += "3 " + ",".join([str(x) for x in new_transition]) + " 1\n"

rule_table += "A a,b,c,d,e,f,g,h 0\n"
print(rule_table)
Script to generate INT Naive Rules
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by Moosey » May 25th, 2020, 7:35 pm

Here are some challenges:
1) find a nonexplosive, chaotic, TC Naïve rule, with some stable stuff
2) find an infinitely fast signal through a vacuum which doesn't leave any ash behind-- in less proper terms, an infinite-speed spaceship (preferably in a rule satisfying (1))
3) find a rule with adjustable spaceships which can reach an infinite quantity of multiples of c.
4) find a 2c spaceship in naiveseeds (note that an R pentomino is a 2c rake):

Code: Select all

x = 8, y = 10, rule = NaiveSeedsEmulated
B$2.B6$5.2A$6.2A$6.A!
Last edited by Moosey on May 26th, 2020, 9:29 am, edited 1 time in total.
not active here but active on discord

Sarp
Posts: 221
Joined: March 1st, 2015, 1:28 pm

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by Sarp » May 25th, 2020, 7:58 pm

Just edited like 2 lines of the script to give every rule a unique name

Code: Select all

hensel = {0: {"a": [0, 0, 0, 0, 0, 0, 0, 0]},
          1: {"c": [1, 0, 0, 0, 0, 0, 0, 0], "e": [0, 1, 0, 0, 0, 0, 0, 0]},
          2: {"c": [1, 0, 1, 0, 0, 0, 0, 0], "e": [0, 1, 0, 0, 0, 0, 0, 1],
              "k": [0, 1, 0, 0, 1, 0, 0, 0], "a": [1, 1, 0, 0, 0, 0, 0, 0],
              "i": [0, 1, 0, 0, 0, 1, 0, 0], "n": [1, 0, 0, 0, 1, 0, 0, 0]},
          3: {"c": [1, 0, 1, 0, 1, 0, 0, 0], "e": [0, 1, 0, 1, 0, 0, 0, 1],
              "k": [0, 1, 0, 0, 1, 0, 0, 1], "a": [1, 1, 0, 0, 0, 0, 0, 1],
              "i": [1, 0, 0, 0, 0, 0, 1, 1], "n": [1, 0, 1, 0, 0, 0, 0, 1],
              "y": [1, 0, 1, 0, 0, 1, 0, 0], "q": [1, 0, 0, 0, 1, 0, 0, 1],
              "j": [0, 0, 1, 1, 0, 1, 0, 0], "r": [0, 1, 1, 0, 0, 1, 0, 0]},
          4: {"c": [1, 0, 1, 0, 1, 0, 1, 0], "e": [0, 1, 0, 1, 0, 1, 0, 1],
              "k": [0, 1, 1, 0, 1, 0, 0, 1], "a": [1, 0, 0, 0, 0, 1, 1, 1],
              "i": [1, 0, 1, 1, 0, 0, 0, 1], "n": [1, 0, 0, 0, 1, 0, 1, 1],
              "y": [1, 0, 1, 0, 0, 1, 1, 0], "q": [1, 1, 0, 0, 1, 0, 0, 1],
              "j": [0, 0, 1, 1, 0, 1, 0, 1], "r": [0, 1, 1, 1, 0, 1, 0, 0],
              "t": [1, 1, 1, 0, 0, 1, 0, 0], "w": [1, 0, 0, 0, 1, 1, 0, 1],
              "z": [1, 1, 0, 0, 1, 1, 0, 0]},
          5: {"c": [0, 1, 0, 1, 0, 1, 1, 1], "e": [1, 0, 1, 0, 1, 1, 1, 0],
              "k": [1, 0, 1, 1, 0, 1, 1, 0], "a": [0, 0, 1, 1, 1, 1, 1, 0],
              "i": [0, 1, 1, 1, 1, 1, 0, 0], "n": [0, 1, 0, 1, 1, 1, 1, 0],
              "y": [0, 1, 0, 1, 1, 0, 1, 1], "q": [0, 1, 1, 1, 0, 1, 1, 0],
              "j": [1, 1, 0, 0, 1, 0, 1, 1], "r": [1, 0, 0, 1, 1, 0, 1, 1]},
          6: {"c": [0, 1, 0, 1, 1, 1, 1, 1], "e": [1, 0, 1, 1, 1, 1, 1, 0],
              "k": [1, 0, 1, 1, 0, 1, 1, 1], "a": [0, 0, 1, 1, 1, 1, 1, 1],
              "i": [1, 0, 1, 1, 1, 0, 1, 1], "n": [0, 1, 1, 1, 0, 1, 1, 1]},
          7: {"c": [0, 1, 1, 1, 1, 1, 1, 1], "e": [1, 0, 1, 1, 1, 1, 1, 1]},
          8: {"a": [1, 1, 1, 1, 1, 1, 1, 1]}}


def rotate(neighbours):
    return neighbours[2:8] + neighbours[:2]


def reflect_1(neighbours):
    return [neighbours[2], neighbours[1], neighbours[0], neighbours[7],
            neighbours[6], neighbours[5], neighbours[4], neighbours[3]]


def reflect_2(neighbours):
    return [neighbours[6], neighbours[5], neighbours[4], neighbours[3],
            neighbours[2], neighbours[1], neighbours[0], neighbours[7]]


def rotate_4_reflect(neighbours):
    lst = []
    rotate_1 = rotate(neighbours)
    rotate_2 = rotate(rotate_1)
    rotate_3 = rotate(rotate_2)

    lst.append(tuple(neighbours))
    lst.append(tuple(reflect_1(neighbours)))
    lst.append(tuple(reflect_2(neighbours)))

    lst.append(tuple(rotate_1))
    lst.append(tuple(reflect_1(rotate_1)))
    lst.append(tuple(reflect_2(rotate_1)))

    lst.append(tuple(rotate_2))
    lst.append(tuple(reflect_1(rotate_2)))
    lst.append(tuple(reflect_2(rotate_2)))

    lst.append(tuple(rotate_3))
    lst.append(tuple(reflect_1(rotate_3)))
    lst.append(tuple(reflect_2(rotate_3)))
    return lst


def get_trans_moore(string):
    trans = []
    current_num = 0
    subtract = False
    totalistic = False
    for i in string:
        try:
            prev_num = current_num
            current_num = int(i)
            subtract = False
            if totalistic:
                for transition in hensel[prev_num]:
                    trans += rotate_4_reflect(hensel[prev_num][transition])

            if string[-1] == i:
                for transition in hensel[current_num]:
                    trans += rotate_4_reflect(hensel[current_num][transition])

            totalistic = True

        except ValueError:
            totalistic = False
            if i != "-":
                if not subtract:
                    trans += rotate_4_reflect(hensel[current_num][i])
                else:
                    for transition in rotate_4_reflect(hensel[current_num][i]):
                        trans.remove(transition)
            else:
                subtract = True
                for transition in hensel[current_num]:
                    trans += rotate_4_reflect(hensel[current_num][transition])

    return set(trans)


rule_string = input("Enter Rulestring:")

apgstring = rule_string.replace("/","").lower()

rule_table = "@RULE Naive" + apgstring + """Emulated

@COLORS
0  48  48  48
1 255 255 255
2   0   0   0
3 160 160 160
4   0 255   0
5 255   0   0

@TABLE
n_states:6
neighborhood:Moore
symmetries:none

var a={0,1,2,3,4,5}
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a

var A={2,3,4}
var B={2,4}

# spread
0 5,b,c,A,e,f,g,h 2
0 a,b,c,4,e,f,g,h 4
0 a,b,c,d,e,f,A,h 2
1 a,b,c,d,e,f,A,h 3
0 a,A,c,d,e,f,g,h 2
1 a,A,c,d,e,f,g,h 3

# evolve
"""

for transition in get_trans_moore(rule_string.lower().split("/")[0].replace("b", "")):
    new_transition = transition[1:] + transition[0:1]
    rule_table += "B " + ",".join([str(x) for x in new_transition]) + " 1\n"

for transition in get_trans_moore(rule_string.lower().split("/")[1].replace("s", "")):
    new_transition = transition[1:] + transition[0:1]
    rule_table += "3 " + ",".join([str(x) for x in new_transition]) + " 1\n"

rule_table += "A a,b,c,d,e,f,g,h 0\n"
print(rule_table)
Also found an extensible infinite speed ship in Naive B2ac/S

Code: Select all

x = 3, y = 5, rule = Naiveb2acsEmulated
2.B$2.A$2.B$.2A$A.B!

Code: Select all

x = 3, y = 5, rule = Naiveb2acsEmulated
2.B$B.A.B$2.B$B.A.B$2.B$B.A.B$2.B$B.A.B$2.B$B.A.B$2.B$B2A.B$A.B$B3.B$
2.B!
WADUFI

lemon41625
Posts: 351
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by lemon41625 » May 26th, 2020, 11:05 am

Crossposting interesting patterns from discord
Lasar beam in Naive g3b2s68
LasarBeam.gif
LasarBeam.gif (1.47 MiB) Viewed 5736 times
Naive B2e3acp67S2j3-ace4-qt5p6 with blocky sierpinski triangle.
Naive.gif
Naive.gif (1.55 MiB) Viewed 5736 times
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Rocknlol
Posts: 125
Joined: April 15th, 2012, 9:06 am

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by Rocknlol » May 26th, 2020, 5:40 pm

2c/4 orthogonal ship in NaiveLife:
nlife_2c4o.gif
nlife_2c4o.gif (61.36 KiB) Viewed 5714 times

Code: Select all

x = 18, y = 22, rule = NaiveLifeEmulated
18E$E16.E$E.B14.E$E16.E$E16.E$E16.E$E16.E$E16.E$E16.E$E16.E$E16.E$E
16.E$E16.E$E5.A2.3A5.E$E4.2A.A3.A4.E$E5.A.A3.A4.E$E5.A2.2A2.A3.E$E4.
3A.A7.E$E4.A11.E$E16.E$E16.E$18E!
EDIT: Here's a c/3 orthogonal ship:
nlife_c3o.gif
nlife_c3o.gif (410.35 KiB) Viewed 5702 times

Code: Select all

x = 25, y = 61, rule = NaiveLifeEmulated
25E$E23.E$E.B21.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E
23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.
E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E23.E$E7.2A.2A11.E$
E8.A3.4A7.E$E7.4A.A10.E$E5.A4.A.A.2A7.E$E5.2A.A3.A10.E$E6.A4.2A3.2A5.
E$E10.A2.2A.2A5.E$E9.A.A11.E$E8.2A.A4.2A5.E$E9.A.2A2.A7.E$E11.A.3A7.E
$E10.2A.A9.E$E11.A.2A8.E$E11.A.A9.E$E6.4A.A.A9.E$E9.A3.A.2A6.E$E8.A3.
A10.E$E9.2A.A2.2A6.E$E10.A.3A8.E$E10.A.A.A8.E$E7.2A.A12.E$E8.A.A12.E$
E7.A3.A11.E$E7.A.A.A11.E$E23.E$E23.E$E23.E$E23.E$25E!

User avatar
Hdjensofjfnen
Posts: 1743
Joined: March 15th, 2016, 6:41 pm
Location: re^jθ

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by Hdjensofjfnen » May 27th, 2020, 1:47 am

Here are the versions of Rocknlol's ships that go south, shown to the right of the original ships. Notice the distortion and different speed due to temporal effects. The ship that went 2c/4 orthogonal north goes 2c/2 orthogonal south; the ship that went c/3 orthogonal north goes c/2 south. The extent of temporal effects seems to be proportional to the speed of the spaceship along the y-axis, which is no unfamiliar concept.

Code: Select all

x = 69, y = 42, rule = NaiveLifeEmulated
D4$5.A2.3A7.A23.6A.2A9.2A$4.2A.A3.A5.A.A29.2A$5.A.A3.A6.3A.A21.2A2.A
10.2A$5.A2.2A2.A5.A4.2A.A13.4A.A.A.A8.A.A.A$4.3A.A10.A2.2A2.A16.3A.A
10.A3.A$4.A15.2A.A.2A20.A2.A.A6.A.A$19.A.A3.A19.2A.3A8.A.A$21.A2.2A
17.A2.A2.A.2A5.2A.A$18.2A.A3.A17.2A.A5.A6.A.A2.3A$18.4A.A19.2A.A3.2A
9.A.A2.2A$19.A2.3A19.A.A.A.2A9.A.3A$23.2A21.A.A.2A9.A.A2.A$45.2A.A10.
A.A.A.3A$42.A.A.A.2A9.A3.A$41.2A.A3.A.2A6.A.A2.2A.2A$42.A.A2.2A.2A6.A
.A.A.A.2A$43.A.A.A.A7.4A.A.A$45.A.A2.A7.A.A.A.2A$44.2A.A.2A11.A.A$43.
A.A2.3A11.A.2A$42.2A.2A2.2A11.A.A.2A$43.A.A16.A.A3.A$42.A.A.A15.A.3A$
43.2A14.2A.A3.2A$58.A.A.A5.A$59.2A.A4.2A$59.A2.A2.A.2A$61.2A.2A$61.A
2.2A.2A$63.A2.A.A$58.2A3.A.A.A$56.2A.A3.A$56.4A.A.A.A$57.A3.A2.3A$58.
4A.A$65.2A$58.2A.2A2.2A$58.2A.2A!

Code: Select all

x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!

Code: Select all

x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!

lemon41625
Posts: 351
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by lemon41625 » May 27th, 2020, 8:04 pm

Code: Select all

@RULE NaiveFlockEmulated
@COLORS
0  48  48  48
1 255 255 255
2   0   0   0
3 160 160 160
4   0 255   0
5 255   0   0
@TABLE
n_states:6
neighborhood:Moore
symmetries:none
var a={0,1,2,3,4,5}
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a
var A={2,3,4}
var B={2,4}
# spread
0 5,b,c,A,e,f,g,h 2
0 a,b,c,4,e,f,g,h 4
0 a,b,c,d,e,f,A,h 2
1 a,b,c,d,e,f,A,h 3
0 a,A,c,d,e,f,g,h 2
1 a,A,c,d,e,f,g,h 3
# evolve
B 1,0,0,0,1,0,1,0 1
B 0,1,1,0,1,0,0,0 1
B 0,1,0,0,1,0,1,0 1
B 1,1,0,0,1,0,0,0 1
B 1,0,0,1,0,0,1,0 1
B 1,1,0,1,0,0,0,0 1
B 0,0,1,0,1,0,1,0 1
B 0,1,0,1,0,0,1,0 1
B 0,0,1,0,0,0,1,1 1
B 1,0,0,0,1,1,0,0 1
B 1,1,0,0,0,0,0,1 1
B 0,1,1,0,0,0,0,1 1
B 0,1,0,0,1,1,0,0 1
B 0,0,0,1,1,0,0,1 1
B 0,1,0,0,0,0,1,1 1
B 0,0,1,1,0,0,1,0 1
B 1,0,0,0,0,1,1,0 1
B 1,0,0,1,0,1,0,0 1
B 1,0,1,0,0,0,0,1 1
B 1,0,0,0,0,0,1,1 1
B 0,1,0,0,0,1,1,0 1
B 0,0,1,0,1,1,0,0 1
B 0,1,0,1,0,1,0,0 1
B 0,0,1,0,0,1,0,1 1
B 0,0,1,0,0,1,1,0 1
B 0,1,0,0,0,1,0,1 1
B 0,0,1,1,0,1,0,0 1
B 1,0,1,0,0,0,1,0 1
B 1,0,0,0,0,1,0,1 1
B 0,0,1,1,0,0,0,1 1
B 0,0,0,1,1,0,1,0 1
B 1,1,1,0,0,0,0,0 1
B 0,1,1,0,0,0,1,0 1
B 1,0,0,1,1,0,0,0 1
B 1,1,0,0,0,0,1,0 1
B 0,1,0,1,0,0,0,1 1
B 0,0,0,1,0,1,0,1 1
B 0,0,1,0,1,0,0,1 1
B 0,1,0,1,1,0,0,0 1
B 0,0,0,0,1,0,1,1 1
B 1,0,1,0,0,1,0,0 1
B 1,0,0,1,0,0,0,1 1
B 0,0,1,1,1,0,0,0 1
B 0,0,0,1,1,1,0,0 1
B 0,1,0,0,1,0,0,1 1
B 0,1,1,0,0,1,0,0 1
B 0,0,0,1,0,0,1,1 1
B 1,1,0,0,0,1,0,0 1
B 1,0,0,0,1,0,0,1 1
B 0,0,0,1,0,1,1,0 1
B 0,0,0,0,1,1,0,1 1
B 1,0,1,1,0,0,0,0 1
B 0,1,1,1,0,0,0,0 1
B 0,0,0,0,1,1,1,0 1
B 0,0,0,0,0,1,1,1 1
B 1,0,1,0,1,0,0,0 1
3 0,0,0,1,0,0,0,1 1
3 0,0,0,1,0,0,0,0 1
3 0,0,0,1,0,1,0,0 1
3 0,0,0,0,0,1,1,0 1
3 0,0,0,0,1,0,0,0 1
3 0,0,0,0,0,0,0,1 1
3 0,0,0,0,1,1,0,0 1
3 0,0,0,0,0,1,0,1 1
3 1,0,0,0,1,0,0,0 1
3 0,0,0,1,0,0,1,0 1
3 0,1,0,0,1,0,0,0 1
3 1,0,0,1,0,0,0,0 1
3 0,0,0,0,1,0,1,0 1
3 0,0,0,0,0,0,1,1 1
3 0,0,1,0,1,0,0,0 1
3 0,1,0,1,0,0,0,0 1
3 0,0,1,0,0,0,0,1 1
3 1,0,0,0,0,0,0,0 1
3 0,1,0,0,0,0,0,1 1
3 0,0,1,1,0,0,0,0 1
3 1,0,0,0,0,1,0,0 1
3 0,1,0,0,0,0,0,0 1
3 1,0,0,0,0,0,0,1 1
3 0,1,0,0,0,1,0,0 1
3 0,0,1,0,0,0,0,0 1
3 0,0,0,0,0,0,1,0 1
3 0,0,1,0,0,1,0,0 1
3 1,0,0,0,0,0,1,0 1
3 1,0,1,0,0,0,0,0 1
3 0,1,0,0,0,0,1,0 1
3 0,0,0,1,1,0,0,0 1
3 0,1,1,0,0,0,0,0 1
3 1,1,0,0,0,0,0,0 1
3 0,0,0,0,0,1,0,0 1
3 0,0,1,0,0,0,1,0 1
3 0,0,0,0,1,0,0,1 1
A a,b,c,d,e,f,g,h 0
P4n + 1 in Naive Flock

Code: Select all

x = 22, y = 8, rule = NaiveFlockEmulated
22E$E.B3.B3.B3.B3.B2.E$E3.B3.B3.B3.B3.BE$E.BA.ABA.AB2A.C.A.C2.E$E2.AB
A.ABA2.C.A.C.A.BE$E.B3.B3.B3.B3.B2.E$E3.B3.B3.B3.B3.BE$22E!
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

lemon41625
Posts: 351
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by lemon41625 » May 29th, 2020, 2:15 am

Code: Select all

@RULE NaiveB2-k3e4S58C3Emulated
********************************
**** COMPILED FROM NUTSHELL ****
****         v0.6.1         ****
********************************

A generic ruletable to emulate Naive rules.

1: A cell that always moves northwest, spawning ScanOff cells, to allow infinite patterns.
2: A boundary cell that continually respawns ScanOff cells if one is nearby it.
3: Cell that propagates to the east and south to ScanOff a pattern, marking one emulated tick.
4:+2.. The Naive rule's On states.
5:+2.. An On cell that is currently being read by a ScanOff cell.


@TABLE
neighborhood: Moore
symmetries: none
n_states: 8

var any.0 = {0,1,2,3,4,5,6,7}
var any.1 = any.0
var any.2 = any.0
var any.3 = any.0
var any.4 = any.0
var any.5 = any.0
var any.6 = any.0
var any.7 = any.0
var _a0.0 = {4,5}
var _a0.1 = _a0.0
var _a0.2 = _a0.0
var _a0.3 = _a0.0
var _a0.4 = _a0.0
var _a0.5 = _a0.0
var _a0.6 = _a0.0
var _a0.7 = _a0.0
var _b0.0 = {0,3,6,7}
var _b0.1 = _b0.0
var _b0.2 = _b0.0
var _b0.3 = _b0.0
var _b0.4 = _b0.0
var _b0.5 = _b0.0
var _e0.0 = {3,5,7}
var _f0.0 = {0,1,2,3,4,5,6,7}
var _f0.1 = _f0.0
var _f0.2 = _f0.0
var _f0.3 = _f0.0
var _f0.4 = _f0.0
var _f0.5 = _f0.0
var _f0.6 = _f0.0
var _f0.7 = _f0.0
var _g0.0 = {0,1,2,3,5,7}

3, _a0.0, _b0.0, _a0.1, _b0.1, _b0.2, _b0.3, _b0.4, _b0.5, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _b0.3, _b0.4, _a0.1, _b0.5, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _a0.1, _b0.3, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _b0.2, _b0.3, _a0.0, _b0.4, _a0.1, _b0.5, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _b0.2, _b0.3, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _b0.2, _b0.3, _b0.4, _a0.0, _b0.5, _a0.1, 4
3, _b0.0, _a0.0, _b0.1, _b0.2, _b0.3, _b0.4, _b0.5, _a0.1, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _b0.3, _a0.1, _b0.4, _b0.5, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _b0.2, _b0.3, _b0.4, _b0.5, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _b0.3, _b0.4, _b0.5, _a0.1, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _b0.2, _b0.3, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _b0.2, _b0.3, _b0.4, _b0.5, _a0.0, _a0.1, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _a0.1, _b0.3, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _b0.2, _b0.3, _a0.0, _a0.1, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _b0.2, _b0.3, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _b0.2, _b0.3, _b0.4, _a0.0, _a0.1, _b0.5, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _a0.1, _b0.3, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _b0.3, _b0.4, _a0.1, _b0.5, 4
3, _b0.0, _a0.0, _b0.1, _b0.2, _b0.3, _a0.1, _b0.4, _b0.5, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _b0.3, _b0.4, _b0.5, _a0.1, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _b0.2, _b0.3, _b0.4, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _a0.1, _b0.3, _a0.2, _b0.4, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _b0.2, _b0.3, _a0.2, _b0.4, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _a0.1, _b0.3, _a0.2, _b0.4, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _b0.2, _a0.3, _b0.3, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _a0.2, _a0.3, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _a0.1, _a0.2, _b0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _b0.2, _a0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _b0.2, _b0.3, _a0.2, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _a0.2, _b0.1, _a0.3, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _a0.1, _b0.2, _a0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _b0.2, _a0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _b0.2, _b0.3, _a0.2, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _a0.2, _b0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _b0.2, _a0.1, _a0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _b0.2, _a0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _b0.2, _a0.2, _b0.3, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _a0.2, _b0.2, _b0.3, _a0.3, 4
3, _a0.0, _b0.0, _b0.1, _a0.1, _a0.2, _a0.3, _b0.2, _b0.3, 4
3, _b0.0, _a0.0, _a0.1, _a0.2, _b0.1, _b0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _b0.3, _a0.1, _a0.2, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _a0.2, _b0.1, _b0.2, _a0.3, _b0.3, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _b0.2, _a0.2, _b0.3, _a0.3, 4
3, _a0.0, _b0.0, _a0.1, _a0.2, _b0.1, _a0.3, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _a0.1, _b0.2, _a0.2, _a0.3, _b0.3, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _a0.2, _b0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _b0.2, _a0.1, _b0.3, _a0.2, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _a0.2, _b0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _a0.1, _a0.2, _b0.3, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _a0.2, _b0.2, _a0.3, _b0.3, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _b0.2, _b0.3, _a0.3, 4
3, _a0.0, _b0.0, _a0.1, _a0.2, _b0.1, _b0.2, _a0.3, _b0.3, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _b0.2, _a0.2, _a0.3, _b0.3, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _a0.3, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _a0.1, _a0.2, _b0.2, _a0.3, _b0.3, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _a0.2, _b0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _a0.1, _b0.3, _a0.2, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _b0.2, _a0.2, _b0.3, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _b0.2, _a0.2, _a0.3, _b0.3, 4
3, _a0.0, _b0.0, _a0.1, _a0.2, _b0.1, _b0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _a0.2, _a0.3, _b0.2, _b0.3, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _a0.1, _b0.3, _a0.2, _a0.3, 4
3, _a0.0, _a0.1, _a0.2, _b0.0, _b0.1, _b0.2, _b0.3, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _b0.2, _b0.3, _a0.2, _a0.3, 4
3, _a0.0, _a0.1, _a0.2, _a0.3, _b0.0, _b0.1, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _b0.3, _a0.1, _a0.2, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _a0.2, _a0.3, _b0.1, _b0.2, _b0.3, 4
3, _b0.0, _b0.1, _b0.2, _b0.3, _a0.0, _a0.1, _a0.2, _a0.3, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _a0.2, _a0.3, _b0.2, _b0.3, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _a0.1, _a0.2, _a0.3, _b0.3, 4
3, _a0.0, _a0.1, _b0.0, _a0.2, _a0.3, _b0.1, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _a0.1, _a0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _b0.1, _b0.2, _b0.3, _a0.2, _a0.3, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _b0.2, _a0.2, _a0.3, _b0.3, 4
3, _a0.0, _a0.1, _a0.2, _b0.0, _a0.3, _b0.1, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _a0.1, _b0.3, _a0.2, _a0.3, 4
3, _a0.0, _a0.1, _a0.2, _b0.0, _b0.1, _b0.2, _a0.3, _b0.3, 4
3, _a0.0, _b0.0, _a0.1, _b0.1, _b0.2, _b0.3, _a0.2, _a0.3, 4
3, _a0.0, _b0.0, _a0.1, _a0.2, _a0.3, _b0.1, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _b0.2, _a0.1, _a0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _a0.2, _b0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _b0.2, _a0.1, _a0.2, _a0.3, _b0.3, 4
3, _a0.0, _a0.1, _a0.2, _b0.0, _b0.1, _a0.3, _b0.2, _b0.3, 4
3, _a0.0, _b0.0, _b0.1, _a0.1, _b0.2, _b0.3, _a0.2, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _b0.2, _a0.1, _a0.2, _a0.3, _b0.3, 4
3, _b0.0, _b0.1, _a0.0, _a0.1, _a0.2, _b0.2, _b0.3, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _a0.2, _b0.1, _b0.2, _b0.3, _a0.3, 4
3, _a0.0, _a0.1, _b0.0, _b0.1, _b0.2, _a0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _a0.2, _b0.1, _b0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _b0.2, _b0.3, _a0.1, _a0.2, _a0.3, 4
3, _b0.0, _a0.0, _b0.1, _a0.1, _a0.2, _a0.3, _b0.2, _b0.3, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _a0.1, _a0.2, _b0.3, _a0.3, 4
3, _b0.0, _a0.0, _a0.1, _a0.2, _b0.1, _a0.3, _b0.2, _b0.3, 4
3, _b0.0, _b0.1, _b0.2, _a0.0, _b0.3, _a0.1, _a0.2, _a0.3, 4
5, _a0.0, _a0.1, _b0.0, _a0.2, _b0.1, _a0.3, _b0.2, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _a0.2, _b0.1, _a0.3, _b0.2, _a0.4, 4
5, _b0.0, _a0.0, _b0.1, _a0.1, _b0.2, _a0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _b0.1, _a0.1, _a0.2, _a0.3, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _a0.2, _a0.3, _b0.1, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _a0.3, _b0.2, _a0.4, 4
5, _a0.0, _b0.0, _a0.1, _a0.2, _b0.1, _a0.3, _a0.4, _b0.2, 4
5, _b0.0, _a0.0, _a0.1, _b0.1, _a0.2, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _a0.2, _b0.1, _a0.3, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _a0.2, _b0.1, _a0.3, _b0.2, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _b0.1, _a0.2, _a0.3, _b0.2, _a0.4, 4
5, _b0.0, _a0.0, _b0.1, _a0.1, _a0.2, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _b0.0, _b0.1, _a0.3, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _a0.2, _b0.1, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _a0.3, _b0.0, _a0.4, _b0.1, _b0.2, 4
5, _a0.0, _b0.0, _b0.1, _a0.1, _b0.2, _a0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _a0.2, _a0.3, _b0.1, _b0.2, _a0.4, 4
5, _b0.0, _a0.0, _b0.1, _b0.2, _a0.1, _a0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _b0.1, _a0.1, _a0.2, _a0.3, _a0.4, _b0.2, 4
5, _b0.0, _b0.1, _a0.0, _a0.1, _a0.2, _a0.3, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _b0.0, _a0.3, _b0.1, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _b0.0, _a0.1, _a0.2, _a0.3, _b0.1, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _b0.1, _a0.2, _a0.3, _a0.4, _b0.2, 4
5, _a0.0, _a0.1, _a0.2, _a0.3, _b0.0, _b0.1, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _b0.1, _b0.2, _a0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _a0.2, _a0.3, _a0.4, _b0.1, _b0.2, 4
5, _b0.0, _b0.1, _b0.2, _a0.0, _a0.1, _a0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _a0.3, _a0.4, _b0.0, _b0.1, _b0.2, 4
5, _a0.0, _b0.0, _b0.1, _b0.2, _a0.1, _a0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _b0.0, _b0.1, _b0.2, _a0.3, _a0.4, 4
5, _b0.0, _b0.1, _a0.0, _a0.1, _a0.2, _a0.3, _a0.4, _b0.2, 4
5, _a0.0, _a0.1, _b0.0, _a0.2, _a0.3, _b0.1, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _b0.1, _a0.2, _a0.3, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _a0.2, _a0.3, _a0.4, _b0.1, _b0.2, 4
5, _a0.0, _b0.0, _b0.1, _a0.1, _a0.2, _a0.3, _b0.2, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _a0.2, _b0.1, _a0.3, _a0.4, _b0.2, 4
5, _b0.0, _b0.1, _a0.0, _a0.1, _b0.2, _a0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _a0.2, _b0.1, _b0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _b0.1, _b0.2, _a0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _b0.0, _b0.1, _a0.3, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _a0.2, _b0.1, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _b0.1, _a0.2, _a0.3, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _a0.2, _a0.3, _b0.1, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _b0.0, _a0.3, _a0.4, _b0.1, _b0.2, 4
5, _a0.0, _b0.0, _b0.1, _a0.1, _a0.2, _b0.2, _a0.3, _a0.4, 4
5, _b0.0, _a0.0, _a0.1, _b0.1, _a0.2, _a0.3, _a0.4, _b0.2, 4
5, _b0.0, _b0.1, _a0.0, _a0.1, _a0.2, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _b0.0, _a0.3, _b0.1, _b0.2, _a0.4, 4
5, _a0.0, _a0.1, _b0.0, _b0.1, _a0.2, _b0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _a0.3, _b0.0, _b0.1, _a0.4, _b0.2, 4
5, _a0.0, _b0.0, _a0.1, _b0.1, _b0.2, _a0.2, _a0.3, _a0.4, 4
5, _a0.0, _b0.0, _a0.1, _a0.2, _a0.3, _a0.4, _b0.1, _b0.2, 4
5, _a0.0, _b0.0, _b0.1, _a0.1, _a0.2, _a0.3, _a0.4, _b0.2, 4
5, _b0.0, _a0.0, _a0.1, _a0.2, _a0.3, _b0.1, _a0.4, _b0.2, 4
5, _b0.0, _b0.1, _a0.0, _b0.2, _a0.1, _a0.2, _a0.3, _a0.4, 4
5, _a0.0, _a0.1, _a0.2, _a0.3, _a0.4, _a0.5, _a0.6, _a0.7, 4
5, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 6
7, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 0
2, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 2
1, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 0
any.0, any.1, any.2, any.3, 1, any.4, any.5, any.6, any.7, 1
any.0, any.1, any.2, any.3, any.4, any.5, any.6, 1, any.7, 3
any.0, any.1, 1, any.2, any.3, any.4, any.5, any.6, any.7, 3
_e0.0, _f0.0, _f0.1, _f0.2, _f0.3, _f0.4, _f0.5, _f0.6, _f0.7, 0
4, _f0.0, any.0, any.1, any.2, _f0.1, _f0.2, _e0.0, _f0.3, 5
6, _f0.0, any.0, any.1, any.2, _f0.1, _f0.2, _e0.0, _f0.3, 7
_g0.0, _f0.0, any.0, any.1, any.2, _f0.1, _f0.2, _e0.0, _f0.3, 3
_f0.0, _f0.1, _e0.0, _f0.2, any.0, any.1, any.2, any.3, any.4, 3
0, 2, any.0, any.1, 3, any.2, any.3, any.4, any.5, 3

@COLORS
0 48 48 48
4 255 255 255
6 255 0 255
3 0 0 0
5 160 160 160
7 95 0 95
1 0 255 0
2 255 0 0
Infinite speed replicator

Code: Select all

x = 9, y = 7, rule = NaiveB2-k3e4S58C3Emulated
A4$5.D.2D$4.F2DF$2.F4.F!
BTW this rule also has an uncommon oblique laser.
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

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

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by PHPBB12345 » June 17th, 2020, 5:54 pm

Redstoneboi wrote:
May 24th, 2020, 9:46 pm

Code: Select all

x = 10, y = 8, rule = NaiveLifeEmulated
D4$6.3A$6.A.A$8.2A$9.A!
Mirrored:

Code: Select all

x = 11, y = 12, rule = NaiveLifeEmulated
D3$6.2A$8.A$7.2A$8.2A2$7.A.A$7.A.2A$8.3A$9.2A!

User avatar
gameoflifemaniac
Posts: 1242
Joined: January 22nd, 2017, 11:17 am
Location: There too

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by gameoflifemaniac » June 18th, 2020, 10:14 am

Now an obvious question: is the rule Turing complete?
I was so socially awkward in the past and it will haunt me for the rest of my life.

Code: Select all

b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!

Rocknlol
Posts: 125
Joined: April 15th, 2012, 9:06 am

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by Rocknlol » December 12th, 2020, 4:05 am

Some new ship speed/period combinations I've found for NaiveLife: 2c/3 left, c/2 left, c/3 left, c/2 up, c down, 2c/5 up, 2c/3 down, c/4 up, and c/3 down. Couldn't find any right-moving ships, unfortunately.

Here's a display of all known speeds below:

Code: Select all

x = 183, y = 201, rule = NaiveLifeEmulated
D10$13.A9.2A42.2A23.A2.3A16.A.A.2A15.2A.2A22.A.A13.3A$12.A.A8.A2.2A
34.4A.A6.2A15.2A.A3.A14.2A.A.A17.A3.4A17.2A.2A12.A.A$11.A5.A.A.A43.A
2.2A2.A.A17.A.A3.A17.A.A.A14.4A.A21.A17.2A$10.8A.A.3A40.A3.A.A.A2.2A
15.A2.2A2.A15.2A.A.2A11.A4.A.A.2A19.2A16.A$10.A54.2A.A.A4.A.A13.3A.A
18.A18.2A.A3.A21.A$10.A.15A39.A.A.A6.A13.A21.A.A.4A13.A4.2A3.2A16.A.
2A$10.A51.A2.2A.A.A2.A.A2.A33.2A.A.A.2A17.A2.2A.2A16.A3.A$10.7A.A.3A
38.2A.A5.A.A.A.A38.A.A.A17.A.A19.A.4A.2A$10.A5.A2.A4.2A36.A.A.3A.A.A.
A.A35.2A.A3.A2.A13.2A.A4.2A13.A.A2.A.2A$11.3A6.2A.A.A37.A.A4.A3.A2.A
35.A.A2.5A14.A.2A2.A13.A.A2.2A$11.A8.2A47.A3.A38.2A.3A21.A.3A12.A3.A.
A$70.2A.A37.A.A.A2.4A16.2A.A15.2A.A.A$71.A.A37.A.A.A.A.A19.A.2A14.A2.
A.2A$70.2A3.2A33.2A.A3.A21.A.A17.2A.A.2A$69.A.A2.A38.2A.A.2A14.4A.A.A
19.A$67.A.A3.A.A34.2A.2A.A2.A17.A3.A.2A15.2A.2A$62.4A.A4.A2.2A33.A.2A
2.A.2A16.A3.A18.A$65.A.A4.A.A40.2A.A.2A15.2A.A2.2A13.A.A2.2A$64.A2.4A
.A.A41.A.A19.A.3A15.A.A.A.A$68.A.A.A.A40.2A.A19.A.A.A17.A.A$72.A.A.2A
38.A.2A15.2A.A21.A.2A$14.A56.2A2.A40.A19.A.A18.A.2A$13.2A53.3A.5A38.
2A.2A15.A3.A16.2A.A.A$13.A.A50.2A2.2A.A.5A55.A.A.A17.A.A.A$14.3A44.A
2.2A.A.A9.A78.2A.A.A$60.2A.A.A.A.2A6.3A36.2A.2A36.A2.A2.A.2A$14.A.A
44.A.A.A.A.A.A4.A43.2A34.A.A.A.A$12.A.A48.A.A.A3.3A.A.2A36.A4.2A36.A.
A3.2A$11.A51.A.A.A2.A4.A.A36.3A40.2A.A3.2A$12.A45.4A2.2A.A.A.A3.A.2A
33.A5.5A35.A.2A$61.A.A3.A.A4.A3.2A31.A.5A39.2A$60.A2.2A.2A.A7.A33.A
47.2A$65.A.A.A89.A$66.A.A.A44.A.2A39.A.2A$69.A44.A3.2A38.A.2A2.3A$
158.A.2A$157.A.A.5A$156.2A.A.A$157.A.A$156.A3.A$11.2A.2A11.2A127.A.A.
A$10.A3.2A6.A3.A2.A3.A3.A4.A.A.2A110.A.A.2A$11.A2.A.8A3.4A.3A2.2A3.A.
A.2A112.A2.2A$14.A10.A14.A.A116.2A3.A$15.A3.22A.2A114.A.A.A.A$41.A.A
113.2A.A.A.2A$19.8A.A2.3A4.2A118.A.A.A$15.A2.A4.A2.A3.A2.A4.2A120.A.A
$14.3A2.A11.2A127.A.A$14.A144.2A.A$162.2A$161.A$160.A.2A$160.A3.2A$
159.2A2.A.2A$165.2A$163.2A$158.2A2.A$157.A2.2A.2A$156.A.A2.A.A.A$156.
A2.A.A.A.2A$158.2A.A.A2.A$161.A.A.A$160.2A.A.A$159.A.A.A.A$159.A.A2.
3A$156.2A.A.A4.A$156.2A.A.A$157.A.A.2A$159.A.A$159.A.A$158.2A.A.2A$
159.A3.A$162.A.A$162.A.A$163.A.A$164.3A$164.A11$165.2A$164.A$163.A.A$
163.A$163.A$163.A$159.A3.A$158.2A2.3A$159.A.A.2A$159.A.A$159.A.A$156.
2A.A.2A$157.A.A3.3A$156.2A.A.A.A.A$156.2A.A.A4.A$157.A.A.A2.A.2A$158.
2A.A.A2.2A$161.A.A.A.A$160.2A.A.A$159.A.A.A.2A$159.A.A.A.A$157.A.A.A.
A2.A$156.A2.A.A.A.2A$156.A.A2.A.A.2A$157.A3.A.A$157.A.3A.2A$158.2A2.A
$162.A$161.3A$160.A3.A$159.2A2.A.2A$161.2A3.A$159.2A.A$162.2A$69.A91.
A$69.A91.A$66.A.A.A89.A.A.2A$66.A3.2A87.2A.A.2A$65.A.A.A90.A.A$60.A.A
4.A.2A6.A81.2A.A$60.A2.2A.2A.A7.A80.A.A.A.2A$59.A.A.3A.A.A4.A.A.A79.A
.A.A$61.A.A3.A.A4.A3.2A38.2A37.2A.A.A.2A$58.2A.A5.A.A.A.A.A.A36.A.A2.
A37.2A.A3.A$58.4A2.2A.A.A.A3.A.2A35.A3.2A40.2A.A$59.A2.2A.A.A2.4A.A.A
36.2A3.A40.A2.A$63.A.A.A2.A4.A.A37.4A41.A2.2A$63.A.A.3A2.A.2A.A35.2A
45.A.3A$63.A.A.A3.3A.A.2A33.A.5A38.2A4.2A$62.2A.A.A2.2A3.A2.2A31.A44.
A.A.A.A$61.A.A.A.A.A.A4.A34.A.6A37.A3.A$63.A.A.A.A6.A.A32.A7.A.2A34.A
.A$60.2A.A.A.A.2A6.3A32.3A3.2A.2A34.A.A2.3A$60.4A.A.A.A7.A34.A43.2A.A
2.A$61.A2.2A.A.A9.A34.3A40.A.A.5A$65.A.A.A8.2A34.A42.A.A$66.2A2.2A.A.
5A35.3A41.A.2A.2A$67.A.A3.A41.A3.2A37.2A4.2A$68.3A.5A38.A.4A37.A.2A$
69.A2.A3.2A38.2A.2A37.A.A$71.2A2.A40.A40.2A.A$72.A.A2.A80.A.2A$72.A.A
.2A79.2A$72.A.A.2A40.2A40.2A$68.A.A.A.A40.2A.2A39.A$64.A.A3.A.A.2A40.
A20.2A19.A.3A.A$64.A2.4A.A.A41.A.2A38.A.A3.2A$63.A.A.A.2A.A.A40.2A.A
17.2A20.A.A.A.2A$65.A.A4.A.A41.A.A16.A.A.A18.A.A.A.2A$62.2A.A.A4.A.2A
39.2A.A16.A3.A20.A.4A$62.4A.A4.A2.2A41.A17.A.A19.2A.A.A$63.A2.2A.A3.A
41.2A.A.2A14.A.A18.A.A.A$67.A.A3.A.A42.A.2A13.2A.A18.A.A.A$68.2A4.3A
38.2A.A17.A.A2.3A12.2A.A2.2A$69.A.A2.A35.A.2A2.A.2A18.A.A2.2A12.A.2A$
71.A4.A33.2A.2A.A2.2A17.A.3A17.A.2A$70.2A3.2A35.A4.A20.A.A2.A16.A.A$
71.A.A.2A33.2A.A3.A18.A.A.A.3A14.2A.A$71.A.A39.A3.2A17.A3.A17.A.A.A.A
$71.A.2A35.2A.A3.A17.A.A2.2A.2A13.A3.A$70.2A.A37.A.A2.2A.A15.A.A.A.A.
2A13.A.3A$69.A.A.A37.A.A.A3.3A12.4A.A.A17.A3.A$69.A3.A38.2A.3A4.A12.A
.A.A.2A17.2A.2A$68.A.A3.2A.A34.A5.5A16.A.A$63.A.A4.A3.A2.A34.2A.3A21.
A.2A18.4A$63.A2.2A.2A2.2A.2A40.5A16.A.A.2A14.2A3.A$62.A.A.3A.A.A.A.A
38.3A21.A.A3.A11.A2.A.2A$64.A.A3.A.A3.A38.A2.5A16.A.3A12.A2.2A.A$61.
2A.A5.A.A.A.A35.2A.A.A.A2.A13.2A.A3.2A11.A.A.A.A$61.4A2.2A.A.5A.A36.A
.A.A15.A.A.A5.A10.A.A.A.A$62.A2.2A.A.A2.A.A2.A33.2A.A.A2.A15.2A.A4.2A
11.A.A2.2A$66.A.A.2A5.2A12.A21.A.A.A.2A15.A2.A2.A.2A12.2A4.3A$66.A.A.
A6.A12.A.A20.A.A.A2.A17.2A.2A17.3A$66.A.A.A5.2A13.3A.A18.2A.5A16.A2.
2A.2A13.A5.2A$65.2A.A.A4.A.A13.A4.2A.A14.A25.A2.A.A16.A3.A11.2A$64.A.
A.A.A.A2.A16.A2.2A2.A14.A4.A.A13.2A3.A.A.A17.A17.A$64.A3.A.A.A2.2A16.
2A.A.2A15.3A.A13.2A.A3.A20.3A15.2A$63.A.A2.A2.2A3.A15.A.A3.A15.A3.3A
12.4A.A.A.A37.2A$65.A2.2A2.A.A19.A2.2A17.A3.A13.A3.A2.3A19.2A$62.2A.A
3.A3.3A15.2A.A3.A14.2A.A.A16.4A.A21.A2.A13.A.A$62.4A.A6.2A15.4A.A16.
2A2.3A22.2A18.A2.2A12.A.2A$63.A2.3A23.A2.3A20.2A15.2A.2A2.2A17.6A13.
3A$67.2A27.2A37.2A.2A22.A.A16.2A!
I think that a ship moving down at speed kc/p will have an up-moving equivalent at speed kc/(p+k). It'd be fun to see, say, a 2c/3 up-moving ship moving down at 2c, but I haven't been able to find anything like that in any naive rule.

EDIT: Here's a quick gif showing what the ships look like in the non-emulated rule:
naiveships.gif
naiveships.gif (203.44 KiB) Viewed 4254 times

Rocknlol
Posts: 125
Joined: April 15th, 2012, 9:06 am

Re: NaiveLife Emulated: A reading-order simulation of Life

Post by Rocknlol » April 24th, 2021, 11:04 pm

Here is an updated collection of the smallest NaiveLife ships by speed:

Code: Select all

x = 172, y = 201, rule = NaiveLifeEmulated
D10$13.A9.2A23.2A23.A2.3A16.A.A.2A15.2A.2A22.A.A22.3A$12.A.A8.A2.2A
15.4A.A6.2A15.2A.A3.A14.2A.A.A17.A3.4A17.2A.2A21.A.A$11.A5.A.A.A24.A
2.2A2.A.A17.A.A3.A17.A.A.A14.4A.A21.A26.2A$10.8A.A.3A21.A3.A.A.A2.2A
15.A2.2A2.A15.2A.A.2A11.A4.A.A.2A19.2A25.A$10.A35.2A.A.A4.A.A13.3A.A
18.A18.2A.A3.A21.A$10.A.15A20.A.A.A6.A13.A21.A.A.4A13.A4.2A3.2A16.A.
2A$10.A32.A2.2A.A.A2.A.A2.A33.2A.A.A.2A17.A2.2A.2A16.A3.A$10.7A.A.3A
19.2A.A5.A.A.A.A38.A.A.A17.A.A19.A.4A.2A$10.A5.A2.A4.2A17.A.A.3A.A.A.
A.A35.2A.A3.A2.A13.2A.A4.2A13.A.A2.A.2A$11.3A6.2A.A.A18.A.A4.A3.A2.A
35.A.A2.5A14.A.2A2.A13.A.A2.2A$11.A8.2A28.A3.A38.2A.3A21.A.3A12.A3.A.
A$51.2A.A37.A.A.A2.4A16.2A.A15.2A.A.A$52.A.A37.A.A.A.A.A19.A.2A14.A2.
A.2A$51.2A3.2A33.2A.A3.A21.A.A17.2A.A.2A$50.A.A2.A38.2A.A.2A14.4A.A.A
19.A22.3A$48.A.A3.A.A34.2A.2A.A2.A17.A3.A.2A15.2A.2A17.A$43.4A.A4.A2.
2A33.A.2A2.A.2A16.A3.A18.A21.A3.2A$46.A.A4.A.A40.2A.A.2A15.2A.A2.2A
13.A.A2.2A16.A.A$45.A2.4A.A.A41.A.A19.A.3A15.A.A.A.A17.A.2A$49.A.A.A.
A40.2A.A19.A.A.A17.A.A16.A5.2A$53.A.A.2A38.A.2A15.2A.A21.A.2A14.A2.A.
A.2A$13.A38.2A2.A40.A19.A.A18.A.2A18.A.A2.A.A$12.2A35.3A.5A38.2A.2A
15.A3.A16.2A.A.A18.A5.2A$12.A.A32.2A2.2A.A.5A55.A.A.A17.A.A.A23.3A$
13.3A26.A2.2A.A.A9.A78.2A.A.A20.A3.2A$41.2A.A.A.A.2A6.3A36.2A.2A36.A
2.A2.A.2A17.A3.2A$13.A.A26.A.A.A.A.A.A4.A43.2A34.A.A.A.A26.2A$11.A.A
30.A.A.A3.3A.A.2A36.A4.2A36.A.A3.2A24.A$10.A33.A.A.A2.A4.A.A36.3A40.
2A.A3.2A$11.A27.4A2.2A.A.A.A3.A.2A33.A5.5A35.A.2A$42.A.A3.A.A4.A3.2A
31.A.5A39.2A$41.A2.2A.2A.A7.A33.A47.2A$46.A.A.A89.A$47.A.A.A44.A.2A
39.A.2A$50.A44.A3.2A38.A.2A2.3A$139.A.2A$138.A.A.5A$137.2A.A.A$138.A.
A$137.A3.A$21.2A114.A.A.A$11.2A3.A2.2A.A116.A.A.2A$10.A4.2A.A.A.A118.
A2.2A$11.A2.A3.A.A.2A116.2A3.A$13.A.A.A.A.A2.A.2A111.A.A.A.A$10.2A2.
2A.A.A.A.2A.2A110.2A.A.A.2A$10.2A3.A2.2A.A117.A.A.A$19.A121.A.A$141.A
.A$140.2A.A$143.2A$142.A$141.A.2A$141.A3.2A$140.2A2.A.2A$146.2A$144.
2A$139.2A2.A$12.A11.2A.2A109.A2.2A.2A$11.A.4A2.2A.2A.A.2A108.A.A2.A.A
.A$12.2A7.A115.A2.A.A.A.2A$16.A.2A2.3A114.2A.A.A2.A$16.2A.A.A120.A.A.
A$19.A.2A118.2A.A.A$16.A3.A2.A116.A.A.A.A$14.A.3A3.2A116.A.A2.3A$11.
2A7.A116.2A.A.A4.A$10.A3.2A5.5A111.2A.A.A$11.A2.2A5.A.A.2A111.A.A.2A$
140.A.A$140.A.A$139.2A.A.2A$140.A3.A$143.A.A$143.A.A$144.A.A$145.3A$
145.A2$13.3A$12.A$11.2A2$11.2A$11.3A.A$12.A.2A2$12.2A$11.A.2A131.2A$
10.2A133.A$144.A.A$10.2A132.A$10.5A129.A$11.A132.A$140.A3.A$139.2A2.
3A$140.A.A.2A$140.A.A$140.A.A$137.2A.A.2A$138.A.A3.3A$137.2A.A.A.A.A$
137.2A.A.A4.A$138.A.A.A2.A.2A$139.2A.A.A2.2A$142.A.A.A.A$141.2A.A.A$
140.A.A.A.2A$140.A.A.A.A$138.A.A.A.A2.A$137.A2.A.A.A.2A$137.A.A2.A.A.
2A$138.A3.A.A$138.A.3A.2A$139.2A2.A$143.A$142.3A$141.A3.A$140.2A2.A.
2A$142.2A3.A$140.2A.A$143.2A$50.A91.A$50.A91.A$47.A.A.A89.A.A.2A$47.A
3.2A87.2A.A.2A$46.A.A.A90.A.A$41.A.A4.A.2A6.A81.2A.A$41.A2.2A.2A.A7.A
80.A.A.A.2A$40.A.A.3A.A.A4.A.A.A79.A.A.A$42.A.A3.A.A4.A3.2A77.2A.A.A.
2A$39.2A.A5.A.A.A.A.A.A40.2A37.2A.A3.A$39.4A2.2A.A.A.A3.A.2A35.A.A2.A
40.2A.A$40.A2.2A.A.A2.4A.A.A36.A3.2A40.A2.A$44.A.A.A2.A4.A.A36.2A3.A
40.A2.2A$44.A.A.3A2.A.2A.A37.4A41.A.3A$44.A.A.A3.3A.A.2A34.2A42.2A4.
2A$43.2A.A.A2.2A3.A2.2A32.A.5A37.A.A.A.A$42.A.A.A.A.A.A4.A34.A44.A3.A
$44.A.A.A.A6.A.A32.A.6A38.A.A$41.2A.A.A.A.2A6.3A31.A7.A.2A34.A.A2.3A$
41.4A.A.A.A7.A34.3A3.2A.2A33.2A.A2.A$42.A2.2A.A.A9.A32.A44.A.A.5A$46.
A.A.A8.2A34.3A40.A.A$47.2A2.2A.A.5A34.A44.A.2A.2A$48.A.A3.A41.3A40.2A
4.2A$49.3A.5A38.A3.2A37.A.2A$50.A2.A3.2A37.A.4A37.A.A$52.2A2.A40.2A.
2A36.2A.A$53.A.A2.A38.A41.A.2A$53.A.A.2A79.2A$53.A.A.2A82.2A$49.A.A.A
.A43.2A39.A$45.A.A3.A.A.2A39.2A.2A17.2A19.A.3A.A$45.A2.4A.A.A41.A41.A
.A3.2A$44.A.A.A.2A.A.A41.A.2A16.2A20.A.A.A.2A$46.A.A4.A.A40.2A.A16.A.
A.A18.A.A.A.2A$43.2A.A.A4.A.2A40.A.A16.A3.A20.A.4A$43.4A.A4.A2.2A38.
2A.A17.A.A19.2A.A.A$44.A2.2A.A3.A44.A17.A.A18.A.A.A$48.A.A3.A.A39.2A.
A.2A13.2A.A18.A.A.A$49.2A4.3A41.A.2A14.A.A2.3A12.2A.A2.2A$50.A.A2.A
40.2A.A19.A.A2.2A12.A.2A$52.A4.A33.A.2A2.A.2A18.A.3A17.A.2A$51.2A3.2A
33.2A.2A.A2.2A17.A.A2.A16.A.A$52.A.A.2A35.A4.A18.A.A.A.3A14.2A.A$52.A
.A36.2A.A3.A18.A3.A17.A.A.A.A$52.A.2A38.A3.2A16.A.A2.2A.2A13.A3.A$51.
2A.A36.2A.A3.A17.A.A.A.A.2A13.A.3A$50.A.A.A37.A.A2.2A.A14.4A.A.A17.A
3.A$50.A3.A37.A.A.A3.3A13.A.A.A.2A17.2A.2A$49.A.A3.2A.A34.2A.3A4.A16.
A.A$44.A.A4.A3.A2.A34.A5.5A16.A.2A18.4A$44.A2.2A.2A2.2A.2A34.2A.3A21.
A.A.2A14.2A3.A$43.A.A.3A.A.A.A.A41.5A16.A.A3.A11.A2.A.2A$45.A.A3.A.A
3.A38.3A21.A.3A12.A2.2A.A$42.2A.A5.A.A.A.A38.A2.5A13.2A.A3.2A11.A.A.A
.A$42.4A2.2A.A.5A.A33.2A.A.A.A2.A12.A.A.A5.A10.A.A.A.A$43.A2.2A.A.A2.
A.A2.A36.A.A.A16.2A.A4.2A11.A.A2.2A$47.A.A.2A5.2A12.A20.2A.A.A2.A15.A
2.A2.A.2A12.2A4.3A$47.A.A.A6.A12.A.A20.A.A.A.2A17.2A.2A17.3A$47.A.A.A
5.2A13.3A.A17.A.A.A2.A17.A2.2A.2A13.A5.2A$46.2A.A.A4.A.A13.A4.2A.A14.
2A.5A18.A2.A.A16.A3.A19.2A$45.A.A.A.A.A2.A16.A2.2A2.A14.A20.2A3.A.A.A
17.A25.A$45.A3.A.A.A2.2A16.2A.A.2A14.A4.A.A11.2A.A3.A20.3A23.2A$44.A.
A2.A2.2A3.A15.A.A3.A16.3A.A13.4A.A.A.A45.2A$46.A2.2A2.A.A19.A2.2A15.A
3.3A13.A3.A2.3A19.2A$43.2A.A3.A3.3A15.2A.A3.A17.A3.A14.4A.A21.A2.A21.
A.A$43.4A.A6.2A15.4A.A16.2A.A.A23.2A18.A2.2A20.A.2A$44.A2.3A23.A2.3A
15.2A2.3A15.2A.2A2.2A17.6A21.3A$48.2A27.2A20.2A15.2A.2A22.A.A24.2A!
Here are non-emulated views of all the new ships; in order of appearance: 2c/5 left, c/3 left, c/4, and 2c/3 right:
HGWKLrI.gif
HGWKLrI.gif (14.92 KiB) Viewed 775 times
rnYgkhn.gif
rnYgkhn.gif (10.76 KiB) Viewed 775 times
All speeds but c/3 left are new, and the 2c/3 is the first right speed found in this rule.


If you run these ships in the emulated rule you'll find something curious—all of those ships have bilateral or glide-reflect symmetry. Figuring out what it even means for a ship in a naive rule to be symmetric was an interesting process! I'll get into it now:

First, we need to understand how gfind's spaceship representation (as described here) works, so I'll summarize here for anyone not familiar with it. Basically, we take all the phases of the ship and interleave their rows together. This lets us work with a finite 2-dimensional pattern instead of an infinite 3-dimensional one (with time as the unbounded dimension). To find a ship, gfind searches for rows that would logically fit with the interleaved ship as it's been constructed so far; for a ship that moves k cells every p generations, row x, given row x+p above it and x-p below it, should evolve into row x+k.

[/img]
sNLlOtZ.png
sNLlOtZ.png (1.67 KiB) Viewed 775 times
Here's a visual example of the constraint using the Turtle, which moves 1 cell forward every 3 generations: the live red cell, given the dead blue cells and the live green cells as neighbors, should evolve into the live yellow cell. You can find that this applies to every cell in this pattern.

We can get the spaceship back by taking every pth row of the pattern (where p is the ship's period) but we'll take a slightly different approach here; we'll mark every p rows, and then for every step move the interleaved pattern k rows forward relative to the marked rows (where k is how many cells the ship moves forward per period). All of the cells in our marked rows will comprise the actual non-interleaved spaceship. Let's demonstrate this with the Turtle again:
eqGPyGl.gif
eqGPyGl.gif (19.76 KiB) Viewed 775 times
Okay, we have our representation, now we need to figure out what about it's going to change when we're looking at horizontally-moving ships in naive rules. For one, we're going to want to look at evolution slice-by-slice. (I'm using "slice" here to refer to a line of cells parallel to the ship's direction of movement, so in this case, they'll all be rows.) We're not going to care about the update order of each individual slice; this entire technique still applies even if each slice were updated at once. (Since each slice is not updated at once, the exact cells we look at to satisfy our constraint are going to be a bit different—but that's not particularly relevant here.) So here's the plan: On a given step, instead of moving the entire interleaved pattern forward at once, we'll move it slice-by-slice instead. When we check a cell in the interleaved pattern to see if it satisfies the constraint mentioned three paragraphs ago, we'll do so after the slices above it are shifted.

Here's a left-moving c/2 from Naive B3/S24 as an example:
0pUQaVq.gif
0pUQaVq.gif (26.08 KiB) Viewed 775 times
So, let's think about how bilaterally symmetric ships work here. In normal rules such as Life, slices are mirrored so that for each slice, there is a "mirror" slice that is identical to the slice and whose adjacent slices are the mirror slices of the original slice's adjacent slices. The lone exception to this is the center slice of odd-width bilaterally symmetric ships, which does not have a mirror slice but whose adjacent slices are mirrors of each other.

Let's focus on how odd-width symmetric ships work in Naive rules first since they'll be a little simpler. To start with, I'm going to make a bold claim and say that the below ship is, in a sense, an interleaved c/2 left-moving ship in NaiveLife:
qX1IDvJ.png
qX1IDvJ.png (464 Bytes) Viewed 775 times
(I'm going to number this ship's slices 1 through 9 from here on out. Slice x is a mirror of slice 10-x, with slice 5 being the middle slice which has no mirror.)

Now, I'm not solely working backwards here. If we ignore slices 1 through 5, we indeed see that slices 5 through 9 evolve as we would expect them to. We can even attach the non-interleaved ship to the top of a planar grid and it would move left, but the key thing here is we can't just mirror the ship as I did here because the first four slices would evolve before their mirrors would. Luckily, the solution to this issue is deceptively simple.

Let's look at slice 5. At the time of its evaluation, we want slice 4 and slice 6, being mirrors of each other, to be in the exact same position. But if we simply reflect the slices then slice 4 would be one cell ahead of slice 6, since at the time of slice 5's evaluation slice 4 has been shifted and slice 6 has not...so why not just move slices 1 through 4 back by one?
ZzmA8is.png
ZzmA8is.png (500 Bytes) Viewed 775 times
Let's do that and then take a look at slice 4. We want slices 3 and 5 to be in the same position that slices 7 and 5 are, respectively, for slice 6. That's already the case for slice 5; right now slice 4 is one cell behind slice 5 and when we evaluate slice 6 then slice 5 will be one cell ahead of it. But that's not the case for slices 3 and 7. When we evaluate slice 4, slice 3 will be one cell more forward than slice 7 will be for slice 6. So, again, we'll move slices 1 through 3 back by one.
SwSCzZv.png
SwSCzZv.png (378 Bytes) Viewed 775 times
If we keep doing this, we'll find that now each mirrored slice is evaluated in the exact same conditions that its mirror is evaluated in and that the center slice's neighbor slices are mirrored exactly at the time of the center slice's evaluation. We have our symmetric ship, for a certain definition of symmetry!
w4nsE4d.gif
w4nsE4d.gif (23.29 KiB) Viewed 775 times
We can do more or less this same process for even-width symmetry, but there's a slight catch—now that there're two center slices instead of one, the lower center slice will have to be evaluated identically to the upper slice while being evaluated right after it as well. And with an odd value for k, there's no way for that to work; the lower slice can't go from being x cells ahead of the upper slice to being x cells behind it if k isn't even.

Interestingly, even-width symmetric ships show up in the emulated rule as having glide-reflect symmetry. It's definitely not the most accurate way to think of it, but I do find it funny that this is sort of the reverse situation than with normal rules. In naive rules, k being even, rather than p, is a necessary condition for a ship to be "glide-reflective"!

Post Reply