Neuro Evolution Organism Simulator

Introduction

An evolution simulator using NEAT algorithm. Tries to observe a population of simple organisms (NEOS) learning to eat food. The NEOS can reproduce within a generation to create offspring of shared genes. By the end of each generation sim, the fittest NEOS will carry the genes for the next generation.

Method

The reproduction of NEOS is done through crossover and mutation of the two parents during intersection in the environment. Only individuals of high fitness are able to mate or else they will be rejected. In addition, once NEOS became too old they will die off. This poses possible obstacles to the success of the generation through spatial constraints, time, and elitism. In addition to mating within a generation, after each generation, the top 20% are selected in the population to create the next generation in the simulation.

Conclusion

It is observed that the average fitness greatly increases and peaks at generation 4 with 37 food eaten by an individual. At generation 6, the entire population dies off due to old age with no new offspring. The NEOS could have possibly reached a local optimum in terms of ability to eat food and once age and distance between fit individuals became too big, the ecosystem collapsed, leading to the end of the simulation.

Generation 0

BEST: 42 Food Eaten

AVG: 7.35 Food Eaten

WORST: 2 Food Eaten

SURVIVED: 20 NEOS

DIED: 109 NEOS

TOTAL NEOS: 129 NEOS

FOOD EATEN: 948 Food

Experiment Results

Generation 1

BEST: 33 Food Eaten

AVG: 10.51 Food Eaten

WORST: 0 Food Eaten

SURVIVED: 49 NEOS

DIED: 113 NEOS

TOTAL NEOS: 162 NEOS

FOOD EATEN: 1703 Food

Generation 2

BEST: 36 Food Eaten

AVG: 12.13 Food Eaten

WORST: 1 Food Eaten

SURVIVED: 4 NEOS

DIED: 94 NEOS

TOTAL NEOS: 98 NEOS

FOOD EATEN: 1189 Food

Generation 3

BEST: 37 Food Eaten

AVG: 11.09 Food Eaten

WORST: 7 Food Eaten

SURVIVED: 6 NEOS

DIED: 111 NEOS

TOTAL NEOS: 117 NEOS

FOOD EATEN: 1298 Food

Generation 4

BEST: 37 Food Eaten

AVG: 13.34 Food Eaten

WORST: 7 Food Eaten

SURVIVED: 4 NEOS

DIED: 109 NEOS

TOTAL NEOS: 113 NEOS

FOOD EATEN: 1507 Food

Generation 5

BEST: 40 Food Eaten

AVG: 11.63 Food Eaten

WORST: 1 Food Eaten

SURVIVED: 21 NEOS

DIED: 116 NEOS

TOTAL NEOS: 137 NEOS

FOOD EATEN: 1593 Food

Generation 6

BEST: 33 Food Eaten

AVG: 12.52 Food Eaten

WORST: 1 Food Eaten

SURVIVED: 0 NEOS (Final Gen)

DIED: 83 NEOS

TOTAL NEOS: 83 NEOS

FOOD EATEN: 1093 Food