This project is an evolution simulator using the principles of genetic programming, animats, mutation and natural selection to develop complex behaviours, in order to adapt to the environment. Each animat contains a string of DNA which determines its behaviour, with each character being either an instruction or a “junk” byte (analogous to junk DNA) allowing the animat to read from senses such as sight and hunger, change states, and execute actions based on those senses, such as feeding or moving.
This project was completed as my final year submission for my degree, for which I achieved a score of 87%. Submitted alongside this program was a research paper in which I used the application to study the evolution of mutation rates amongst species. The paper can be viewed here (appendix).