shouldsee wrote:
Bullet51 wrote:
And how on earth did you find such amazing rules?
Thank you for you appreciation. The short answer is: I don't know. The discovery of checkerlife is merely an accident: I was trying to stabilise [B12e3eijkr4ejqrtwz5cn6-ce7e/S01c2in3aejkr4ejkqtyz5ckq6-a], and attempted various modifications, and some mod give up to puffers and guns.
The discovery of [B12e3eijkr4ejqrtwz5cn6-ce7e/S01c2in3aejkr4ejkqtyz5ckq6-a], however, is due to my ongoing screening of non-totalistic rules. The screen is semi-automated: I used a matlab script to generate random rules and plot their dynamics into a pairwise distance map (aka profile), along with its space-time trajectory beside it. These rules are then ranked according to their profiles (specifically, the average of the profile plot). Then I manually inspected the top ranked rules, with some criteria. Usually the most interesting rules are of top 50-300 of each 10000 rules, but it's largely empirical (As long as the profile is not extreme, there is always space for interesting dynamics). I would say there is certain logic behind this method but it's not formally established yet.
The script is included in the
expt branch of CA_tfmat repository, it current supports both non-totalistic rules, totalistic rules, ECA and coupled logistic maps. The major script is derrida_general.m. Generate an example through samplesys.m to get familair with the idea. I also included manual annotation under CA_tfmat/Annotations.
Another important factor to consider is the vast rulespace of the non-totalistic rules. Whereas totalistic rulespace has 2^18 possibilities, nt-rules (nt for non-totalistic) has 2^102 possibilities. (1d semi-totalistic has 2^4 possibilities). Thus it's not too surprising that nt-rules exhibit a richer diversity than T-rules. (From another perspective, NT-rules are subject to less symmetry than T-rules).
Coming back to the methodology: The general derrida plot (GDP) is intimately related to the concept of the attractor basin. The GDP contained information about deviation at 2 time points: whether two closely related configs diverge, or two diverged configs coalesce. These relations can be treated statistically, and the observation is that the covaraince between deviation_t1 and deviation_t2 is an important indicator of the dynamics. The GDP merely listed the covariance for every (t1,t2) combination. Consider a rule with a strong early-onset attractor, then we will see an early intensive covariant region on GDP. If the rule project the configs into a small number of basins, the GDP will show an early plateau. There is much to reason about GDP, and I think it might even be possible to extract information about the dominant attractor basin from the randomly generated ensemble. Interestingly, if you start with a random soup in checkerlife, the interesting glider dynamics is absent. On one hand, one can argue that GDP captures more information about a rule than glider-based criteria do. On the other hand, GDP seem to diverge from my perception of dynamics -- two dyanmically different rule might show a similar GDP (Although this similarity is often limited to coarse level. i.e. if one expand the GDP into distribution heatmap, then there is still perceviable difference, but that precludes efficient ranking of rules).
Somehow I feel it's not appropriate to rank rules in a linear fashion. Instead, a hierarchial organisation maybe more appropriate. Take checkerlife as an example, there are 102 possible mutations one can make. Some mutations abolish the dynamics completely. while others only incur minor changes. Personally I am mostly intrigued by the self-organised gliders from randomness, but once the glider became somehow replicative/regenerative, it would fill up the space too rapidly to result in a gaseous phase. How can we describe these relations with the language of attractor basins? I don't know. But we can at least figure out some incremental changes along a mutation path. More specifically, the hamming distance between 2 given rulestring is distorted. Starting from B3/S23, B23/S23 changes the dynamics greatly with 1 bit fliped, whereas B368/S238 endures 3 fliped bits but bear greatly similarity to B3/S23. Thus it'd be great if we can find a universal way to quantify the dynamical difference between 2 given rules given their rulestring, or at least spot the important bits of a given rulestring. (obviously not all 102bits in a nt-rule is important)
The kind of image generated is like this (the color might be inverted depending on how the distance is defined, d=1-corr(x,y) or d=cov(x,y))
- rU5Ov4I.jpg (29.01 KiB) Viewed 276 times
Additionally, I wrote a Chinese
blog with some nice graphics embedded to illustrate the idea of generalised derrida plot.
I want to discuss yet another piece of experience I had: the easiest way to find a novel interesting CA is not with any program, but human brain. It's incredibly difficult to write a automated evaluation function, but it's incredibly easy to look at the dynamics and say: "Hmm, I think this is amazing". Take some boring rule, mutate the bits randomly, and there is a good chance you find a rule with spontaneous gliders in 10 iterations. The problem with NT-rule/T-rule is that, the rulespace is simply too large to be completely searched with human brain, and some complex rules posess a larger territory while some complex rules are very stringent about mutations.
Essential Elements for a glider:
1. A self-sustainable stable background/agar. (All 0's, zebrastrip, checkerboard).
2. A transmitting pattern.
General descriptor for a rule:
1. Behavior from a random soup:
Does the evolution leaves debris/still lives behind it?
Does the evolution leaves dislocation/defects behind it?
Is the evolution sparky?
Does the evolution create correlation between space?