Life variants

For discussion of other cellular automata.
Post Reply
User avatar
Tropylium
Posts: 421
Joined: May 31st, 2011, 7:12 pm
Location: Finland

Life variants

Post by Tropylium » July 24th, 2011, 7:29 pm

Some things that probably don't need separate topics. Feel free to post your own variants here, too.

First off, I saw the discussion of life with suppressors (as taken from LifeHistory), and decided to up the ante a bit by adding "white holes", which force any nearby cells on. To resolve what happens to cells near both a white hole and a suppressor ("black hole"), the latter now only force adjacent living cells to be off, and similarly white holes only force off cells to be on. (Any space cell adjacent to both a black hole and a white hole will thus perforce oscillate at p2.) Here's the rule table:

Code: Select all

# LifeForce
# Life with black holes and white holes
# state 0: off
# state 1: on
# state 2: black hole (nearby on > off)
# state 3: white hole (nearby off > on)
#
n_states:4
neighborhood:Moore
symmetries:permute

var a={0,1,2,3}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,2,3}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}

# black hole
1,2,a,b,c,d,e,f,g,0

# white hole
0,3,a,b,c,d,e,f,g,1

# 2-neighbor survival
1,1,1,i,j,k,l,m,n,1

# 3-neighbor survival
1,1,1,1,i,j,k,l,m,1

# 3-neighbor birth
0,1,1,1,i,j,k,l,m,1

# death otherwise
1,a,b,c,d,e,f,g,h,0
What this mod excels at is oscillators. A lone white hole, for example, will spawn a most ornamental p88 oscillator. Simply placing a few white holes (and possible some black) around and seeing what happens will easily yield more…

The "heart", a simple p4 with one white hole:

Code: Select all

x = 4, y = 4, rule = LifeForce
2A$3A$AC2A$4A!
p31 precedessor

Code: Select all

x = 6, y = 6, rule = LifeForce
5.C5$C!
A precedessor of an amusing p534 "hivepusher":

Code: Select all

x = 9, y = 1, rule = LifeForce
B3.C3.B!
p514 precedessor

Code: Select all

x = 3, y = 4, rule = LifeForce
2C3$.2C!
Generates a stator for itself:

Code: Select all

x = 7, y = 2, rule = LifeForce
.C3.C$C5.C!
Long-lived methuselahs are also abundant. This humble pattern for example

Code: Select all

x = 3, y = 2, rule = LifeForce
2.C$2C!
takes about 3.8 megagenerations before the triplet of white holes finally stabilizes with a p7 pattern. It is not obvious at all whether such patterns *necessarily* stabilize; but if this is thus an exploding rule, it's surely incredibly slow at that. Possibly even logarithmic? It seems that the thicker the surrounding junk layer, the harder it is for a cloud of activity to penetrate thru and lay down some new stuff near the edge.

These junk generators ("dirty guns?") are also good for producing pseudo-random variation within a small space. Things like rake colliders or line puffers have the problem that the population grows about linearly; but here, it stays much more put, and so calculating millions of generations won't be an issue even on an older computer.

Some of them can also be considered "B guns" etc. that could be easily cleaned up with some standard circuitry, like the p124 engine here:

Code: Select all

x = 4, y = 3, rule = LifeForce
3.C$.2C$C!
Lastly for now, three precedessors of small multibarrel'd clean guns:

Code: Select all

x = 2, y = 2, rule = LifeForce
CB$.C!

Code: Select all

x = 4, y = 4, rule = LifeForce
3.B3$C!

Code: Select all

x = 3, y = 3, rule = LifeForce
C.C2$C.C!
(I find that last one to be simply hypnotic)

User avatar
Tropylium
Posts: 421
Joined: May 31st, 2011, 7:12 pm
Location: Finland

Re: Life variants

Post by Tropylium » July 24th, 2011, 8:55 pm

…and toying with black hole cells for a change, a pulsar-to-tumbler reaction:

Code: Select all

x = 5, y = 15, rule = LifeForce
4.B3$3A$A.A$3A4$3A$A.A$3A3$4.B!

