CartesianGeneticProgramming.jl

Cartesian Genetic Programming for Julia
Author d9w
Popularity
58 Stars
Updated Last
10 Months Ago
Started In
August 2017

CartesianGeneticProgramming.jl

Build Status Coverage Status codecov

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.