Evolutionary Simulator
An implementation of the NEAT (Neuroevolution of Augmenting Topologies) algorithm
Run the simulator online running in assembly by clicking this link
This project implements the NEAT algorithm, which is an evolutionary approeach to training neural networks, and provides a GUI that allows visualisation of the algorithm.
The algorithm is implemented in an abstract way that allows any type of task to be plugged in. Currently, there is a Snake and XOR task.
Written in pure C++, with no external dependencies relating to the neural networks / evolution. GUI made using ImGUI/OpenGL/WebGL, can run both in the browser using web assembly, and locally. It is much faster when running natively compared to in web assembly.
Running
Run the script ./full_build.sh
for a full native build, run ./emc_full_build.sh
for a webassembly build (which can be tested with ./run_test_web_server.sh
.