## Various cellular automata discovered on graphing calculators

For discussion of other cellular automata.
REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Various cellular automata discovered on graphing calculators

These were discovered on the TI-84 Plus Graphing Calculator. They all have unknown rules, since they were made by screwing around with a faulty program, and it isn't exactly straightforward, despite how it may seem, to translate them into GoL rules.
Names: Segmentations, Target, Runes, Shine, Growing Crystallization, and Glint.
Code for "Segmentations":

Code: Select all

``````:Plot1(Scatter,X,Y,.
:∟X→P
:∟Y→Q
:Repeat getKey or S<2
:∟P→X
:∟Q→Y
:DispGraph
:DelVar ∟P
:DelVar∟Q
:1→S
:For(X,min(∟X)-1,1+max(∟X
:For(Y,min(∟Y)-1,1+max(∟Y
:sum(1=max(abs(∟X-X),abs(∟Y-Y
:1=Ans or 2=Ans-max(∟X=X and ∟Y=Y
:If Ans
:Then
:X→∟P(S
:Y→∟Q(S
:S+1→S
:End
:End
:End
:End
:PlotsOff
:ClrHome
:"
``````
Code for "Target":

Code: Select all

``````:Plot1(Scatter,X,Y,.
:∟X→P
:∟Y→Q
:Repeat getKey or S<2
:∟P→X
:∟Q→Y
:DispGraph
:DelVar ∟P
:DelVar∟Q
:1→S
:For(X,min(∟X)-1,1+max(∟X
:For(Y,min(∟Y)-1,1+max(∟Y
:sum(1=max(abs(∟X-X),abs(∟Y-Y
:2=Ans or 2=Ans-max(∟X=X and ∟Y=Y
:If Ans
:Then
:X→∟P(S
:Y→∟Q(S
:S+1→S
:End
:End
:End
:End
:PlotsOff
:ClrHome
:"
``````
Code for "Runes":

Code: Select all

``````:Plot1(Scatter,X,Y,.
:∟X→P
:∟Y→Q
:Repeat getKey or S<2
:∟P→X
:∟Q→Y
:DispGraph
:DelVar ∟P
:DelVar∟Q
:1→S
:For(X,min(∟X)-1,1+max(∟X
:For(Y,min(∟Y)-1,1+max(∟Y
:sum(1=max(abs(∟X-X),abs(∟Y-Y
:1=Ans or 2=Ans-max(∟X=X and ∟Y=Y
:If Ans
:Then
:X→∟P(S
:Y→∟Q(S
:S+1→S
:End
:End
:End
:End
:PlotsOff
:ClrHome
:"
``````
Code for "Shine":

Code: Select all

``````:Plot1(Scatter,X,Y,.
:∟X→P
:∟Y→Q
:Repeat getKey or S<2
:∟P→X
:∟Q→Y
:DispGraph
:DelVar ∟P
:DelVar∟Q
:1→S
:For(X,min(∟X)-1,1+max(∟X
:For(Y,min(∟Y)-1,1+max(∟Y
:sum(1=max(abs(∟X-X),abs(∟Y-Y
:2=Ans or 4=Ans-max(∟X=X and ∟Y=Y
:If Ans
:Then
:X→∟P(S
:Y→∟Q(S
:S+1→S
:End
:End
:End
:End
:PlotsOff
:ClrHome
:"
``````
Code for "Growing Crystallization":

Code: Select all

``````:Plot1(Scatter,X,Y,.
:∟X→P
:∟Y→Q
:Repeat getKey or S<2
:∟P→X
:∟Q→Y
:DispGraph
:DelVar ∟P
:DelVar∟Q
:1→S
:For(X,min(∟X)-1,1+max(∟X
:For(Y,min(∟Y)-1,1+max(∟Y
:sum(1=max(abs(∟X-X),abs(∟Y-Y
:3=Ans or 2=Ans-max(∟X=X and ∟Y=Y
:If Ans
:Then
:X→∟P(S
:Y→∟Q(S
:S+1→S
:End
:End
:End
:End
:PlotsOff
:ClrHome
:"
``````
Code for "Glint":

Code: Select all

``````:Plot1(Scatter,X,Y,.
:∟X→P
:∟Y→Q
:Repeat getKey or S<2
:∟P→X
:∟Q→Y
:DispGraph
:DelVar ∟P
:DelVar∟Q
:1→S
:For(X,min(∟X)-1,1+max(∟X
:For(Y,min(∟Y)-1,1+max(∟Y
:sum(1=max(abs(∟X-X),abs(∟Y-Y
:4=Ans or 2=Ans-max(∟X=X and ∟Y=Y
:If Ans
:Then
:X→∟P(S
:Y→∟Q(S
:S+1→S
:End
:End
:End
:End
:PlotsOff
:ClrHome
:"
``````
Evolution of a blinker in "Segmentations" until the 6th generation (this took 3 minutes and 18 seconds to record)
6 generations of Segmentations.gif (214.24 KiB) Viewed 3955 times
Last edited by REDsEngineer on November 7th, 2018, 2:43 pm, edited 1 time in total.

toroidalet
Posts: 1054
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

### Re: Various cellular automata discovered on graphing calculators

I don't know how to read TI-84 Plus code, but "Segmentations" is definitely in between B12ac/S1e3a and B123-ir4-cin5-i6-i78/S012-i34-air5-i678:

Code: Select all

``````x = 3, y = 1, rule = B12ac/S1e3a
3o!
``````

Code: Select all

``````x = 3, y = 1, rule = B123-ir4-cin5-i6-i78/S012-i34-air5-i678
3o!
``````
"Build a man a fire and he'll be warm for a day. Set a man on fire and he'll be warm for the rest of his life."

-Terry Pratchett

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

toroidalet wrote:I don't know how to read TI-84 Plus code, but "Segmentations" is definitely in between B12ac/S1e3a and B123-ir4-cin5-i6-i78/S012-i34-air5-i678:

Code: Select all

``````x = 3, y = 1, rule = B12ac/S1e3a
3o!
``````

Code: Select all

``````x = 3, y = 1, rule = B123-ir4-cin5-i6-i78/S012-i34-air5-i678
3o!
``````
Wait, what do the letters (besides the capital B and S, I know they're for the begin and stay requirements) mean? Also, this is a description of the commands in the "Segmentations" code:
"Plot1(Scatter,X,Y,." turns on the first plot and sets it to a scatter plot with one-pixel point markers with X and Y lists called "X" and "Y" respectively
"∟X→P" stores list "X" to the variable "P"
"∟Y→Q" stores list "Y" to the variable "Q"
"Repeat getKey or S<2" starts a loop that lasts until a key is pressed or the variable "S" is less than 2
"∟P→X" stores list "P" to the variable "X"
"∟Q→Y" stores list "Q" to the variable "Y"
"DispGraph" displays the graph
"DelVar ∟P" deletes list "P"
"DelVar ∟Q" deletes list "Q"
"1→S" stores the number 1 to the variable "S"
"For(X,min(∟X)-1,1+max(∟X)" makes the minimum value of the variable "X" 1 less than the current lowest value of the variable "X" and the maximum value of the variable "X" 1 more than the current greatest value of the variable "X"
"For(Y,min(∟X)-1,1+max(∟Y)" makes the minimum value of the variable "Y" 1 less than the current lowest value of the variable "Y" and the maximum value of the variable "Y" 1 more than the current greatest value of the variable "Y"
"sum(1=max(abs(∟X-X),abs(∟Y-Y))"... actually I don't know what it does
"1=Ans or 2=Ans-max(∟X=X and ∟Y=Y" seems to change the rules in some way. I don't know exactly how.
"If Ans" returns true if there is an answer
"Then" executes the following code if the previous command returned true
"X→∟P(S" stores the variable "X" to the list "P". I think the "(S" part puts the variable "S" in list "P".
"Y→∟Q(S" stores the variable "Y" to the list "Q". I think the "(S" part puts the variable "S" in list "Q".
"S+1→S" increments the variable "S" by 1.
"End" (first instance) marks the end of the list of commands that are started by "Then" if "If Ans" returns true.
"End" (second instance) marks the end of the loop started by "Repeat getKey or S<2". The program goes back to "Repeat getKey or S<2". If "Repeat getKey or S<2" doesn't start the loop, the program skips to the next command.
I don't know what the next two instances of "End" are ending.
I don't know what the last command does.

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

### Re: Various cellular automata discovered on graphing calculators

"B" and "S" stand for "birth" and "survival." The letters after that specify exact birth/survival requirements added to the number. For example, B4 has the following specifications (as does S4): ("o" is a live cell; "b" is a dead cell; "\$" is a line break; "!" is the end of the pattern)

Code: Select all

``````x = 3, y = 3, rule = B4c/S
obo\$
bbb\$
obo!``````

Code: Select all

``````x = 3, y = 3, rule = B4e/S
bob\$
obo\$
bob!``````

Code: Select all

``````x = 3, y = 3, rule = B4k/S
obo\$
obb\$
bob!``````

Code: Select all

``````x = 3, y = 3, rule = B4a/S
ooo\$
bbo\$
bbb!``````

Code: Select all

``````x = 3, y = 3, rule = B4i/S
obo\$
obo\$
bbb!``````

Code: Select all

``````x = 3, y = 3, rule = B4n/S
ooo\$
bbb\$
obb!``````

Code: Select all

``````x = 3, y = 3, rule = B4y/S
obo\$
bbo\$
obb!``````

Code: Select all

``````x = 3, y = 3, rule = B4q/S
oob\$
obb\$
bbo!``````

Code: Select all

``````x = 3, y = 3, rule = B4j/S
oob\$
bbo\$
bob!``````

Code: Select all

``````x = 3, y = 3, rule = B4r/S
oob\$
obo\$
bbb!``````

Code: Select all

``````x = 3, y = 3, rule = B4t/S
ooo\$
bbb\$
bob!``````

Code: Select all

``````x = 3, y = 3, rule = B4w/S
oob\$
bbo\$
bbo!``````

Code: Select all

``````x = 3, y = 3, rule = B4z/S
2o2\$
b2o!``````
These birth/survival conditions will also work with any configuration rotated a multiple of 90 degrees from the original:

Code: Select all

``````x = 3, y = 3, rule = B4a/S
3o4bo7b2o\$2bo4bo2bo4bo\$6b2o2b3o2bo!``````
Last edited by Gamedziner on November 7th, 2018, 12:07 pm, edited 1 time in total.

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!
``````

Redstoneboi
Posts: 356
Joined: May 14th, 2018, 3:57 am

### Re: Various cellular automata discovered on graphing calculators

REDsEngineer wrote: Wait, what do the letters (besides the capital B and S, I know they're for the begin and stay requirements) mean?
First off, wrong. They’re for “Birth” and “Survival”, but they do still make sense.
Basically the letters stand for the formation of the neighbors, regardless of rotation or reflection for example 2a means there are 2 neighbors in an “a” arrangement which are any of these: (don’t mind yellow)

Code: Select all

``````x = 17, y = 17, rule = /2a/3
4.9B\$4.B2A3B2AB\$4.2B.3B.2B\$4.9B\$17B\$BA3B7.3BAB\$BA.2B7.2B.AB\$5B7.5B\$5B
7.5B\$5B7.5B\$BA.2B7.2B.AB\$BA3B7.3BAB\$17B\$4.9B\$4.2B.3B.2B\$4.B2A3B2AB\$4.
9B!``````
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.

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

Redstoneboi wrote:
REDsEngineer wrote: Wait, what do the letters (besides the capital B and S, I know they're for the begin and stay requirements) mean?
First off, wrong. They’re for “Birth” and “Survival”, but they do still make sense.
Close enough for me. Anyways, I found my TI-84 Plus, so I'm gonna update it now.

Hooloovoo
Posts: 37
Joined: July 11th, 2015, 8:59 pm

### Re: Various cellular automata discovered on graphing calculators

Segmentations is B12/S13
target is b2/s23
runes looks to be the same as segmentation
shine is b24/s23
Growing Crystallization is b23/s3
glint is b24/s34

When coding in TI-BASIC for things like cellular automata, a faster way of storing data than a list of pixels that are 'on' is to simply use the pixels themselves, with Pxl-test. One thing you have to keep in mind is that the you can't update the pixels as you're scanning across, so you need to save a row or two in a list.

One problem with the speed of your program is the list operations (list-int, min(, etc) aren't very fast, and to show one frame, you need to do a lot of them.

The TI-84+ is a great platform for learning to program on. Mine (well, one of them) was my first computer. I know M. I. Wright has much experience as well.

77topaz
Posts: 1467
Joined: January 12th, 2018, 9:19 pm

### Re: Various cellular automata discovered on graphing calculators

toroidalet wrote:

Code: Select all

``````x = 3, y = 1, rule = B123-ir4-cin5-i6-i78/S012-i34-air5-i678
3o!
``````
Out of curiosity, what is the inverse rule of this (i.e. that being simulated by the dead cells in the expanding block of live cells)? It has some neat pseudo-Margolus oscillators.

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

### Re: Various cellular automata discovered on graphing calculators

77topaz wrote:
toroidalet wrote:

Code: Select all

``````x = 3, y = 1, rule = B123-ir4-cin5-i6-i78/S012-i34-air5-i678
3o!
``````
Out of curiosity, what is the inverse rule of this (i.e. that being simulated by the dead cells in the expanding block of live cells)? It has some neat pseudo-Margolus oscillators.

This rule:

Code: Select all

``````x = 3, y = 1, rule = B3i4air6i/S2i3i4cin5ir8
20o\$20o!
``````

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!
``````

77topaz
Posts: 1467
Joined: January 12th, 2018, 9:19 pm

### Re: Various cellular automata discovered on graphing calculators

Nice! Looking at it carefully, it's not actually pseudo-Margolus, but Margolus rule 11:

Code: Select all

``````x = 19, y = 1, rule = B2c4c/S
obobobobobobobobobo!
``````

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

Hooloovoo wrote:Segmentations is B12/S13
target is b2/s23
runes looks to be the same as segmentation
shine is b24/s23
Growing Crystallization is b23/s3
glint is b24/s34

When coding in TI-BASIC for things like cellular automata, a faster way of storing data than a list of pixels that are 'on' is to simply use the pixels themselves, with Pxl-test. One thing you have to keep in mind is that the you can't update the pixels as you're scanning across, so you need to save a row or two in a list.

One problem with the speed of your program is the list operations (list-int, min(, etc) aren't very fast, and to show one frame, you need to do a lot of them.

The TI-84+ is a great platform for learning to program on. Mine (well, one of them) was my first computer. I know M. I. Wright has much experience as well.
The Segmentations rule is wrong.
Also, the Target rule appears to be closer to Growing Crystallization.
Also, Runes is not the same as Segmentations.
Also, the Shine rule is completely wrong; the Blinker evolves into an "cartoon sparkle" shaped oscillator after 2 turns in Shine. It doesn't explode.
Also, you literally just posted the Conway's Game of Life rules for Growing Crystallization. Seriously dude.
Also, Glint is supposed to be similar to what Shine is supposed to be.
I didn't make the program, I got it by fixing the code listed here: http://tibasicdev.wikidot.com/game-of-life
BTW, you're free to help me make it faster, I had to stop the recording at 3 minutes 18 seconds because only 5.333% of my hard drive is free and I'm not willing to get rid of any of my stuff.
Last edited by REDsEngineer on November 12th, 2018, 2:36 pm, edited 1 time in total.

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

REDsEngineer wrote:
REDsEngineer wrote:
Hooloovoo wrote: runes looks to be the same as segmentation
That's actually not possible, as they behave differently. While Segmentations slowly increases the number of blocks of pixels before starting to draw TIE fighters, Runes just draws dingbats the entire time it's active.
Also, the Segmentations rule is wrong.
Also, the Target rule appears to be closer to Growing Crystallization.

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

REDsEngineer wrote:
REDsEngineer wrote:
REDsEngineer wrote: runes looks to be the same as segmentation
That's actually not possible, as they behave differently. While Segmentations slowly increases the number of blocks of pixels before starting to draw TIE fighters, Runes just draws dingbats the entire time it's active.
Also, the Segmentations rule is wrong.
Also, the Target rule appears to be closer to Growing Crystallization.
Also, the Shine rule is completely wrong; the Blinker evolves into an "cartoon sparkle" shaped oscillator after 2 turns in Shine. It doesn't explode.

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

REDsEngineer wrote:
REDsEngineer wrote:
REDsEngineer wrote: Also, the Segmentations rule is wrong.
Also, the Target rule appears to be closer to Growing Crystallization.
Also, the Shine rule is completely wrong; the Blinker evolves into an "cartoon sparkle" shaped oscillator after 2 turns in Shine. It doesn't explode.
Also, you literally just posted the Conway's Game of Life rules for Growing Crystallization. Seriously dude.

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

REDsEngineer wrote:
REDsEngineer wrote:
REDsEngineer wrote: Also, the Target rule appears to be closer to Growing Crystallization.
Also, the Shine rule is completely wrong; the Blinker evolves into an "cartoon sparkle" shaped oscillator after 2 turns in Shine. It doesn't explode.
Also, you literally just posted the Conway's Game of Life rules for Growing Crystallization. Seriously dude.
Also, Glint is supposed to be similar to what Shine is supposed to be.
Last edited by REDsEngineer on November 9th, 2018, 6:48 pm, edited 1 time in total.

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

Hooloovoo wrote:Segmentations is B12/S13
One problem with the speed of your program is the list operations (list-int, min(, etc) aren't very fast, and to show one frame, you need to do a lot of them.
I didn't make the program, I got it by fixing the code listed here: http://tibasicdev.wikidot.com/game-of-life
BTW, you're free to help me make it faster, I had to stop the recording at 3 minutes 18 seconds because only 5.333% of my hard drive is free and I'm not willing to get rid of any of my stuff.

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

### Re: Various cellular automata discovered on graphing calculators

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!
``````

77topaz
Posts: 1467
Joined: January 12th, 2018, 9:19 pm

### Re: Various cellular automata discovered on graphing calculators

REDsEngineer wrote: Also, you literally just posted the Conway's Game of Life rules for Growing Crystallization. Seriously dude.
Nope, you're the one who's wrong here. CGoL is B3/S23, not B23/S3.
^Indeed, please take note of this!

REDsEngineer
Posts: 13
Joined: November 6th, 2018, 7:12 pm

### Re: Various cellular automata discovered on graphing calculators

77topaz wrote:
REDsEngineer wrote: Also, you literally just posted the Conway's Game of Life rules for Growing Crystallization. Seriously dude.
Nope, you're the one who's wrong here. CGoL is B3/S23, not B23/S3.