Natural Selection Simulator like Conways' Game of Life

In summary: Yes, I've read it. It's a good resource for understanding that competition between traits is not necessary for evolution.
  • #1
DaveC426913
Gold Member
22,497
6,168
TL;DR Summary
Natural Selection Simulator like Conways' Game of Life - but much more complex.
I'm considering making a Natural Selection Simulator (possibly in Java).

I've always been fascinated with the idea that so many traits can evolve independently of each other in the same population (even little things like tufted ears and loss of tail, etc.) and I want to see it in action.

Like Conway's Game of Life, writ large.

I know there are sims for selection of just a few given traits (like the AI that evolved blocks to "walk") - I'd like to see a sim where the environment is a determining factor.

Not sure if there are such sims.

Mine would be as abstracted as possible.

Here is what I'm thinking:

  • a landscape of, say, 10^3 or 10^4 cells (or undefined would be even better, just grow the landscape as-needs)
  • each cell would be seeded with, say 100 landscape properties, simply labeled 0-99. A property simply has a value that varies within a range. The values in nearby cells would be similar, to represent gradual shifts across the scape.
  • critters (say, 10^3) are likewise just an array of objects, each with, say, 10^2 critter properties, these would vary only a little, representing a single species with variations
  • the critter properties are interdependent so, using some algorithm, property 1 and 16 might be closely linked - one changes, so does the other, and they change based on the landscape's properties.
  • Both landscape and critter will have algorithms that control them:
    • Critter 207 moves to landscape 403, and landscape 403's property 123 drops by one for each time iteration 207 is there ("food"ish).
    • If 403's property 123 drops to near zero, then 207 moves on ("depleted"ish).
    • If 207's property 00 drops to near zero it dies ("starvation"ish).
    • But if it reaches, say 80/100 then it spawns copies of itself ("food a-plenty"-ish).
  • Critter properties and landscape properties can vaguely represent real-world conditions, but not intended to mimic them accurately. Essentially just abstract drivers. eg. :
    • a widespread landscape property set to 90 might be akin to a mountain range or body of water that the critters won't occupy - giving rise to geographical isolation of populations
    • another one might represent food-like resources, the critter's "health"ish and "breeding comfort"ish properties might rise.)
  • I could add algorithms at-whim. If a "hunger" property gets too low, it might boost the "adventurous" property, causing it to encroach more on "mountain"ish cells and "water"ish cells. The permutations are limitless.

I'd like to watch the time pass and see if the population's traits change over time and eventually stabilize at a new equilibrium.

I think this is doable by starting small, with limited landscape and critter properties, and increasing them as I test the limit of my processor.

To be clear, I'm not interested in a "nature simulator" - I have no need for it to be anything except completely abstract.

Has anyone ever heard of such a sim? If not, I may start developing this further and bugging you guys for ideas on how to refine the algorithms.
 
Computer science news on Phys.org
  • #2
I see you there, Mathman...
 
  • #3
Have you seen this? https://rednuht.org/genetic_cars_2/ It's natural selection with cars.

The problem with your description is there are no competing traits. That means the optimum is trivial.
 
  • Like
Likes fluidistic
  • #4
Vanadium 50 said:
Have you seen this? https://rednuht.org/genetic_cars_2/ It's natural selection with cars.
Not specifically, but others like it.

Vanadium 50 said:
The problem with your description is there are no competing traits. That means the optimum is trivial.
Maybe. In a sufficiently sparse landscape, competition with another critter species might not be essential for evolution, but you make a good point.
 
  • #5
I never forgot one article (sorry no link). It said that a genetic mutation can trigger multiple changes in the body that appear to be unrelated. Here's a made-up example, a single mutation might:
  • Give immunity to an ancient deadly disease that no longer exists. (advantage)
  • Change hair color. (neutral)
  • Increase vulnerability to a second non-deadly extinct disease from another era.(disadvantage)
  • Change the ratio of waist to hip size. (neutral)
Now, modern people look at that hair color or waist size and scratch their heads trying to figure out their natural selection advantage. Enthusiasts and model makers might make-up a false narrative hypothesizing the survival advantage of that hair color.

Chance or luck can also be significant. Suppose we have two populations geographically separated. They evolve trait A differently. Then one population dies out for reasons unrelated to A. It would be wrong to presume that the second population had an selection advantage because of A. It is a case of correlation does not mean causation.

The point of the article was that the relationship between mutations, observable traits, and survival of the fittest is not simple, nor linear, nor obvious, nor deterministic, nor time invariant, nor one-to-one.
 
  • Like
