I am planning to make an evolution simulator. My plan is to make a simulator in that I can create a "world" with many environments, release some type of primitive "organism" and than have random mutations occur when they breed. The ultimate goal is to be able to start with this one species, and after a lot of computations, have a stable "world" with different environments occupied by different species, predator prey relationships, and everything else.
As I plan this, I do have one issue I am having trouble with. Unless I can have the computer identify species for me it will be very difficult for me to "see" what is going on (as all it will be is a lot of numbers). So what is a good way for the computer to identify species (as each organism is really the same object just with different numbers for its genes)? I could use the definition that the species must be able to breed with each other (I can make it so they can only breed if two organisms have 95% similar traits or something like that), but then I will run into ring species (A is 95% similar to B, so it is the same species, but is only 90% similar to C, so they are not, but B and C are 95% similar so they are the same species) problems, but on a vast scale. How can I get the computer to group animals into species?
The answer will depend on your gene implementation and breeding implementation. How it marks "compatible" genes for breeding, for example, will determine the number of species you have.
Once you do that, you may want to have a simple display of the number of species you have. You are also running into the problem that real biologists face: what is a species? As you are noting, it's not as simple as people think, since it's an artificial categorization of what we see.
There's no genuine barriers between species, only that two groups of organisms have diverged to the point of no longer being capable of interbreeding. Ring Species are a case situation known as the Species Problem, which has no real, definitive answer since our current definition of species only defines two groups of organisms incapable of interbreeding. I think that in the case of your simulation, there's no real way you CAN divide these individuals, except perhaps color coding your genetic patterns. With this, you could look at it and see two very close colors, and know they're still the same species, but with sharply different colors you know they're not. Your program will have to monitor which creatures are incapable of interbreeding (or have some basic rules for it), and there must be some way for you to study each generation or time period individually, to make digesting the information easier.
I'm not sure if I can think of a way to solidly define, to the satisfaction of a program anyway, how to define species in a Ring Species situation. Perhaps you could treat that as a special condition, and consider A and C different species while considering A and B as the same, while B and C are also the same. Sounds crazy, but evolution doesn't work the same way as mathematical equivocation.![]()
Wow I changed my sig!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks