-
Notifications
You must be signed in to change notification settings - Fork 24
Optimizers
Optimizers are used in conjugation with single generation worlds (or within multi generation worlds). Optimizers take a population and use the organism scores generated by worlds generate a new population. Depending on the type of optimizer being used, the new generation may be all new organisms, or may consist of a mix of new organisms and organisms from previous generations.
###Asexual vs. Sexual Reproduction In addition to selecting the parent organisms, the optimizer also determines the reproduction method. Optimizers can also be designed to handle other elements such as sexual selection.
###Optimizer Types
- GA
- Selects a single parent organism at a time and then calls makeMutatedOffspringFrom() with this organism to produce a new organism which is added to a new population. To select each parent organism, a random value is generated. Then organisms are selected at random until one is selected who proportional (to the entire population) score is greater then the value.
- Tournament
- Selects a single parent organism at a time and then calls makeMutatedOffspringFrom() with this organism to produce a new organism which is added to a new population. To select each parent organism a number of organisms are selected at random from the population. From this selection, the organism with the highest score is used as the parent.
- Tournament2
- Selects a two parent organisms at a time and then calls makeMutatedOffspringFromMany() with these organisms to produce a new organism which is added to a new population. Although this is sexual reproduction, the gender of the organisms is ignored. The two parents are picked using the method defined in Tournament.
- (multi objective)
- not implemented yet
- (lambda lambda)
- not implemented yet
void makeNextGeneration(vector<shared_ptr<Organism>> &population)
given a population (vector of organisms) with scores, update population with new organisms.
home
welcome
MABE Parameter Widget
Installation and quick start
license
citations
release notes
developer contributions
consistency testing
Using MABE
Using Settings Files
Output Files
Creating Graphs with python
MABE framework
Defining Update
Brains
Markov Brain
Neuron Gate
Wire Brain
Human Brain
ConstantValues Brain
CGP Brain
Genetic Programing Brain
Artificial Neural Networks
Brains Structure and Connectome
Genomes
Circular Genome
Multi Genome
Genome Handlers
Genome Value Conversions
Organisms
Groups
Archivists
popFileColumns
Optimizers
Lexicase Optimizer
Worlds
Berry World
ComplexiPhi World
MultiThreadTemplate World
Utilities
DataMap
Parameters
Parameters Name Space
Adding Parameters to Code
ParametersTable
MTree
sequence function
Population Loading
PythonTools
MBuild
MGraph
MQ
findRelatedness
generatePhylogeny
Information Theory Tools
Brain States and Life Times
TimeSeries
Entropy Functions
Smearing
Fragmentation
State to State
Brain Infomation Tools
ProcessingTools