I think we're quite far off if you want to model full organism complexity. But if you want to answer a research question you can model simpler versions today. Like this research team did around how vision evolves.
By the way– As of recently, we were able to model C Elegans (flatworm) in 3D with all neurons and neurotransmitters. It reacted to virtual stimuli just like a real worm (https://www.nature.com/articles/s43588-024-00738-w). So single-organisms is already possible. But the evolution of these entities in 3D will take us a bit more time is my guess:
Can the virtual flatworm’s virtual actions be mapped to the physical sensors of a flatworm in the real world? Can we get the real world’s flatworm to control any part of the virtual one?
Can these two things interface yet is the question (virtual to real bidirectional interface), especially since you are suggesting we have a clone of it.
If we do this experiment, what does that say about something doing an experiment on humans (humans control humans inside video games).
Sounds insane right? Why would we ever do this? Well … we have this perfect digital clone of a flatworm, what else are we going to do? There’s a lot of evidence that humans would absolutely go down this rabbit hole until it’s logical conclusion.
One word: Teledildonics
Anyway, the flatworm that is born into such an experiment would never know, or it would just be useless to know. :shrugs:
That's quite a cool project, but as a thought can the simple rules you started from... Are they simple enough? Like the rule which states that offspring will carry the traits of parents, so exactly what traits they carry. how are they carried. Are these rules simple enough?
So they carry neural nets and evolve using the NEAT algorithm, which introduces slight variations: new connections and new nodes.
Over time this allows fish to develop basic behavior such as searching for food, navigation a maze, etc.
The only other 'useful' gene right now is around herbivore/carnivore digestion (0 to 1), which allows them to extract more energy from either meat or plant-food. Most of the time they actually develop specific behavior according to this gene.
I don't really code in what offspring need to do beyond having slight variations to both factors described above, it kind of evolves randomly into more complexity (neural net + behaviors).
Also importantly– I need to program an energy decay system and death if they run out. So basically: Energy source, energy decay and evolving neural nets that can give an organism the possibility to survive and evolve if they get more energy. And voila– Life emerges.
Working on plants now, and again simple rules: Neural nets in the plants to mimic evolution of complex biological systems that evolve from generation to generation. And a light-based energy source and light-based energy capture system (leaves). My current (preliminary) experiments show that the plants start to look like trees over time to maximize energy capturing compared to competing plants.
Looking to publish this once I have it a bit more refined.
So the special thing about NEAT is that it allows the shape of the neural net to change. It can also do some sort of mix between two neural nets (like sexual reproduction), but I haven't implemented that.
Natural selection in this sim just happens by itself, there is a limited amount of food and only the best adapted ones survive. So the best performing neural networks duplicate themselves and create small variations of themselves. This part is not connected to the NEAT algorithm, I've just seen that NEAT performs particularly good vs more fixed-structure neural networks.
I think we're quite far off if you want to model full organism complexity. But if you want to answer a research question you can model simpler versions today. Like this research team did around how vision evolves.
By the way– As of recently, we were able to model C Elegans (flatworm) in 3D with all neurons and neurotransmitters. It reacted to virtual stimuli just like a real worm (https://www.nature.com/articles/s43588-024-00738-w). So single-organisms is already possible. But the evolution of these entities in 3D will take us a bit more time is my guess:
Also I'm not a CS person, just an enthusiast.