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.
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
.