These rules use very different principles than traditional cell-based rules - for example neighbor degree, number of connections, and eligibility criteria based on connectivity.
So in short, the cells are not becoming alive or dead based on the states of their neighbors, but rather on the topology of their neighborhoods.
The details are beyond the scope of a short write up, but are easy to explore in the rule-editor in the GUI of the code.
The level of structure and self-organization is striking, to me at least.
Also in all the rules - the links are visible and can have binary or real-valued states as well as the cells. So this enables pretty rich topology which rules can utilize.
Could you try explaining it in a comment? Not the general principle, but just the rules for one particular automaton. Whichever one is your favourite. Or Amazing Dragons, if you don't have a favourite.
The amazing part of cellular automata is the emergence of complicated behaviour from simple rules. Life's rules can be written in three sentences, maybe less.
Forgive my quibbling, but I don't understand what this is doing that other projects in this space haven't done before. Adding states and transition rules to edges is new to me...
I did try running your project, but I had to tweak it to get it to work with the instructions in the repo. I seem to be missing a few packages -- mpmath, sympy, typing_extensions. Can you add those to the requirements.txt file?
Let's see if I understood this right. For the Betweenness Amazing Dragons rule:
* Compute the "betweenness" of each living cell, which is 1 divided by its degree. Cells which are not connected to anything have infinite/undefined betweenness, but it doesn't matter.
* Then, for each cell, sum up the betweenness of its connected neighbours.
* If the total betweenness of a dead cell is in the range [(1.3, 3.6)], it is born and becomes alive at the next generation.
* If the total betweenness of a living cell is in the range [(0.9, 2.6)], it survives and remains alive to the next generation.
* Exception: any cell with 0, 1, 7 or 8 neighbours (in total, ignoring betweenness) dies anyway after the rules above were applied.
... That's not quite right, there's some references to "eligibility" that I can't make sense of. What else am I missing?
It'd be better to have fewer videos on the page and select for more striking examples like this one, and put them early. I got fatgue from see so many examples.
Also, consider getting off the grid and maybe doing some topology-based automata in combination with a more traditional network presentation paradigm like a force-directed layout. That would give you a much more 'biological' look which would draw a lot of people's attention.
So in short, the cells are not becoming alive or dead based on the states of their neighbors, but rather on the topology of their neighborhoods.
The details are beyond the scope of a short write up, but are easy to explore in the rule-editor in the GUI of the code.
Here is an example of a rule that is markedly different from a typical "life-like" rule: https://videopress.com/v/lQ5Bghsj
The level of structure and self-organization is striking, to me at least.
Also in all the rules - the links are visible and can have binary or real-valued states as well as the cells. So this enables pretty rich topology which rules can utilize.