HSGEP-0.1.0: GEP/Params.hs
-- |
-- GEP parameters. These are related to both population management,
-- selection, and rates of genetic operators. The rates are a set of
-- probabilities of each operator being applied during each step of the
-- selection and reproduction phase.
--
-- Author: mjsottile\@computer.org
--
module GEP.Params (
Rates(..),
SimParams(..)
) where
-- | The SimParams structure reprents the parameters for a run of the GEP
-- algorithm. This includes gross parameters unrelated to individuals
-- such as the population size, parameters related to selection, and
-- parameters related to specific genetic operators.
data SimParams = SimParams {
popSize :: Int, -- ^ Population size
rouletteExponent :: Double, -- ^ Exponent for defining the roulette
-- wheel bin sizes
maxFitness :: Double, -- ^ Fitness of the ideal individual
numGenerations :: Int, -- ^ Number of generations to run the
-- algorithm for
selectionRange :: Double, -- ^ Parameter m for fitness value
-- computation from the GEP paper.
maxISLen :: Int, -- ^ Maximum length of an IS transpose seq.
maxRISLen :: Int -- ^ Maximum length of an RIS transpose seq.
} deriving Show
-- | The Rates structure is used to hold the probability of various events
-- occurring during the evolution of the GEP algorithm.
data Rates = Rates {
pMutate :: Double, -- ^ Probability of any single symbol being mutated
-- per individual
pIS :: Double, -- ^ Probability of an individual experiencing
-- insertion sequence transposition
pRIS :: Double, -- ^ Probability of an individual experiencing
-- root insertion sequence transposition
pGT :: Double, -- ^ Probability of an individual experiencing
-- gene transposition
p1R :: Double, -- ^ Probability of a 1pt recombination event
p2R :: Double, -- ^ Probability of a 2pt recombination event
pGR :: Double -- ^ Probability of a gene recombination event
} deriving Show