One Plus One#
This is a family of evolutionary algorithms that use a technique called 1+1 or One Plus One. ‘simple but sometimes powerful class of optimization algorithm. We use asynchronous updates, so that the 1+1 can actually be parallel and even performs quite well in such a context - this is naturally close to 1+lambda.’
The algorithms vary on the following parameters,
- noise_handling
How re-evaluations are performed.
‘random’ : a random point is reevaluated regularly
‘optimistic’ : the best optimistic point is reevaluated regularly
a coefficient can to tune the regularity of these reevaluations
(default = (None, .05))
- mutation
The strategy for producing changes / mutations.
‘gaussian’ : standard mutation by adding a Gaussian random variable (with progressive widening) to the best pessimistic point
‘cauchy’ : same as Gaussian but with a Cauchy distribution.
‘discrete’ : discrete distribution
‘fastga’ : FastGA mutations from the current best
‘doublefastga’ : double-FastGA mutations from the current best (Doerr et al, Fast Genetic Algorithms, 2017)
‘portfolio’ : Random number of mutated bits (called niform mixing in Dang & Lehre ‘Self-adaptation of Mutation Rates in Non-elitist Population’, 2016)
(default = ‘gaussian’)
- crossover
Optional additional of genetic cross over.
True : Add genetic crossover step every other step.
False : No crossover.
(default = False)
‘OnePlusOne’#
Defaults Only
‘NoisyOnePlusOne’#
noise_handling: 'random'
‘OptimisticNoisyOnePlusOne’#
noise_handling: 'optimistic'
‘DiscreteOnePlusOne’#
mutation: 'discrete'
‘DiscreteLenglerOnePlusOne’#
mutation: 'lengler'
‘AdaptiveDiscreteOnePlusOne’#
mutation: "adaptive"
‘AnisotropicAdaptiveDiscreteOnePlusOne’#
mutation: "coordinatewise_adaptive"
‘DiscreteBSOOnePlusOne’#
mutation: "discreteBSO"
‘DiscreteDoerrOnePlusOne’#
mutation: "doerr"
‘CauchyOnePlusOne’#
mutation: "cauchy"
‘OptimisticDiscreteOnePlusOne’#
noise_handling: 'optimistic'
mutation: 'discrete'
‘NoisyDiscreteOnePlusOne’#
noise_handling: ('random', 1.0)
mutation: 'discrete'
‘DoubleFastGADiscreteOnePlusOne’#
mutation: 'doublefastga'
‘FastGADiscreteOnePlusOne’#
mutation: 'fastga'
‘RecombiningPortfolioOptimisticNoisyDiscreteOnePlusOne’#
crossover: True
mutation: 'portfolio'
noise_handling: 'optimistic'