neet-0.4.0.0: A NEAT library for Haskell

Copyright(c) Leon Medvinsky, 2015
LicenseGPL-3
Maintainerlmedvinsky@hotmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Neet.Parameters

Description

 

Synopsis

Documentation

data Parameters Source

The genetic parameters

Constructors

Parameters 

Fields

mutParams :: MutParams
 
mutParamsS :: MutParams

Mutation parameters for small populations

largeSize :: Int

The minimum size for a species to be considered large

specParams :: SpeciesParams

Parameters for the distance function

dropTime :: Maybe Int

Drop a species if it doesn't improve for this long, and it hasn't hosted the most successful genome.

Instances

defParams :: Parameters Source

The parameters used in the original NEAT paper, except the perturbation amount and threshold for size.

data DistParams Source

Distance Parameters

Constructors

DistParams 

Fields

dp1 :: Double

Coefficient to the number of excess genes

dp2 :: Double

Coefficient to the number of disjoint genes

dp3 :: Double

Coefficient to the average weight differences

delta_t :: Double

How close counts as the same species

Instances

defDistParams :: DistParams Source

Parameters used for distance in the paper

data MutParams Source

Mutation Parameters

Constructors

MutParams 

Fields

mutWeightRate :: Double

How often weights are mutated

newWeightRate :: Double

How often weights are replaced if mutated

pertAmount :: Double

Max amount of perturbation

weightRange :: Double

A new max is between negative this and positive this

addConnRate :: Double

How often new connections are made

addNodeRate :: Double

How often new nodes are added

delConnChance :: Double

How likely it is for a connection to be erased

delNodeChance :: Double

How likely it is for a node to be erased

recurrencies :: Bool

Whether to allow recurrent connections

noCrossover :: Double

Percent of population that mutates without crossover

disableChance :: Double

How likely that a disabled parent results in a disabled child

Instances

defMutParams :: MutParams Source

Mutation parameters for defParams

data SpeciesParams Source

Settings for distance. Simple is for fixed distance calculations. Target should be used when you want the threshold value for distance to change to try to meet a desired species count.

Instances

data SpeciesTarget Source

How to seek a target species count

Constructors

SpeciesTarget 

Fields

targetCount :: (Int, Int)

Desired range of species count, inclusive

adjustAmount :: Double

How much to adjust the distance threshold if there are too many/not enough species

Instances

data SearchStrat Source

Search Strategy

Instances

data PhaseParams Source

Parameters for phased search

Constructors

PhaseParams 

Fields

phaseAddAmount :: Double

How much to add to the mean complexity to get the next complexity

phaseWaitTime :: Int

How many generations without a drop in complexity warrants going back to a complexify strategy

Instances

data PhaseState Source

State of phasing

Constructors

Complexifying Double

The argument is the current threshold to start pruning at.

Pruning Int Double

The first argument is how many generations the mean complexity has not fallen. The second is the last mean complexity.

Instances