GEP Toolkit
Implementation of Gene Expression Programming in Rust. Supports SL-GEP (Self-Learning Gene Expression Programming), check out references at the bottom of this README.
Usage
Add the GEP Toolkit dependency in your Cargo.toml file:
[]
= "0.2.0"
Use KExpression
s as your genetic population chromosomes, and use k_expr.expression(ExpressionTreeType::RGEP)
to build an expression tree and compute it (GEP and PGEP are not supported yet).
use *;
use PrimitiveOperationSet;
use KExpressions;
use ;
use KExpressionSer;
Note that the library is intended for expression trees generation and computing them. In order to run a simulation, you will need to use a separate GA library. Check out examples.
Examples
There's an example of running a GEP simulation on oxigen.
Not implemented
- GEP and PGEP expressions parsing (only RGEP is supported currently)
- Support pure ADFs without arguments
- Support restricting usage of primitive operations in main expression to support only-ADFs approach
References
- Gene Expression Programming, 2001 – Candida Ferreira
- Prefix Gene Expression Programming, 2005 – Xin Li, et al.
- Automatically Defined Functions in Gene Expression Programming, 2006 - Candida Ferreira
- Robust Gene Expression Programming, 2011 – Noah Ryan, et al.
- Self-Learning Gene Expression Programming, 2015 – Jinghui Zhong, at al.