CRITRS - A new type of CA

For discussion of other cellular automata.
Post Reply
webchat
Posts: 2
Joined: February 1st, 2021, 8:20 am

CRITRS - A new type of CA

Post by webchat »

Hi Folks. I've been lurking a while but finally decided to join.

I've been working for some time on a new type of CA which I've named CRITRS. Instead of rules dictating births and deaths of cells I've been exploring swapping cell contents according to a matrix placed over them (total numbers always remaining static). For example, using a 2x2 matrix, 4 cells at a time can be processed.

The way it works is that if there is an active 'particle' under one of the matrix cells then it triggers one of 7 rules for that cell, namely swap top-left with top-right, top-left with bottom-left, and all the other combinations, including don't swap anything.

Therefore in a 2x2 matrix there are 7 possible rules for each corner and these can be chosen intentionally or at random, giving a possible set of 2,401 rule combinations (7^4). I have also looked at matrix sizes between 1x1 and 9x9 and have written code to view the results, which you can play with at http://critrs.com

Some of the rule sets are a bit like Conway's Life, but many have staggeringly more complexity and, as well as looking Turing Complete (although I have yet to confirm this), some configurations really appear to take on a life of their own, especially once you get up to matrixes of 3x3 cells and higher, with anything from 10^14, up to 10^284 possible rule set combinations (for a 9x9 grid). I haven't gone higher than this as already there's far too much to evaluate, and at these levels the speed can grind to a halt.

Anyway, there's much more explanation at the website, and a large variety of options and tools to play with, including a rule set and world editor, and copy and paste of rule sets and configurations (if you download the source files to your own PC - they are just HTML/JavaScript). It's still a work in progress and I intend to tie it into a PHP backend with AJAX when I get the time to allow dynamic saving and loading of data.

So there you have it, my first, and hopefully not last post here, and any and all feedback would be most welcome! :)
User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: CRITRS - A new type of CA

Post by bubblegum »

Welcome to the forums!

These rules you're describing seem highly similar to Margolus neighbourhood rules. They use an array of sixteen values (for example Margolus Critters is M15,14,13,3,11,5,6,1,7,9,10,2,12,4,8,0) assigning a destination arrangement for each starting neighbourhood configuration, labelled 0 through 15. The gimmick in Margolus rules to let them expand is that the neighbourhoods shift diagonally.

For reference, here's MargSingRot (my all-time favourite, where the neighbourhood rotates if it contains one cell) in action:

Code: Select all

x = 54, y = 5, rule = M0,2,8,3,1,5,6,7,4,9,10,11,12,13,14,15
2o4b2o$17bo8bo5bobo5bo2bo5b2o$2bo5bo7bo7b2o6bobo17bo$17b2o7bo14bo2bo7b
2o$8bo!
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:July 2nd, 2020, 8:33 pmconwaylife signatures are amazing[citation needed]
anything
webchat
Posts: 2
Joined: February 1st, 2021, 8:20 am

Re: CRITRS - A new type of CA

Post by webchat »

Thanks for this. Interesting name similarity there!

However, I have looked through what you linked to and there is almost no similarity at all as far as I can tell, as my system works on swapping in very simple but resultingly complex manners, far differently from what Margolus achieves. His automata result in a sort of spinning motion and mostly the same sorts of behaviours, whereas mine creates almost entire universes of planets and rockets and all sorts of strange and very wide and varying effects. Did you have a chance to visit the page at http://critrs.com and see them in action? To get a very quick overview press A now and then to select a new preset with different behaviour.
Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: CRITRS - A new type of CA

Post by Hunting »

webchat wrote: February 2nd, 2021, 6:19 am Thanks for this. Interesting name similarity there!

However, I have looked through what you linked to and there is almost no similarity at all as far as I can tell, as my system works on swapping in very simple but resultingly complex manners, far differently from what Margolus achieves. His automata result in a sort of spinning motion and mostly the same sorts of behaviours, whereas mine creates almost entire universes of planets and rockets and all sorts of strange and very wide and varying effects. Did you have a chance to visit the page at http://critrs.com and see them in action? To get a very quick overview press A now and then to select a new preset with different behaviour.
That rule just HAPPENS to be spinny and your so-called new CA achieves exactly what Margolus achieves, at least in terms of concept and effect.

There's a wide variety of Margolus rules. Say:
Hunting wrote: November 14th, 2020, 10:45 pm

Code: Select all

x = 0, y = 0, rule = MS,D0;8;8;5;4;10;6;7;8;10;10;7;9;14;14;15
!
#C [[ RANDOMIZE ]]
User avatar
Redstoneboi
Posts: 467
Joined: May 14th, 2018, 3:57 am

Re: CRITRS - A new type of CA

Post by Redstoneboi »

The website seems to break.
In case nothing is happening, hit up inspect element with ctrl+shift+i, move to Sources/critrs.js, and comment out line 112.

The code should originally look like this:

Code: Select all

