CartesianGeneticProgramming.jl
Cartesian Genetic Programming for julia.
Development is still ongoing, so be warned that major changes might happen. Stable resources in other languages can be found on the CGP site.
Installation
CartesianGeneticProgramming.jl can be installed through the Julia package manager
pkg> add https://github.com/d9w/CartesianGeneticProgramming.jl
This package depends on Cambrian.jl which is not yet in the General repository and therefore must also be installed from github.
Examples
Examples of usage are provided in scripts
. To run any of these examples, do
$ julia scripts/gym.jl
This will create and populate gens
and logs
folders, which store CGP
individuals and evolutionary logs, respectively.
Note that these examples have only been tested on Linux and have additional
dependencies which must be installed, like PyCall
or
ArcadeLearningEnvironment
.
Tests
CGP.jl
comes with tests which can offer examples of detailed usage of the
different genetic operators and CGP extensions. To run all tests, use
pkg> test CartesianGeneticProgramming
Configuration
Configuration is handled by src/config.jl
. Configurable options are read in
through YAML files (an example being cfg/test.yaml
). All possible node
functions are defined in src/functions.jl
and are populated in the
configuration files.