![]() |
||
|
|
||
For this simulation I started with the "packnml1.org" and "packnml2.org" organism programs, which are virtually identical to one-another. Each looks around for other organisms, checks to make sure they don't have the same markings as their own, then charges at them and tries to eat them. The identity check is very fragile, but is almost completely effective when mutations are turned off.
Compare the program listings above. They are identical, but in each case the identity check has been matched to the markings of each organism to prevent each variety from eating its own kind.
In very short order, one variety, represented by character 160 (á) wipes out the other. If the identity check code has not mutated by now, none of these organisms will eat each other, and the population will starve.
Some type of mutation that breaks the identity check often occurs before the organisms starve to death. In this instance, the identity comparison is now looking for 159 (), which matches no existing organism, allowing the mutant to eat organisms with its own marking - the only kind available. This type of mutation occurred the first time I witnessed this organism develop into a stable population. I ran this simulation many times to recreate the same process again. By protecting an organism with markings that do not yet exist, the mutant is creating a niche - should any of these mutants' markings mutate to the newly protected type, they will have a huge advantage, like wolves in sheeps' clothing. For a while, the population of organisms marked with character 160 swirls around, eating itself:
At this point, a small group breaks away from the main body, chasing after a mutant which made a beeline for the far wall.
Suddenly, the moment arrives; one organism mutates to markings represented by character 159 (), and is able to consume the 160-marked organisms in a flash.
The program code of all of these organisms still retains the basic functionality of the original, which causes the parent population to ignore its mutant children even as they are wiped out by them, and protects the children from eating each other.
Finally, these new organisms mutate again, allowing them to eat each other and survive. Download the program and read the instructions marked "WANT TO SEE SOMETHING COOL RIGHT AWAY?" to try a similar simulation that I've engineered to keep the population alive long enough for interesting results to occur quite frequently. |
||