I didn’t read the discussion on discord and I didn’t spend a lot of time reading that pdf, but here’s some points.
This seems very similar to what I suggested. And this doesn’t really address the most difficult calculation: how is the usefulness calculated. My idea solves that by making random mutations that can then be simulated forward in time to determine how good it is.
So I’ll reiterate the main points about my idea:
- Species can have populations in many patches
- Each species is simulated with 5 (roughly) random mutations and their usefulness is calculated based on how much they would gain population overall against other species.
- Based on the usefulness of the mutations the main species will apply the most useful and then the species may split if there is a second very useful mutation.
A few amendments to my idea that I stole got inspiration / idea for from your plan:
- Each patch’s population tries to send some population to a random connected patch. This will either reinforce the population of the species in that patch or create a new population in a patch which might succeed there and gain a foothold.
- The chance of splitting the species increases as the global population increases.
- It is possible for the species to split in only one patch if it has relatively hugely beneficial mutation it can take there. Otherwise the split would be in all patches at once if there isn’t a mutation that greatly benefits only a part of the species. So for example if the species is trying to establish a foothold in a hydrothermal went and it is also in a bunch of other patches then if one mutation is a chemoplast it would be almost guaranteed to split to a new species in that went.
I’m still convinced my idea (with possible tweaks) is the best one
And while I appreciate this discussion, even if I don’t have the time to properly participate all the time, I think we just have to go with a basic implementation (my idea is good also in that regard that it doesn’t require much that other ideas wouldn’t also need, so no much wasted work) and then see concretely what these different suggestions do to it. So we could stop speculating as to what works, because we all have no experience in making an evolution simulation, so our intuition and ideas are probably not spot on.