Operators
Each step of an evolutionary algorithm is represented by an Operator. The @define_op macro defines new operator structs with fields specified in the operator documentation. The create_op function generates new operator objects with default values for unspecified operator fields. This section provides an overview of the operators implemented so far in Jevo.jl.
Retrievers
Retrievers are a struct or function that, retrieve data from the state.
- Jevo.PopulationCreatorRetriever, used in InitializeAllPopulations
- PopulationRetriever, used in AllVsAllMatchMaker, and many others
- get_individuals, used in ClearInteractionsAndRecords
Updaters
- Jevo.ComputeInteractions!, used in Performer
- PopulationAdder, used in InitializeAllPopulations
- PopulationUpdater, currently unused because I forgot to use it
- Jevo.add_matches!, used in AllVsAllMatchMaker and SoloMatchMaker
- Jevo.RecordAdder, used in ScalarFitnessEvaluator
Matchmaker
- AllVsAllMatchMaker
- SoloMatchMaker, individuals play a match alone, used for evolutionary computing
Evaluators
Selectors
Reproducers
Performer
Mutators
- Mutator, uses Jevo.mutate as its
.operator.
Assertors
Assertors are operators that you can add at any point in the pipeline to check that certain aspects of the state are as expected.
Reporters
- Reporter, can log data if
Jevo.measurefor a specified Jevo.AbstractMetric as its.operator.
Checkpointer
Initializers
- InitializeAllPopulations, uses Jevo.create as its
.operator.
Miscellaneous
- CreateMissingWorkers. SLURM compatible, but only for a single node.
Phylogenies
- See Phylogeny