OscillatorSpace

For discussion of other cellular automata.
Post Reply
lemon41625
Posts: 370
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

OscillatorSpace

Post by lemon41625 » January 24th, 2020, 7:51 am

This is a custom rule I made.

Code: Select all

@RULE OscillatorSpace

@TREE
num_states=5
num_neighbors=8
num_nodes=59
1 0 0 1 2 3
1 0 1 2 3 4
1 1 2 3 4 3
2 0 0 1 0 2
2 1 1 2 1 0
2 2 2 0 2 0
3 3 3 4 3 5
2 0 0 0 0 0
3 4 4 5 4 7
2 0 0 0 0 1
3 5 5 7 5 9
4 6 6 8 6 10
2 0 0 1 0 1
3 7 7 9 7 12
4 8 8 10 8 13
2 1 1 1 1 1
3 9 9 12 9 15
4 10 10 13 10 16
5 11 11 14 11 17
3 12 12 15 12 15
4 13 13 16 13 19
5 14 14 17 14 20
2 1 1 1 1 0
3 15 15 15 15 22
4 16 16 19 16 23
5 17 17 20 17 24
6 18 18 21 18 25
2 1 1 0 1 0
3 15 15 22 15 27
4 19 19 23 19 28
5 20 20 24 20 29
6 21 21 25 21 30
3 22 22 27 22 7
4 23 23 28 23 32
5 24 24 29 24 33
6 25 25 30 25 34
7 26 26 31 26 35
3 27 27 7 27 7
4 28 28 32 28 37
5 29 29 33 29 38
6 30 30 34 30 39
7 31 31 35 31 40
3 7 7 7 7 7
4 32 32 37 32 42
5 33 33 38 33 43
6 34 34 39 34 44
7 35 35 40 35 45
8 36 36 41 36 46
4 37 37 42 37 42
5 38 38 43 38 48
6 39 39 44 39 49
7 40 40 45 40 50
8 41 41 46 41 51
4 42 42 42 42 42
5 43 43 48 43 53
6 44 44 49 44 54
7 45 45 50 45 55
8 46 46 51 46 56
9 47 47 52 47 57
2 spaceships moving at c

Code: Select all

x = 19, y = 3, rule = OscillatorSpace
.2A8.2A3.2A$.2B8.2B3.2B$A2BA6.ABDA.ADBA!
Some oscillators

Code: Select all

x = 165, y = 10, rule = OscillatorSpace
2D8.3D7.4D6.2B8.CD.DC6.2D7.3A7.3A8.B9.ADA6.A.B7.2A8.2D8.7D5.10D10.AC$
2D8.3D7.4D6.B10.B.B7.2B7.BCB7.3B7.B.B7.A.D.A6.D.C6.A2B7.2B8.7D5.10D
11.2C$10.3D7.4D17.CAC6.2AD7.ADA7.3B8.B8.5D5.B.A8.2BA6.2D8.7D5.10D8.AC
2.A$20.4D37.B8.3A17.A.D.A6.A10.2A16.7D5.10D8.A2C$61.B29.ADA36.7D5.10D
9.2A$130.7D5.10D$130.7D5.10D$142.10D$142.10D$142.10D!
Some breeders

Code: Select all

x = 3, y = 3, rule = OscillatorSpace
3A$DCD$3B!

Code: Select all

x = 9, y = 28, rule = OscillatorSpace
3.ABA$2.AB.A$2.A2C$5.A5$2.3A$A2B.A$ABD2AC$4.AC$2.BC2A$4.B$2.CDA$5.AD$
2.2A.2AB$3.B4A$3.B2.B5$6.A$4.5A$2.AB.A.2A$2.AB.2A$4.A!
I tried to apgsearch it, but apgsearch did not find anything.
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: 4315
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: OscillatorSpace

Post by Moosey » January 24th, 2020, 8:06 am

lemon41625 wrote:
January 24th, 2020, 7:51 am
2 spaceships moving at c

Code: Select all

