Closed gianlucatruda closed 4 years ago
Works for now, but I'm thinking we should modularize the algorithm itself. Since it appears that we cannot access the inner parameters of the algorithm like generation number (#17), I'm thinking that we should change
algorithms.eaSimple
with our own function which would be a copy ofeaSimple
's source code.
@Serafim179 The implementation of the EAs is completely defined in a class. So as long as it acts the same (i.e. returns final_population
, stats
, best_individuals
) then it shouldn't matter.
UPDATES: This addresses issue #13 . It's still a work in progress. This has already incorporated PR #14 .
The main idea is that each EA instance we want, we create a new class based on
evo_utils.BaseEAInstance
.Then,
experiments_evolve.py
loops through our different EA instance classes and runs them for N repeats on M different enemies, saving the results tosaved_instances/<timestamp>_best_genomes.json
.Pseudocode:
From there, we load those best genomes into
experiments_test.py
, which does robust testing and generates a dataframe of results (work in progress).Pseudocode: