Copyright | (c) Leon Medvinsky, 2015 |
---|---|
License | GPL-3 |
Maintainer | lmedvinsky@hotmail.com |
Stability | experimental |
Portability | ghc |
Safe Haskell | None |
Language | Haskell2010 |
- data Species = Species {}
- data SpecScore = SpecScore {}
- newSpec :: Genome -> [Genome] -> Species
- data TestResult = TR {}
- runFitTestWStrategy :: Functor f => (forall t. Traversable t => t Genome -> f (t Double)) -> Species -> f TestResult
- updateSpec :: SpecScore -> Species -> Species
- maxDist :: Parameters -> Species -> Double
- speciesComplexity :: Species -> Int
- validateSpecies :: Species -> Maybe [String]
Documentation
A NEAT Species.
Construction
Update/Fitness
data TestResult Source
A result of evaluating a species
runFitTestWStrategy :: Functor f => (forall t. Traversable t => t Genome -> f (t Double)) -> Species -> f TestResult Source
Output the result of testing fitness. The first argument tells how to process
each genome, with extra effects possible. If you don't need that, you can just
fmap
over your fitness function and put Identity over the result.
updateSpec :: SpecScore -> Species -> Species Source
Takes a new SpecScore and updates the metadata of a species
Statistics
maxDist :: Parameters -> Species -> Double Source
Gets the max distance between two genomes in a species
speciesComplexity :: Species -> Int Source
Total complexity of all member genomes
Debugging
validateSpecies :: Species -> Maybe [String] Source
Validates a species, possibly returning errors