-
Notifications
You must be signed in to change notification settings - Fork 8
Project Goal
Every science has a dream. Physicists want the Grand Unified Theory; computer scientists want Artificial Intelligence; and people writing Artificial Life systems want Open-Ended Evolution.
In Open-Ended Evolution, a population of simulated creatures evolve indefinitely, becoming ever more interesting and complex–just like they do in the real world. Unfortunately, artificial creatures only become as complex as they need to be in their ecosystem. Nature is parsimonious: why evolve something complex when your ecosystem doesn't reward you for that? Simulated ecosystem are generally not very complex, so they lend to creatures that get complex up to a point, and then happily stay there.
In Narjillos, I'm not even aiming for truly "open-ended" evolution. All I want is that the creatures become interesting enough that I go "wow". My wow threshold is not overly high. Still, the system is not complex enough to get there yet. The current version of Narjillos can evolve good snake-like or bipedal swimmers, and they don't get any more interesting than that.
To get ever more complex creatures, you 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. Why do creatures in nature become so complex? They do because the system they live in is getting more and more complex around them, because it's made up of other creatures. This creates what biologists call an Evolutionary Arms Race: creatures becoming more and more specialized by competing with each other.
There are two kinds of arms races. In a symmetrical arms races, the creatures become more specialized to compete with similar creatures, like trees in a forest growing higher than their neighbors to catch the sunlight. Asymmetrical Arms Race, where two or more different strands of DNA compete with each other–like the genes in leopards and gazelles, that result in beautifully specialized body shapes. Narjillos already do symmetrical arms races: snake-like swimmers become longer and more efficient to beat their peers to the food. This is the force that shapes the creatures' evolution in the first place. The hard problem is getting an Asymmetrical Arms Race, which should result in more interesting, very specialized creatures that have that "wow" effect. How can I get that?
To get an Asymmetrical Arms Race, I need two things. First, I almost certainly need Complex Interactions between the creatures, because they can't compete in asymmetrical ways if they don't interact. Also, crucially, I need different strands of DNA (call them "species") that live together in the same environment. That is, I need Speciation. Guess what–Speciation is another hairy problem. Most artificial life systems (including the current version of Narjillos) end up with a single species taking over the world and driving everyone else to a quick extinction. So, how do I get species to diverge?
Many simulations encourage allopatric speciation: essentially, you build a wall in the simulation, and watch different species evolve on the two sides of the wall. But for the arms race to happen, I also need Complex Interactions, so I need the separate species need to come back together at some point. My (still unverified) hunch is: at that point, one of the species will take over the other, and we'll be back where we started, stuck with a single species. To get stable species that stay distinct even while they mingle, I need something better than allopatric speciation.
Now that's where it gets interesting. It seems that you can get long-term Sympatric Speciation in an artificial life environment if you have two things: Assortative Mating and an environment that supports Ecological Niches. To get Assortative Mating, you also need Sexual Reproduction.
Currently, Narjillos doesn't have Ecological Niches: all creatures make their living the same way, by swimming to food. To get Niches, I need to have more complex and flexible models for the creature's bodies, and 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.
Oh, and Narjillos doesn't even have Sexual Reproduction yet. That's another challenge. If I want Assortative Mating, then Sexual Reproduction is the only way through.
So, to recap, here are my goals:
- A Self-Regulating Ecosystem, and then Ecological Niches.
- Sexual Reproduction, and then Assortative Mating.
- All of the above together should result in Speciation.
- Complex Interactions between the creatures.
- Speciation plus Complex Interactions might get the prize: an Asymmetric Arms Race.
(All that being said, that's 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.