Now that we have the source code of the neuroevolutionary-based XOR solver, try to experiment by changing NEAT's hyperparameters, which control the evolutionary process.
One of the parameters of particular interest is compatibility_threshold, which can be found in the DefaultSpeciesSet section of the configuration file:
- Try to increase its value and monitor the speciation of the population. Compare the performance of the algorithm with the new value against the default one (3.0). Does it get any better?
- What happens if you decrease the value of this parameter? Compare its performance against the default value.
Another essential parameter that controls the evolutionary process is min_species_size, which can be found in the DefaultReproduction section. By changing the values of this parameter, you can directly control the minimum number of individuals per species...