User avatar
Lewis
Posts: 337
Joined: March 17th, 2009, 5:26 pm
Location: UK
Contact:

Re: Life variants

Post by Lewis » July 25th, 2011, 3:37 am

After a bit of playing with the rule, I've found several other oscillators (P3, 4, 8, 20, 34, 58, 266 and 281):

Code: Select all

x = 80, y = 83, rule = LifeForce
3B5.4A$2.B4.2A2C2A$3B4.AC2.CA42.3B.3B8.7A$2.B4.AC2.CA44.B.B.B7.2A2.C
2.2A$3B4.2A2C2A42.3B.B.B6.A2.C3.C2.A$8.4A43.B3.B.B7.2A2.C2.2A$55.3B.
3B8.7A5$B.B6.3A8.3A$B.B5.5A6.5A8.2A.2A$3B4.3AC3A4.3AC3A5.B.5C.B$2.B4.
2ACAC2A4.2ACAC2A7.A3.A18.3B.B.B$2.B6.3A6.3AC3A7.2AB2A20.B.B.B6.A2.A$
19.5A31.3B.3B6.A$20.3A34.B3.B5.A.C2.B$55.3B3.B6.A$68.A2.A4$3B9.3A$B.B
8.2AC2A$3B7.2ACACA$B.B7.ACAC2A$3B7.2AC2A$11.3A2$55.3B.3B$55.B3.B.B12.
A.A$55.3B.3B11.2A.2A$57.B.B.B9.2A5C2A$55.3B.3B11.2A.2A$74.A.A12$21.B
3$.3B.3B.3B$3.B.B3.B10.3A$.3B.3B.3B7.2AC2A$.B3.B.B.B.B2.B4.ACACA3.B$.
3B.3B.3B8.3A4$21.B19$.3B.3B.B$3.B.B.B.B21.4A$.3B.3B.B20.6A$.B3.B.B.B
19.A.4C.A$.3B.3B.B20.6A$31.4A!

User avatar
Tropylium
Posts: 421
Joined: May 31st, 2011, 7:12 pm
Location: Finland

Re: Life variants

Post by Tropylium » July 26th, 2011, 12:33 pm

p67:

Code: Select all

x = 6, y = 7, rule = lifeforce
.A2.A$6A$2A2C2A$.4A$2A2C2A$AC2ACA$6A!
p240 hivepusher engine, emits a queen bee:

Code: Select all

x = 7, y = 24, rule = lifeforce
B5.B$3.B$2.3A$2ACAC2A$7A19$3.B!
(I suspect there may exist a beehive slidegun with a similar mechanism…)

p458 gun:

Code: Select all

x = 6, y = 5, rule = lifeforce
4B$4A$A2CA.B$4A.A$3.3A!
p534 gun:

Code: Select all

x = 9, y = 9, rule = lifeforce
2.A$2.A$3.3AB$3.AC2A$3.A2CA$7A$A2CA3.2A$2ACA$.3A!

User avatar
Lewis
Posts: 337
Joined: March 17th, 2009, 5:26 pm
Location: UK
Contact:

Re: Life variants

Post by Lewis » July 26th, 2011, 2:35 pm

Updated collection, with several other oscillators from this topic as well as some new ones (P3, 6, 14, 15, 26, 30, 86, 122, 428, 429, 766):

Code: Select all

