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.PushTests.UtilTests
|
||||||
, HushGP.GP
|
, HushGP.GP
|
||||||
, HushGP.GP.PushArgs
|
, HushGP.GP.PushArgs
|
||||||
|
, HushGP.GP.Variation
|
||||||
, HushGP.Problems.IntegerRegression
|
, HushGP.Problems.IntegerRegression
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,3 +45,7 @@ This is clearly not ideal.
|
|||||||
4) For the exec stack itself,
|
4) For the exec stack itself,
|
||||||
typeable, data generic, ghc.generic, data.dynamic, heterogeneous lists, etc. could also help,
|
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.
|
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
|
- I'm only going to implement propeller's :specified version
|
||||||
- Is the best according to the papers
|
- Is the best according to the papers
|
||||||
- [X] Need a NoOp that opens blocks
|
- [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)
|
- [ ] Need to make genomes serializable (Check pysh json files)
|
||||||
- [ ] Add Memory
|
- [ ] Add Memory
|
||||||
- [ ] Add history stack(s), like a call stack
|
- [ ] Add history stack(s), like a call stack
|
||||||
|
@ -33,7 +33,7 @@ gpLoop pushArgs = do
|
|||||||
unEvaledPopulation <- generatePopulation pushArgs
|
unEvaledPopulation <- generatePopulation pushArgs
|
||||||
-- let evaledPop = evaluatePopulation pushArgs unEvaledPopulation
|
-- let evaledPop = evaluatePopulation pushArgs unEvaledPopulation
|
||||||
-- print evaledPop
|
-- print evaledPop
|
||||||
print "gamer"
|
print "placeholder for now"
|
||||||
|
|
||||||
-- | The guts of the GP loop. Where the work gets done after the initialization happens
|
-- | 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
|
-- 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."
|
print "Incomplete Run, saving the best so far."
|
||||||
| otherwise = gpLoop' pushArgs (succ generation)
|
| 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))
|
(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
|
nextAction
|
||||||
where
|
where
|
||||||
-- \| This will have downsampling added to it later.
|
-- \| 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