x = 19, y = 3, rule = OscillatorSpace
.2A8.2A3.2A$.2B8.2B3.2B$A2BA6.ABDA.ADBA!
*c/2

Small seed for mess:

Code: Select all

x = 3, y = 2, rule = OscillatorSpace
B2A$.2B!
There's lots of dirty rake predecessors:

Code: Select all

x = 3, y = 10, rule = OscillatorSpace
.BA$.BA7$BA$BA!
not active here but active on discord

loves estradiol valerate

User avatar
FWKnightship
Posts: 1527
Joined: June 23rd, 2019, 3:10 am
Location: Hey,wait!! Where am I!? Help! Somebody help!I'm lost!!

Re: OscillatorSpace

Post by FWKnightship » January 24th, 2020, 9:13 am

A 12c/78 replicator:

Code: Select all

 x = 13, y = 5, rule = OscillatorSpace
C.D7.C.B$.DA8.DA2$.DA8.DA$C.D7.C.B!
A Sierpinski builder:

Code: Select all

x = 12, y = 5, rule = OscillatorSpace
B.C6.C.B$AD8.DA2$AD8.DA$B.C6.C.B!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'FWKnightship' object has no attribute 'signature'

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

Re: OscillatorSpace

Post by lemon41625 » January 24th, 2020, 9:37 am

Why doesn't apgsearch find anything in this rule?
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...

GUYTU6J
Posts: 2200
Joined: August 5th, 2016, 10:27 am
Location: 拆哪!I repeat, CHINA! (a.k.a. 种花家)
Contact:

Re: OscillatorSpace

Post by GUYTU6J » January 24th, 2020, 9:52 am

The rule is explosive and apgsearch cannot handle very well. How do you come up with the transition rules?
Some breeders...
They're rakes

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

Re: OscillatorSpace

Post by lemon41625 » January 24th, 2020, 10:15 am

I just played around with different transition functions until I found something nice.
With this script,

Code: Select all

class GenerateRuleTree:
    def __init__(self, file, numStates, numNeighbors, f):
        self.numParams = numNeighbors + 1
        self.world = {}
        self.r = []
        self.params = [0] * self.numParams
        self.nodeSeq = 0
        self.numStates = numStates
        self.numNeighbors = numNeighbors
        self.f = f
        self.file = open(file, "w")

        self.recur(self.numParams)
        self.writeRuleTree()

    def getNode(self, n):
        if n in self.world:
            return self.world[n]
        else:
            new_node = self.nodeSeq
            self.nodeSeq += 1
            self.r.append(n)
            self.world[n] = new_node
            return new_node

    def recur(self, at):
        if at == 0: return self.f(self.params)
        n = str(at)
        for i in range(self.numStates):
            self.params[self.numParams - at] = i
            n += " " + str(self.recur(at - 1))
        return self.getNode(n)

    def writeRuleTree(self):
        self.file.write("@RULE Custom-Rule-1\n\n@TREE\n")
        self.file.write("num_states=" + str(self.numStates) + "\n")
        self.file.write("num_neighbors=" + str(self.numNeighbors) + "\n")
        self.file.write("num_nodes=" + str(len(self.r)) + "\n")
        for rule in self.r:
            self.file.write(rule + "\n")

        self.file.close()


def my_transition_function(a):
    n = 0
    for i in range(len(a) - 1):
        if a[i] > 0 and not a[i] % 2:
            n += a[i]

    if 2 <= n <= 3 or n == 9 or 12 <= n <= 18: return a[8]
    if (n == 4 or n == 11) and a[8] < 4: return a[8] + 1
    if a[8] > 1: return a[8] - 1
    return 0


rule_file = r"golly-3.3-win-32bit\Rules\Oscillator.rule"
n_states = 5
n_neighbors = 8
GenerateRuleTree(rule_file, n_states, n_neighbors, my_transition_function)
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
FWKnightship
Posts: 1527
Joined: June 23rd, 2019, 3:10 am
Location: Hey,wait!! Where am I!? Help! Somebody help!I'm lost!!

