Compare commits
8 Commits
6e9b9a4827
...
53c490b3b3
Author | SHA1 | Date | |
---|---|---|---|
53c490b3b3 | |||
4f888f44ae | |||
5a070bf295 | |||
70e4fa6ab6 | |||
dec879498f | |||
747bf57d03 | |||
52ed502b61 | |||
0c1d2a5d50 |
@ -62,6 +62,7 @@ library
|
||||
, HushGP.PushTests.UtilTests
|
||||
, HushGP.GP
|
||||
, HushGP.GP.PushArgs
|
||||
, HushGP.GP.Variation
|
||||
, HushGP.Problems.IntegerRegression
|
||||
|
||||
|
||||
|
@ -45,3 +45,7 @@ This is clearly not ideal.
|
||||
4) For the exec stack itself,
|
||||
typeable, data generic, ghc.generic, data.dynamic, heterogeneous lists, etc. could also help,
|
||||
to detect the type of variables at runtime, but I would rather stick to language basics at first.
|
||||
|
||||
## Nix Users
|
||||
|
||||
This took my machine about 2 hours to build the environment after running `nix develop`.
|
||||
|
1
TODO.md
1
TODO.md
@ -27,6 +27,7 @@
|
||||
- I'm only going to implement propeller's :specified version
|
||||
- Is the best according to the papers
|
||||
- [X] Need a NoOp that opens blocks
|
||||
- [ ] Have a way to balance amount of closes with open blocks
|
||||
- [ ] Need to make genomes serializable (Check pysh json files)
|
||||
- [ ] Add Memory
|
||||
- [ ] Add history stack(s), like a call stack
|
||||
|
@ -33,7 +33,7 @@ gpLoop pushArgs = do
|
||||
unEvaledPopulation <- generatePopulation pushArgs
|
||||
-- let evaledPop = evaluatePopulation pushArgs unEvaledPopulation
|
||||
-- print evaledPop
|
||||
print "gamer"
|
||||
print "placeholder for now"
|
||||
|
||||
-- | The guts of the GP loop. Where the work gets done after the initialization happens
|
||||
-- in the main gpLoop function. The first Int holds the generation count. The second Int
|
||||
@ -58,7 +58,7 @@ gpLoop' pushArgs generation evaluations population indexedTrainingData = do
|
||||
print "Incomplete Run, saving the best so far."
|
||||
| otherwise = gpLoop' pushArgs (succ generation)
|
||||
(evaluations + (populationSize pushArgs * length (fst $ trainingData pushArgs)) + (if generation `mod` downsampleParentsGens pushArgs == 0 then length parentReps * (length (fst indexedTrainingData) - length (fst $ trainingData pushArgs)) else 0) + (if bestIndPassesDownsample then length (fst indexedTrainingData) - length (fst $ trainingData pushArgs) else 0))
|
||||
(if elitism then )
|
||||
(if elitism then bestInd : )
|
||||
nextAction
|
||||
where
|
||||
-- \| This will have downsampling added to it later.
|
||||
|
7
src/HushGP/GP/Variation.hs
Normal file
7
src/HushGP/GP/Variation.hs
Normal file
@ -0,0 +1,7 @@
|
||||
module HushGP.GP.Variation where
|
||||
|
||||
import HushGP.Genome
|
||||
import HushGP.GP.PushArgs
|
||||
|
||||
newIndividual :: PushArgs -> [Individual] -> Individual
|
||||
newIndividual = error "Implement this later"
|
Loading…
x
Reference in New Issue
Block a user