Page 1 of 1

CRITRS - A new type of CA

Posted: February 1st, 2021, 8:42 am
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! :)

Re: CRITRS - A new type of CA

Posted: February 1st, 2021, 1:34 pm
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!

Re: CRITRS - A new type of CA

Posted: February 2nd, 2021, 6:19 am
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.

Re: CRITRS - A new type of CA

Posted: February 5th, 2021, 11:18 am
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 ]]

Re: CRITRS - A new type of CA

Posted: February 26th, 2021, 10:52 pm
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?

Re: CRITRS - A new type of CA

Posted: February 27th, 2021, 4:47 pm
by bprentice
To counter the posts by bubblegum and Hunter above, here is a rule:

rule.png
rule.png (101.72 KiB) Viewed 2685 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 2678 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 2580 times

S059.sqc in updated archive.

Brian Prentice

Re: CRITRS - A new type of CA

Posted: February 27th, 2021, 7:21 pm
by yujh
I hope FWK can make a ruletable :)

Re: CRITRS - A new type of CA

Posted: February 28th, 2021, 2:58 am
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.

Re: CRITRS - A new type of CA

Posted: February 28th, 2021, 6:04 am
by PHPBB12345

Re: CRITRS - A new type of CA

Posted: February 28th, 2021, 7:38 am
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

Re: CRITRS - A new type of CA

Posted: February 28th, 2021, 1:27 pm
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 :(

Re: CRITRS - A new type of CA

Posted: March 1st, 2021, 5:34 pm
by bprentice
These Ron Nixon rules are truly novel and fascinating. This rule:

rule.png
rule.png (27.55 KiB) Viewed 2502 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 2480 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