x = 227, y = 159, rule = LifeForce
23.A$2.3B3.B.B2.B.B7.C58.3B.3B10.2A3.2A$4.B4.C4.C16.B50.B3.B.B9.2A.A.
A.2A$2.3B3.3A2.B.A4.AC3.CA2.A.C.A48.3B.3B8.A.3A.3A.A$2.B28.B52.B.B.B
9.2A5C2A$2.3B18.C58.3B.3B8.A.3A.3A.A$23.A74.2A.A.A.2A$99.2A3.2A3$11.
2A$2.3B4.6A8.2A7.3A7.4A$4.B4.A.2C.A7.4A5.5A5.2A.C2A$2.3B3.2AC2AC2A5.
2A2C2A3.2A3C2A4.A3C.A$4.B3.2AC2AC2A5.2A2C2A3.2A3C2A4.A.3CA$2.3B4.A.2C
.A7.4A5.5A5.2AC.2A$9.6A8.2A7.3A7.4A$11.2A5$2.B.B51.A8.A2.A$2.B.B6.3A
8.3A9.2A.2A15.2A.2A5.A4.A$2.3B5.2AC2A6.2AC2A6.B.5C.B3.4A6.A.C.A8.C$4.
B5.ACACA6.ACACA18.2ACA5.A.3C.A6.C$4.B5.5A6.2AC2A7.2A.B.2A5.3A6.A.C.A
5.A4.A95.B$12.A9.3A21.2A6.2A.2A6.A2.A$56.A$145.3B.3B.3B8.2A$147.B.B3.
B9.4A$103.2A12.2A26.3B.3B.3B6.3AC2A$103.2A3.A4.A3.2A26.B3.B.B.B.B2.B
3.2ACACA3.B$108.A4.A31.3B.3B.3B7.2A.2A$2.3B78.3B.3B19.A2CA51.2A$2.B
15.2A63.B5.B20.2A59.A$2.3B10.3A.A63.3B3.B16.A3.2C3.A54.A.A$2.B.B8.2A
3.C.A62.B.B3.B15.A3.C2.C3.A48.B6.A$2.3B8.A.C4.A62.3B3.B14.A.A.2A2.2A.
A.A51.A$14.A5.A83.2A4.2A4.2A51.A2.A$14.A4.C.A82.3A8.3A54.A$14.A.C3.2A
84.3A4.3A$15.A.3A86.A2.A2.A2.A$15.2A90.2A4.2A6$50.A$12.2A20.2A3.2A7.A
2.A$2.3B7.3A8.3A8.A5.A6.A124.A8.A$2.B.B5.2AC3A5.7A8.A.A11.C120.A.A6.A
.A$2.3B5.ACAC2A5.2A3C2A5.A2.A.A2.A7.C120.A3.A4.A3.A$2.B.B3.2ACACA8.5A
5.A2.C3.C2.A8.C117.A4.A4.A4.A$2.3B3.3AC2A9.B.B6.A.C5.C.A7.C118.A.4A4.
4A.A$9.3A41.A91.3B.3B.B17.A10.A$10.2A21.A2.A.A2.A7.A2.A94.B.B.B.B17.A
.3A2.3A.A$34.A5.A9.A94.3B.3B.B17.2A2.A2.A2.2A$145.B3.B.B.B16.A3.A4CA
3.A$14.A130.3B.3B.B17.2A2.A2.A2.2A$2.B.3B6.A.A155.A.3A2.3A.A$2.B.B.B
5.5A154.A10.A$2.B.B.B6.ACA38.2A24.3B.3B22.3A57.A.4A4.4A.A$2.B.B.B6.3A
8.A22.A.2A.A27.B.B.B24.4A56.A4.A4.A4.A$2.B.3B7.B7.5A20.A3.A3.A24.3B.
3B20.4ACA57.A3.A4.A3.A$23.CAC11.B.B.B10.C2.A24.B.B.B.B19.2A2CAC3A56.A
.A6.A.A$22.AC.CA10.B.B.B6.A.C3.A25.3B.3B19.9A57.A8.A$23.CAC11.B.3B7.A
3.C.A50.3ACA2C2A$22.5A10.B3.B6.A2.C56.AC4A$24.A12.B3.B6.A3.A3.A51.4A$
51.A.2A.A52.3A$48.2A8$55.A131.3A.A.A12.A.A.3A$54.A.A131.2A3.A12.A3.2A
$3.B.3B10.A2.A15.3B.3B10.ACA97.B.B.3B.3B21.A10.6A10.A$3.B.B12.A2.A17.
B.B10.3AC3A95.B.B3.B.B.B23.2A2.A2.A3.2C3.A2.A2.2A$3.B.3B9.2A2C2A14.3B
.3B7.A.2C.2C.A94.3B.3B.3B21.A5.A.A10.A.A5.A$3.B3.B10.A2.A15.B3.B.B8.
3AC3A97.B.B3.B.B23.2A2.A2.A3.2C3.A2.A2.2A$3.B.3B10.A2.A15.3B.3B10.ACA
99.B.3B.3B21.A10.6A10.A$54.A.A131.2A3.A12.A3.2A$55.A131.3A.A.A12.A.A.
3A7$.3B.3B10.3A$3.B.B.B8.2A.C.2A$.3B.B.B4.2A2.AC3.CA2.2A$.B3.B.B8.2A.
C.2A148.6B$.3B.3B10.3A84.3A$175.A.A$105.A.A60.B4.3A.2AB$106.A46.B.B.
3B.3B4.B3.A.3C.AB$153.B.B3.B.B.B4.B3.4A2.AB$153.3B.3B.3B4.B5.A4.B$78.
3B.3B20.3A47.B.B5.B4.B7.2A.B$78.B.B.B.B19.A3.A46.B.3B.3B4.B10.B$78.3B
.3B12.A.A3.A2.A2.A3.A.A$17.2B59.B.B.B.B12.A2.A2.A.ACA.A2.A2.A$78.3B.
3B12.A.A3.A2.A2.A3.A.A55.6B$.3B.3B96.A3.A$3.B.B.B97.3A$.3B.B.B9.2A$3.
B.B.B7.2AC2A3.B$.3B.3B7.2A2CA3.B82.A81.A31.A$16.3A86.A.A80.A31.A$17.
2A169.A15.B15.A$105.3A37.3B.3B.B.B$145.B5.B.B.B48.A$145.3B.3B.3B27.2A
6.2A8.A.A.A.A8.2A6.2A$147.B3.B3.B26.A2.A4.A2.A7.A2.C2.A7.A2.A4.A2.A$
145.3B.3B3.B27.2A6.2A8.A.A.A.A8.2A6.2A$26.2A176.A$25.A.A$25.A.2A159.A
15.B15.A$25.A.2A159.A31.A$24.2A.2A159.A31.A$27.5A$24.A.8A$26.CA5.A$
24.A4.4A$2.3B.B18.A.A.A$4.B.B11.A.A.A$2.3B.B8.4A4.A$4.B.B7.A5.AC$2.3B
.B7.8A.A$16.5A$19.2A.2A$19.2A.A$19.2A.A$20.A.A$20.2A5$183.6B3$166.3B.
3B.3B3.B10.B$168.B.B3.B5.B10.B$103.2A63.B.3B.3B3.B5.5AB$77.B.3B.3B16.
A2.A62.B.B.B.B.B3.B5.ACA2.B$3B.B.B70.B3.B3.B15.A.C.A62.B.3B.3B3.B5.A
2C2.B$2.B.B.B6.A63.B.3B.3B14.A.C.A75.B5.2A3.B$3B.3B6.A.A61.B.B3.B15.A
.C.A82.2A.A$2.B3.B5.A.C.AB59.B.3B.3B13.A2.A$3B3.B6.A.A84.2A81.6B$13.A
!
A way of making high-period oscillators is to make a box out of the State 2 cells, then put a State 3 seed inside it. Eg. the oscillator below is p6214:

