features - morinim/vita GitHub Wiki

General features

  • A way of changing every parameter of the system without recompilation.
  • GP / GA / Differential Evolution support.
  • Loading and saving of populations and genetic programs (checkpoint and restoring mechanism).
  • Parameterless (no mandatory parameters).
  • User programmable instruction set / termination criteria.
  • Constraint handling.
  • CSV / Weka XRFF dataset file format compatibility.

Algorithms

  • ALPS (Age-Layered Population Structure) [2]
  • ARL (Adaptive Representation through Learning) [3]
  • Brood recombination [4]
  • Cache for improving performance.
  • Constraint Handling [8].
  • Demetic grouping - Trivial Geography in Genetic Programming [5]
  • Differential evolution ("Differential Evolution - A Practical Approach to Global Optimization" - Ken Price, Rainer Storn, Jouni Lampinen).
  • DSS (Dynamic subset selection) [7]
  • FUSS (Fitness Uniform Optimization - Marcus Hutter, Shane Legg - 2006).
  • Gaussian Distribution for Multiclass Object Classification ("Using Gaussian Distribution to Construct Fitnesss Functions in Genetic Programming for Multiclass Object Classification" - Mengjie Zhang, Will Smart - 2005).
  • MEP-like genotype [1]
  • Self-adaptive crossover operator [6]
  • Slotted Dynamic Class Boundary Determination (Multiclass Object Classification Using Genetic Programming - Mengjie Zhang, Will Smart).
  • Steady state kernel.
  • STGP (Strongly Typed Genetic Programming - David J. Montana - 1995).
  • Team support (Evolving Teams of Predictors with Linear Genetic Programming - Markus Brameier, Wolfgang Banzhaf - 2007).
  • Tournament proportionate selection.

Source

  • Completely ISO C++17 compliant.
  • Structured object oriented architecture.
  • Strict const-correctness.
  • Limited use of 3rd party libraries.
  • Comprehensive, searchable API documentation generated from the source (Doxygen).