Expand description

The encoding module provides basic scheme of encoding genetic::Genotypes.

Most important encoding schemes are:

  • binary encoding
  • value encoding
  • permutation encoding
  • tree encoding

To express which encoding scheme is used for a specific genetic::Genotype a set of marker traits are defined:

  • BinaryEncoded
  • ValueEncoded
  • PermutationEncoded
  • TreeEncoded

These marker traits are important for providing default implementations for the operator::CrossoverOp and the operator::MutationOp. In order to use any of the default operator implementation the genetic::Genotype used for a genetic algorithm application must be marked with the appropriate encoding trait. If an application is defining its own crossover and mutation operators then using these marker traits is optional.

Traits

Marker trait for declaring a genetic::Genotype as binary encoded.

Marker trait for declaring a permutation encoded genetic::Genotype.

Marker trait for declaring a tree encoded genetic::Genotype.

Marker trait for declaring a genetic::Genotype as value encoded.