HSGEP-0.1.5: Gene Expression Programming evolutionary algorithm in Haskell

Safe HaskellSafe-Inferred

GEP.GeneOperations

Description

Operations on the chromosomes of individuals. The following assumptions are made.

  • Symbols are numbered 1 through n for a chromosome of length n.
  • Genes are numbered 0 through m-1 for a chromosome with m genes.

The functions provided in this module are purely functional. See GEP.MonadicGeneOperations for code that invokes these from within the GEP.Rmonad monad.

Synopsis

Documentation

crossover1ptSource

Arguments

:: (Chromosome, Chromosome)

Pair of individuals before crossover

-> Int

Crossover point

-> (Chromosome, Chromosome)

Pair of individuals after crossover

One-point crossover

crossover2ptSource

Arguments

:: (Chromosome, Chromosome)

Pair of individuals before crossover

-> Int

Crossover point 1

-> Int

Crossover point 2

-> (Chromosome, Chromosome)

Pair of individuals after crossover

Two-point crossover

crossoverGeneSource

Arguments

:: (Sequence, Sequence)

Pair of individuals before crossover

-> Int

Gene number for crossover

-> Int

Gene length in symbols

-> (Sequence, Sequence)

Pair of individuals after crossover

Gene crossover

transposeGeneSource

Arguments

:: Chromosome

Chromosome

-> Genome

Genome

-> Int

Gene number

-> Chromosome

Resulting chromosome

Gene transposition.

transposeISSource

Arguments

:: Chromosome

Chromosome

-> Genome

Genome

-> Int

Gene number

-> Int

Position to take from within a gene

-> Int

Length to take

-> Int

Position to put within a gene

-> Chromosome

Resulting chromosome

Insertion sequence transposition.

transposeRISSource

Arguments

:: Sequence

Sequence to perform RIS transposition on

-> Genome

Genome information

-> Int

Gene to perform RIS transposition within

-> Int

Position within gene to start search for RIS for transposition

-> Int

Length of RIS

-> Sequence

Sequence after RIS transposition performed

Root insertion sequence transposition.