ConwayLife.com - A community for Conway's Game of Life and related cellular automata
Home  •  LifeWiki  •  Forums  •  Download Golly

Lejkin's Polystate Life

For discussion of other cellular automata.

Lejkin's Polystate Life

Postby Apple Bottom » September 1st, 2017, 2:50 pm

Last night, I spotted Nicolay Beluchenko's page on polystate Life, as created by Boris Lejkin:

Nicolay Beluchenko wrote:Boris Lejkin has offered the following alternative of Life with several alive states: Rule S23/B3 is fulfilled for cells of each ON state irrespective of others. If the dead cell has 3 neighbours in state A and 3 neighbours in state B birthes of a new cell do not happen.


In other words: each live state, together with the shared dead state, forms its own B3/S23 CA, and if a cell would get born in two different of these state-CAs (which obviously cannot happen: the cell cannot have two states at once in the next generation, at least not until someone comes up with some kind of quantum CA), it gets born in neither.

I thought this was interesting. Golly doesn't support it natively, but it should be easy enough to use RuleLoader, right? But these files will get fairly big as the number of states grows, it's easy to introduce mistakes, and besides, I'm lazy. So I thought, why not have a script generate these?

It didn't stop there; there's no reason to do all this for just Conway Life. The script I'd like to share (attached) therefore generates polystate versions of arbitrary outer-totalistic rules.

To run it, you'll need:

  • Perl;
  • the Algorithm::Combinatorics module, from CPAN;
  • the List::Compare::Functional module, also from CPAN.

Install the CPAN modules the usual way ("cpan install Algorithm::Combinatorics List::Compare::Functional" if your distro doesn't package them), then run the script like this:

$ perl polystatelife_rule.pl --states 4 --rule b36s125
Creating rule Polystate_B36S125_4...
Writing birth conditions...............................................................
Writing death conditions.................................................................................................................................................................................................................................................................................
Rule written in 0.01 seconds.


I have NOT tested this extensively (and haven't really tested non-Life rules at all), and would NOT AT ALL be surprised if this contains bugs, but the patterns from Beluchenko's page that I tried in Golly with the resulting rules worked.

I'd be very interested to hear feedback. (And to answer the obvious question right away: I don't plan on adapting this to non-totalistic rules, but if you want to do it, consider the script to be GPL3'ed and be my guest.)
Attachments
Polystate_B3S23_3.rule
(1.84 KiB) Downloaded 16 times
polystatelife_rule.zip
(2.78 KiB) Downloaded 8 times
Living proof that a little knowledge is a dangerous thing.

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!
User avatar
Apple Bottom
 
Posts: 743
Joined: July 27th, 2015, 2:06 pm

Re: Lejkin's Polystate Life

Postby toroidalet » September 2nd, 2017, 11:33 am

Synthesis of a 44-cell multistate still life in 12 gliders:
x = 18, y = 34, rule = Polystate_B3S23_3
15.A$15.A.A$15.2A2$2.A$A.A$.2A4$3.B6.B$4.B6.B$2.3B4.3B$6.B6.B$5.B6.B$
5.3B4.3B3$5.3A4.3A$5.A6.A$6.A6.A$2.3A4.3A$4.A6.A$3.A6.A4$.2B$B.B$2.B
2$15.2B$15.B.B$15.B!
I have the best signature ever.
User avatar
toroidalet
 
Posts: 751
Joined: August 7th, 2016, 1:48 pm
Location: Somewhere on a planet called "Earth"

Re: Lejkin's Polystate Life

Postby Apple Bottom » September 2nd, 2017, 4:01 pm

toroidalet wrote:Synthesis of a 44-cell multistate still life in 12 gliders:


Hey, cool! Now all we need is support for these rules in apgsearch. ;)

BTW, I noticed that more people grabbed the example rule file I included than the script itself, so in order to make it easier for people to explore these rules I've included all the generated rules files for B3/S23, up to 10 states.[1]

If anyone would like to see a different file, say for a different base rule or using a different number of states, but cannot run the script for whatever reason, let me know and I'll generate it.

1. This is an archive-within-an-archive, apologies for that. The reason is simply that the forum will allow neither a) xz-compressed files, nor b) files over 256 KB (the ZIP archive was 710). Talk about tools working against rather than for the user!
Attachments
Polystate_B3S23_3-10.zip
(141.53 KiB) Downloaded 11 times
Living proof that a little knowledge is a dangerous thing.

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!
User avatar
Apple Bottom
 
Posts: 743
Joined: July 27th, 2015, 2:06 pm

Re: Lejkin's Polystate Life

Postby Saka » September 2nd, 2017, 11:13 pm

This might make a synth
x = 17, y = 14, rule = Polystate_B3S23_3
5.2B$2A3.2B$2A3$3.2A2B$3.2A2B$11.3A$10.A2.A$10.A2.A$11.2A2$15.2A$15.
2A!
Everyone, please stop posting B/S about CA
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!

(Check gen 2)
User avatar
Saka
 
Posts: 2178
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X


Return to Other Cellular Automata

Who is online

Users browsing this forum: No registered users and 2 guests