News: Our Paper has been accepted to IEEE CEC 2020 for a lecture presentation. An updated version could be found out here. Feel free to contact us for experiement details. Video
Code for Python 3.7 implementation (in the PyCharm) of Reverse Encoding Tree from the paper.
The library is divided into two parts. In the benchmark part, you will easy easily understand the principle of our strategy and its difference from other strategies. In the evolution part, you can use it for many tasks of NeuroEvolution.
We have further integrated neat-python in evolution/bean. The files in the example folder describe how to use the original NEAT to finish the well-accepted tasks. tasks folder includes all the execution documents in the experiments mentioned in the paper.
We have 6 additional hyper-parameters in the configure.
You need to create a configure before running, the document including original settings is shown in https://readthedocs.org/projects/neat-python/.
After creating the configure:
from neat import population, config, genome, reproduction, species, stagnation
task_config = config.Config(genome.DefaultGenome, reproduction.DefaultReproduction, species.DefaultSpeciesSet, stagnation.DefaultStagnation, "your configure path")
task_population = population.Population(task_config)
If you think this repo helps or being used in your research, please consider refer this paper. Thank you.
@inproceedings{zhang2020evolving,
title={Evolving neural networks through a reverse encoding tree},
author={Zhang, Haoling and Yang, Chao-Han Huck and Zenil, Hector and Kiani, Narsis A and Shen, Yue and Tegner, Jesper N},
booktitle={2020 IEEE Congress on Evolutionary Computation (CEC)},
pages={1--10},
year={2020},
organization={IEEE}
}
Haoling Zhang, Chao-Han Huck Yang, Hector Zenil, Narsis A. Kiani, Yue Shen, Jesper N. Tegner