function init()                                                                 // Prepare everything
{
  iwin.style.top = -(iwin.offsetHeight + 20) + 'px'                             // Pop the instructions up high
  dwin.style.odisplay = 'block'                                                 // Make the control panel visible

  buildWolfram()                                                                // Build the Wolfram CA rules
  getFromStorage()                                                              // Fetch any saved patterns
  setupCanvas()                                                                 // Ready the canvas
  setRes(5)                                                                     // Select a medium resolution
  newPreset()                                                                   // Load in the first preset from presets.js

  setTimeout(mainLoop, 0)                                                       // Jump to the loop at next available cycle
}
You want to comment out the getFromStorage() line.

Code: Select all

function init()                                                                 // Prepare everything
{
  iwin.style.top = -(iwin.offsetHeight + 20) + 'px'                             // Pop the instructions up high
  dwin.style.odisplay = 'block'                                                 // Make the control panel visible

  buildWolfram()                                                                // Build the Wolfram CA rules
  // The following line broke on my computer. I have commented it out.
  // getFromStorage()                                                              // Fetch any saved patterns
  setupCanvas()                                                                 // Ready the canvas
  setRes(5)                                                                     // Select a medium resolution
  newPreset()                                                                   // Load in the first preset from presets.js

  setTimeout(mainLoop, 0)                                                       // Jump to the loop at next available cycle
}
Once it's commented out, hit ctrl+s, and then move to the console. Type init() and watch as the program springs to life.
May I also comment on the dark blue font on dark background?
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.
bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: CRITRS - A new type of CA

Post by bprentice »

To counter the posts by bubblegum and Hunter above, here is a rule:

rule.png
rule.png (101.72 KiB) Viewed 2671 times

that supports ships with the following characteristcs:

Code: Select all

 ship    period x disp. y disp
S043.sqc   763   -10      -7
S044.sqc   900     1      18
S045.sqc   324     4      -8
S046.sqc    16    -1       0
S047.sqc   429     3      -9
This Ron Nixon rule and many others can be run on Square Cell here:

http://bprentice.webenet.net/Java%20Squ ... 0Nixon.zip

These extraordinary knight ships are easy to find: Here is another one:

ks.png
ks.png (18.8 KiB) Viewed 2664 times

It is from a different rule and is S049.sqc in the archive referenced above.

Yet another one:

ks2.png
ks2.png (18.77 KiB) Viewed 2566 times

S059.sqc in updated archive.

Brian Prentice
Last edited by bprentice on February 28th, 2021, 11:32 am, edited 1 time in total.
User avatar
yujh
Posts: 3157
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: CRITRS - A new type of CA

Post by yujh »

I hope FWK can make a ruletable :)
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!
Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: CRITRS - A new type of CA

Post by Hunting »

bprentice wrote: February 27th, 2021, 4:47 pm To counter the posts by bubblegum and Hunter above
Ok, now you're arguing for the sake of arguing.
User avatar
PHPBB12345
Posts: 1150
Joined: August 5th, 2015, 11:55 pm
Contact:

Re: CRITRS - A new type of CA

Post by PHPBB12345 »

bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: CRITRS - A new type of CA

Post by bprentice »

Hunting wrote: February 28th, 2021, 2:58 am Ok, now you're arguing for the sake of arguing.
Another one of your unnecessary, pointless and asinine comments.

Brian Prentice
User avatar
Aleph
Moderator
Posts: 2331
Joined: February 18th, 2021, 11:18 am

Re: CRITRS - A new type of CA

Post by Aleph »

Hunting wrote: February 28th, 2021, 2:58 am Ok, now you're arguing for the sake of arguing.
bprentice wrote: February 28th, 2021, 7:38 am Another one of your unnecessary, pointless and asinine comments.

Brian Prentice
Both of you please stop :(
The counterexample pointed above might be a good point, but now this argument is just unproductive insults :(
bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: CRITRS - A new type of CA

Post by bprentice »

These Ron Nixon rules are truly novel and fascinating. This rule:

rule.png
rule.png (27.55 KiB) Viewed 2488 times

has the following ships:

Code: Select all

 ship    period x disp. y disp
S062.sqc  1027     6       2
S063.sqc  2452    -3      -6
S064.sqc   167    -4       3
S065.sqc   170    -3       4
S066.sqc   176     3      -6
S067.sqc   169     0       2
S068.sqc    50     1       1
This rule:

rule 2.png
rule 2.png (24.94 KiB) Viewed 2466 times

when played on a 100x200 cell torus has these ships:

Code: Select all

S069.sqc 45474    -3      -2
S070.sqc    26     1       0
S071.sqc    12     0       1
S072.sqc    23    -1       0
S073.sqc    13     0      -1
The knight ship consists of the four orthogonal ships bouncing off a single cell still life pattern.

The archive

http://bprentice.webenet.net/Java%20Squ ... 0Nixon.zip

has been updated.

Brian Prentice
Post Reply