Likes fluidistic and DaveC426913
  • #6
  • #7
anorlunda said:
Now, modern people look at that hair color or waist size and scratch their heads trying to figure out their natural selection advantage. Enthusiasts and model makers might make-up a false narrative hypothesizing the survival advantage of that hair color.
Exactly. I intend to account for this, by having properties heavily interlinked sort of randomly. An increase in property 87 happens to trigger an increase in property 33 for no particular reason, or somesuch. That's the kind of thing I want to explore. ('Hey look, the speci, but interestingly, es seems to have sprouted a large X, and now it's consuming Y at twice the rate, but interestingly, now it is moving into cape territories previously denied", etc.)

Maybe the algorithm will be such that some increase in property X triggers a cascade of increases in properties X+1,X=2, X-1 and X-2, etc. sort of like genes found adjacent on DNA.
 
  • #8
I know you said you don't want to mimic real-world conditions, but the reality is that there are only critters and no landscapes. Critters will have more or less properties according to their complexity (ex.: dirt vs bacteria vs plant vs mammal). The survival of one depends on the characteristics of its neighbors. Critters don't die, they transform themselves into other critters. Critters don't give birth, they transform other critters into new critters that are either identical to them or closely related to them.

That would be interesting to see if they all stabilize to the simplest form (many critters with only one property, the same one).
 
  • #9
There is a branch of algorithms called evolutionary algorithms, and then further, genetic algorithms, that are inspired by mutation and selection.

https://en.m.wikipedia.org/wiki/Evolutionary_algorithm

They're usually applied to practical problems I guess.

Optimization problemsEdit
In a genetic algorithm, a population of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem is evolved toward better solutions. Each candidate solution has a set of properties (its chromosomes or genotype) which can be mutated and altered; traditionally, solutions are represented in binary as strings of 0s and 1s, but other encodings are also possible.[3]

The evolution usually starts from a population of randomly generated individuals, and is an iterative process, with the population in each iteration called a generation. In each generation, the fitness of every individual in the population is evaluated; the fitness is usually the value of the objective function in the optimization problem being solved. The more fit individuals are stochastically selected from the current population, and each individual's genome is modified (recombined and possibly randomly mutated) to form a new generation. The new generation of candidate solutions is then used in the next iteration of the algorithm. Commonly, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population.

https://en.m.wikipedia.org/wiki/Genetic_algorithm
 
  • Like
Likes anorlunda

1. How does the natural selection simulator work?

The natural selection simulator, similar to Conway's Game of Life, is based on a set of rules that determine the behavior of cells in a grid. These rules dictate how cells live, die, or reproduce based on the number of neighboring cells. Over time, these rules can lead to complex patterns and evolution of the cells.

2. What are the advantages of using a natural selection simulator?

One advantage of using a natural selection simulator is that it allows for the study of complex systems and emergent behavior. It also provides a way to model and understand the principles of natural selection and evolution in a simplified setting. Additionally, it can be used to explore different scenarios and observe how changes in the initial conditions or rules can affect the outcome.

3. Can the natural selection simulator be used to make predictions about real-world systems?

While the natural selection simulator can provide insights into the behavior of complex systems, it is important to note that it is a simplified simulation and may not accurately reflect real-world scenarios. It can be used as a tool to explore and test hypotheses, but the results should not be interpreted as definitive predictions.

4. Are there any limitations to the natural selection simulator?

One limitation of the natural selection simulator is that it relies on a set of predetermined rules and does not have the ability to adapt or learn. This means that it may not accurately model all aspects of natural selection and evolution. Additionally, the simulation is limited by the computational power and memory of the computer it is running on.

5. How can the natural selection simulator be used in scientific research?

The natural selection simulator can be used in scientific research to study the principles of natural selection and evolution, as well as to explore complex systems. It can also be used in educational settings to demonstrate these concepts and engage students in hands-on learning. Additionally, the results of the simulation can be compared to real-world data to gain further insights into evolutionary processes.

Similar threads

  • Biology and Medical
3
Replies
75
Views
8K
Replies
17
Views
3K
  • Quantum Interpretations and Foundations
Replies
1
Views
527
  • Astronomy and Astrophysics
Replies
4
Views
2K
  • Computing and Technology
Replies
7
Views
3K
  • Biology and Medical
Replies
2
Views
6K
  • Biology and Medical
Replies
1
Views
834
  • STEM Academic Advising
Replies
13
Views
2K
  • General Discussion
Replies
2
Views
5K
  • High Energy, Nuclear, Particle Physics
Replies
2
Views
4K
Back
Top