-
Notifications
You must be signed in to change notification settings - Fork 8
Project Goal
Here is what I'm trying to achieve with Narjillos.
Every science has a dream. Physicists want the Grand Unified Theory; computer scientists want Artificial Intelligence; and in silico biologists want Open-Ended Evolution.
In Open-Ended Evolution, simulated creatures evolve indefinitely, becoming ever more interesting and complex–just like they do in the real world. The problem with that is that complexity doesn't happen without a reason. Nature doesn't like complexity: why should a creature become more complex if it's living in a simple ecosystem? Simulated ecosystems are not nearly as complex as the real world, so artificial creatures get complex up to a point, and then stop evolving.
In Narjillos, I'm not even aiming for the holy grail of Open-Ended Evolution. I'll be happy if I reach a more humble goal: the creatures become complex enough that I go "wow". The current program falls short even of that relatively modest goal. It can evolve good snake-like or bipedal swimmers, but they barely ever get any more interesting than that.
To get "wow"-inducing creatures, I need to make the system ever more complex, which means more and more simulation code. Not good. The alternative, as ever, is to look at nature.
Creatures in nature become increasingly complex because they're living in an increasingly complex ecosystem–one made up of other creatures. This triggers something called an Evolutionary Arms Race: creatures become more complex and specialized by competing with other creatures, that are themselves becoming more complex.
There are two kinds of arms races. In a Symmetrical Arms Race, the creatures compete with other creatures of the same species, like the pines in a forest growing higher than their neighbors to catch some extra sunlight. In an Asymmetrical Arms Race, creatures compete with other creatures of different species–like cheetas and gazelles.
Narjillos already engage in symmetrical arms races. Snake-like swimmers tend to become longer and thinner to beat their peers to the food. Bipedal swimmers develop slimmer bodies and larger feet for the same reason. This fratricide arms race is the force that shapes the creatures' bodies. On the other hand, symmetrical arms races are easy. The hard problem is getting an Asymmetrical Arms Race, which could result in more interesting, very specialized creatures that have that "wow" effect.
To get an arms race between species, I need two things.
- I almost certainly need Complex Interactions between the creatures, because they can't compete asymmetrically if they don't interact. Right now, all they do is steal food from each other. That doesn't cut it–you won't make me go "wow" by getting slightly longer feet that get you to the food one fraction of a second earlier. So, Complex Interactions come early in my to-do list.
- Oh, and I also need to have species. Doh! As it turns out, that's its own challenge.
"Species" are (to simplify my biology) pools of genomes where each genome is similar to others in its pool, and different from genomes in other pools. When different species evolve out of a shared ancestor, that process is called Speciation. Guess what–Speciation is a hairy problem in Artificial Life. Most systems (including the current version of Narjillos) quickly converge on a single species. This dominating species takes over the world and drives everyone else to a quick extinction. So, how do simulations get those species to diverge?
Many simulations encourage Allopatric Speciation, that is speciation driven by geographic isolation: essentially, you build a wall in the world, and watch different species evolve on the two sides of the wall. However, you might remember that my ultimate goal is an Asymmetric Arms Race. For that to happen, I need Complex Interactions, so I probably need the separate species to come back together at some point and interact the hell out of each other. But here is a problem: in the current simulation, the newly reunited species wouldn't stay separate. Instead, one of them would take over the world–just like at the beginning of a simulation, when different randomly generated creatures quickly go extinct to make space for one dominating species. So I need something better than Allopatric Speciation–I need species to diverge and stay distinct while sharing the same geographic environment. That's called Sympatric Speciation.
Now, that's where it gets interesting. It seems that you can get long-term Sympatric Speciation in silico if you have two things:
- An environment that supports Ecological Niches. If there are no niches that force creatures to specialize, then there is no reason not to have a single generalist species.
- Once the creatures start specializing, you need some mechanism to discourage the diverging species from merging again. This is particularly critical if you have Sexual Reproduction, because sexual reproduction shuffles the genes again after they've been drifting away. A good mechanism to keep genomes separate in the presence of sexual reproduction is Assortative Mating: a creature must be more likely or willing to mate with another similar creature, rather than a different one.
Narjillos don't have Sexual Reproduction (at least not yet), so I'm hoping that I won't need a mechanism like Assortative Mating. I'm not sure yet, but for the time being, I'll try to get speciation without all that stuff. However, there is little doubt that I need Ecological Niches. Right now, all the creatures make their living the same way, by swimming to food. If all the species compete for the same prize, then the winner takes it all. I need an ecosystem that supports different prizes for creature that choose different specializations.
To get Ecological Niches, I need to have more complex and flexible models for the creature's bodies, and once again I need Complex Interactions–for example, creatures eating each other. I might also need a Self-Regulating Ecosystem of some kind, even if I don't know yet which shape that would take. Otherwise, I suspect that I'll still have one dominant species covering all the Ecological Niches by itself.
To wrap it all up, here are the goals of Narjillos:
- Complex Interactions between the creatures.
- A Self-Regulating Ecosystem, and then Ecological Niches.
- If 1 and 2 still don't trigger speciation, then I might need Sexual Reproduction, and then Assortative Mating.
- Once I have speciation, I hope that I'll get closer to an Asymmetric Arms Race.
(All that being said, this is just a plan. It will probably change as I groom, pivot, or abandon this project. The real, short-term goal of Narjillos is to have fun. It served me well so far.)
Return to the home page.