Live data from Hacker News

Artificial-life: A simple (300 lines of code) reproduction of Computational Life

github.com

21–26 of 26 posts

Re: Artificial-life: A simple (300 lines of code) reproduction of Computational Life

#21
post #8

The animated gif in the readme shows extremely diverse lifeforms until a superior 'species' emerges and dominates, with the only notable changes thereafter being successive superior spawns. Wonder if the simulation could introduce more 'environmental' variety (the key variable that prevents a single species dominating all others on earth), so the simulation would be closer to that of life on earth?

We can slow the propagation speed and increase population size. Another option is to use a metric like hamming distance over the programs to determine if two neighbors should even be allowed to interact.

If we can come up with an accurate per-candidate fitness metric, there are techniques like fitness niching that can be much more accurate & flexible. Only allowing candidates within a certain range of performance to interact is one of the most powerful knobs you can turn for controlling convergence speed. Adjusting the niche radius over time is trivial.

Re: Artificial-life: A simple (300 lines of code) reproduction of Computational Life

#23

One interesting way to look at projects like this is that they’re essentially tiny universes defined by a functional update rule. The grid + instruction set + step function form something like: state(t+1) = F(state(t)) Once you have that, you get the same ingredients that appear in many artificial life systems: local interactions; persistence of information (program code); mutation/recombination; selection via replic…

Not sure i get the down vote. Real person here, maybe too vague and enthusiastic, but not malicious.

Re: Artificial-life: A simple (300 lines of code) reproduction of Computational Life

#24
post #5

This reminds me of Gresham's Law: "bad money drives out good." But here, the result is inverted—efficient replicators drive out the less efficient.

Well, (somewhat tongue-in-cheek,) one of the defining characteristics of "good money" is that it is very inefficient to replicate!

(Several places online list "durability; portability; divisibility; scarcity; fungibility; and acceptability" as the key characteristics of "good money." Difficulty-of-replication pertains to the "scarcity" characteristic: if it's easy to duplicate, that makes it "bad" money, not "good" money.)

Re: Artificial-life: A simple (300 lines of code) reproduction of Computational Life

#25
post #8

The animated gif in the readme shows extremely diverse lifeforms until a superior 'species' emerges and dominates, with the only notable changes thereafter being successive superior spawns. Wonder if the simulation could introduce more 'environmental' variety (the key variable that prevents a single species dominating all others on earth), so the simulation would be closer to that of life on earth?

Why is the density greater at equally spaced grid lines?

You're probably thinking "one cell = one pixel." In fact "one cell = one 8x8 block of pixels"; the specific pattern of colors in each 8x8 block represents the opcodes of that cell's 64-opcode program. So when the replicator takes over the map, it's changing the image to a repeating pattern of 8x8 blocks.

Now, don't quote me on this part, but I think the first replicator to take over is this (minus all the "junk DNA" between the instructions):

    [}
and the second, more efficient, one is:

    {[}
The latter means roughly:

    --head1;
    while (*head0) { *--head0 = *++head1; }
    *head0-- = *head1++;
    while (*head0) { --head1;
    // CUT HERE
which gets pasted together with whatever cell it's breeding with at the time.

Re: Artificial-life: A simple (300 lines of code) reproduction of Computational Life

#26
post #8

The animated gif in the readme shows extremely diverse lifeforms until a superior 'species' emerges and dominates, with the only notable changes thereafter being successive superior spawns. Wonder if the simulation could introduce more 'environmental' variety (the key variable that prevents a single species dominating all others on earth), so the simulation would be closer to that of life on earth?

Yesterday I played around with the repo and found that (IIUC) one "environmental condition" already present in the simulation is the mutation rate. With relatively low mutation rates, I find that a whole tape filled with `I described what (I think) I'm seeing in https://github.com/Rabrg/artificial-life/pull/1 , and suggested in https://github.com/Rabrg/artificial-life/pull/3 that random mutations ought to blow away the whole tape rather than modify only one cell of it. However, even with that modification to the rules, I still see the `So, anyway, it's easy to make the mutation rate vary from one side of the map to the other. If you do that right, you can see the `The `<` substrate is easy to see in the gif: it's a rapidly spreading splotch of red with gold noise flickering inside.
Post reply on HN