Code: Select all

x = 19, y = 16, rule = LifeForce
19B$B17.B$B17.B$B17.B$B10.A6.B$B10.2A5.B$B2.4A3.A2.A4.B$B2.AC3A3.A.2A
3.B$B2.A2C2A3.A.A4.B$B2.4A5.A5.B$B4.3A10.B$B.3A2.2A9.B$B.3A2.3A8.B$B.
2A14.B$B17.B$19B!
p2910:

Code: Select all

x = 22, y = 12, rule = LifeForce
22B$B2.A17.B$B.A2.A10.3A2.B$B4.A11.CA2.B$B2.2C.A8.A3.A.B$B2.C.A13.A.B
$B2A.2A13.A.B$B2.A10.A2.CA2.B$B17.A2.B$B14.A.A3.B$B20.B$22B!
Last edited by Lewis on July 26th, 2011, 2:38 pm, edited 1 time in total.

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

Re: Life variants

Post by Extrementhusiast » July 26th, 2011, 2:38 pm

See my ExtendedLife variant. It includes your "black holes" and "white holes", plus some extras.
I Like My Heisenburps! (and others)

David
Posts: 212
Joined: November 3rd, 2009, 2:47 am
Location: Daejeon, South Korea

Re: Life variants

Post by David » July 26th, 2011, 9:39 pm