Re: OscillatorSpace

Post by FWKnightship » January 24th, 2020, 10:24 pm

6-engine 12c/78 spaceship:

Code: Select all

x = 203, y = 45, rule = OscillatorSpace
69.C.B59.B.C$C.D7.C.B57.DA59.AD57.B.C7.D.C$.DA8.DA177.AD8.AD$70.DA59.
AD$.DA8.DA56.C.B59.B.C56.AD8.AD$C.D7.C.B177.B.C7.D.C4$C.D7.C.B51.ABA
69.ABA51.B.C7.D.C$.DA8.DA50.BA73.AB50.AD8.AD$63.BACB69.BCAB$.DA8.DA
53.A3.BD59.DB3.A53.AD8.AD$C.D7.C.B56.B2A59.2AB56.B.C7.D.C$69.BAC59.CA
B$72.A2B.A49.A.2BA$68.A4.3BA49.A3B4.A$68.AC3.4A49.4A3.CA$69.C5.B51.B
5.C$32.B36.2B2.B55.B2.2B36.B$30.5A12.3A103.3A12.5A$25.ABA3.CDC14.C
105.C14.CDC3.ABA$24.BC.A3.B.B14.B105.B14.B.B3.A.CB$24.BC.A3.B.B14.B
105.B14.B.B3.A.CB$25.ABA3.CDC14.C105.C14.CDC3.ABA$30.5A12.3A19.A2C59.
2CA19.3A12.5A$32.B36.3B59.3B36.B$69.3B59.3B$69.A2C59.2CA11$79.A43.A$
75.A.BCB14.CA.CA5.AC.AC14.BCB.A$76.CB.CA13.B2A.CB3.BC.2AB13.AC.BC$76.
CB.CA13.B2A.CB3.BC.2AB13.AC.BC$75.A.BCB14.CA.CA5.AC.AC14.BCB.A$79.A
43.A!
EDIT:P240+92n 23c/46 gun:

Code: Select all

x = 36, y = 13, rule = OscillatorSpace
D2.D$.2D$.2D$D2.D$31.BAD$27.AB.A.C$27.AB2A.C$27.AB.C.2A$30.ABA$31.AC
2.D$33.2D$33.2D$32.D2.D!

Code: Select all

 x = 59, y = 13, rule = OscillatorSpace
D2.D$.2D$.2D$D2.D$54.BAD$50.AB.A.C$50.AB2A.C$50.AB.C.2A$53.ABA$54.AC
2.D$56.2D$56.2D$55.D2.D!

Code: Select all

 x = 82, y = 13, rule = OscillatorSpace
D2.D$.2D$.2D$D2.D$77.BAD$73.AB.A.C$73.AB2A.C$73.AB.C.2A$76.ABA$77.AC
2.D$79.2D$79.2D$78.D2.D!
EDIT2:A still life:

Code: Select all

x = 7, y = 7, rule = OscillatorSpace
2.BDB$2.3D$BD3.DB$2D3.2D$BD3.DB$2.3D$2.BDB!
Stable 23c/46 duplicator, repeat time 141:

Code: Select all

x = 142, y = 38, rule = OscillatorSpace
24.BDB$24.3D$22.BD3.DB$22.2D3.2D$22.BD3.DB$24.3D$24.BDB$23.C9$58.AB
67.ABA2BA6.A$55.AC.DB.CBD63.DCBD2B6.B$2.BDB49.BC.A.A.B3A59.A3B2A.C5.
5A$2.3D49.BC.A.A.B3A59.A3B2A.C5.5A$BD3.DB48.AC.DB.CBD63.DCBD2B6.B$2D
3.2D51.AB67.ABA2BA6.A$BD3.DB$2.3D$2.BDB6$23.C$24.BDB$24.3D$22.BD3.DB$
22.2D3.2D$22.BD3.DB$24.3D$24.BDB!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'FWKnightship' object has no attribute 'signature'

Post Reply