How interesting...
Here, a P118 oscillator.

Code: Select all

x = 5, y = 5, rule = LifeForce
3.2A$.A$2.2C$A.CAC$A2.C!
Call me "Dannyu NDos" in Forum. Call me "Park Shinhwan"(박신환) in Wiki.

User avatar
Tropylium
Posts: 421
Joined: May 31st, 2011, 7:12 pm
Location: Finland

Re: Life variants

Post by Tropylium » August 13th, 2011, 5:37 pm

New idea: mirror cells! A pattern meeting a line of these would act like it met a reflection of itself.

This is to some extent possible even with just wall cells, for patterns where the reflection axis runs along a row of dead cells, so that the halves simply act as induction coils to one another:

Code: Select all

x = 30, y = 4, rule = extendedlife
2.E5.2E4.5E7.E$.3A3.4A2.5A$A2.A3.A2.A2.2A3.A7.A$2A14.3A6.3A.E!
(This is a bookend, a table, a half-tumbler and a quarter-pulsar stabilized by walls)

Anyone done this in full yet? I'm currently working out the details. I'm going to go with horizontal reflection being odd; even reflection cannot be handled without referencing cell positions, since

Code: Select all

M.o  Mo.
MOo  MOo
M..  M..
…the central cell on the left should survive, and the central cell on the right should die, despite both having two plain and three mirror neighbors.

Diagonal and orthogonal reflection CAN be handled with the same cells, since a cell near an orthogonal mirror will have three mirror neighbors, while a cell near a diagonal mirror will have one or two. I'm not sure what should happen with four mirror neighbors; five occurs in implementing D4 symmetry and is a insta-kill.

User avatar
Tropylium
Posts: 421
Joined: May 31st, 2011, 7:12 pm
Location: Finland

Re: Life variants

Post by Tropylium » November 24th, 2011, 9:13 pm

Two Life colorations that don't really do anything new, but may provide some further insight (and definitely work as eye candy). First, "LifeAnnotated", which simply has separate states for all possible cell neighborhoods:

Code: Select all

n_states:18
neighborhood:Moore
symmetries:permute
# 0     A0     (vacuum)
# 1-2   S23    (alive)  
# 3-4   D01    (underpopulation)
# 5-9   D45678 (overpopulation)
# 10    B3     (newborn)
# 11-12 A12    (influence)
# 13-17 A45678 (wall-in)

#will be alive
var a = {1,2,10}
var b = {a}
var c = {a}
var d = {a}
var e = {a}
var f = {a}
var g = {a}
var h = {a}

#will be dead
var i = {0,3,4,5,6,7,8,9,11,12,13,14,15,16,17}
var j = {i}
var k = {i}
var l = {i}
var m = {i}
var n = {i}
var o = {i}
var p = {i}

#currently alive
var q = {a}

#currently dead
var r = {i}

#D01
q,i,j,k,l,m,n,o,p,3
q,i,j,k,l,m,n,o,h,4
#S23
q,i,j,k,l,m,n,g,h,1
q,i,j,k,l,m,f,g,h,2
#D45678
q,i,j,k,l,e,f,g,h,5
q,i,j,k,d,e,f,g,h,6
q,i,j,c,d,e,f,g,h,7
q,i,b,c,d,e,f,g,h,8
q,a,b,c,d,e,f,g,h,9

#A012
r,i,j,k,l,m,n,o,p,0
r,i,j,k,l,m,n,o,h,11
r,i,j,k,l,m,n,g,h,12
#B3
r,i,j,k,l,m,f,g,h,10
#A45678
r,i,j,k,l,e,f,g,h,13
r,i,j,k,d,e,f,g,h,14
r,i,j,c,d,e,f,g,h,15
r,i,b,c,d,e,f,g,h,16
r,a,b,c,d,e,f,g,h,17
This is basically for the purpose of color-coding cells according to what is happening. How to do this exactly depends on what you may be interested in, and probably an issue of taste too. After some tweaking, this is the palette I like the best for differentiating everything:

Code: Select all

color=0    0     0     0 A0
color=1  255   255   255 S2		
color=2  255   255    95 S3
color=3    0   255   255 D0
color=4  127   255   255 D1
color=5  255   127     0 D4
color=6  255    63    63 D5
color=7  255     0     0 D6
color=8  255     0   127 D7
color=9  255     0   255 D8
color=10   0    95     0 B3
color=11  23    23    23 A1
color=12  47    47    47 A2
color=13  31    63    95 A4
color=14  31    31   127 A5
color=15   0     0   159 A6
color=16   0     0   191 A7
color=17   0     0   223 A8
Vacuum is black; vacuum edges are grey; surviving cells are white/yellow; underpopulated cells are cyan; overpopulated cells are orange/red/purple; cells to be born are green; dead overpopulated cells are teal/blue.

Also here's a simpler variant that doesn't distinguish A1/2, D0/1, D4/5, D7/8, A4/5/6, A7/8.

Code: Select all

color=0    0     0     0 A0
color=1  255   255   255 S2		
color=2  255   255     0 S3
color=3    0   255   255 D0
color=4    0   255   255 D1
color=5  255   127     0 D4
color=6  255   127     0 D5
color=7  255     0     0 D6
color=8  255     0   191 D7
color=9  255     0   191 D8
color=10   0    95     0 B3
color=11  23    23    23 A1
color=12  23    23    23 A2
color=13  31    31   127 A4
color=14  31    31   127 A5
color=15  31    31   127 A6
color=16   0     0   191 A7
color=17   0     0   191 A8
One thing I think this rule exposes quite well is how repeating overpopulation is the #1 thing that keeps Life from exploding; take something like a R-pentomino and just watch all those sudden red splashes…

---

Second: "AgingLife". Exactly what it says on the tin: this allows keeping track of how long a cell has stayed alive (up to 9 generations here, but easy to extend if required).

Code: Select all

# AgingLife
# Life with aging cells
n_states:10
neighborhood:Moore
symmetries:permute

var a={1,2,3,4,5,6,7,8,9}
var b={a}
var c={a}
var d={0,a}
var e={d}
var f={d}
var g={d}
var h={d}
var i={d}
var j={d}
var k={d}

# birth
0,a,b,c,0,0,0,0,0,1

# survival
1,a,b,0,0,0,0,0,0,2
1,a,b,c,0,0,0,0,0,2
2,a,b,0,0,0,0,0,0,3
2,a,b,c,0,0,0,0,0,3
3,a,b,0,0,0,0,0,0,4
3,a,b,c,0,0,0,0,0,4
4,a,b,0,0,0,0,0,0,5
4,a,b,c,0,0,0,0,0,5
5,a,b,0,0,0,0,0,0,6
5,a,b,c,0,0,0,0,0,6
6,a,b,0,0,0,0,0,0,7
6,a,b,c,0,0,0,0,0,7
7,a,b,0,0,0,0,0,0,8
7,a,b,c,0,0,0,0,0,8
8,a,b,0,0,0,0,0,0,9
8,a,b,c,0,0,0,0,0,9
9,a,b,0,0,0,0,0,0,9
9,a,b,c,0,0,0,0,0,9

# death
a,d,e,f,g,h,i,j,k,0
Again, the color selection is probably the harder part. This palette starts from white and ages thru yellow, orange, red, and purple to blue:

Code: Select all

color=0    0     0     0
color=1  255   255   255		
color=2  255   255     0
color=3  255   127     0
color=4  255     0     0
color=5  255     0   127
color=6  255     0   255
color=7  127     0   255
color=8    0     0   255
color=9    0     0   191
Best viewed with oscillators.

---

I also have a third of these for the purpose of detailed stator analysis in particular, but there's still some features I want to add to that before posting it…

Post Reply