ribs.emitters

Emitters generate new candidate solutions in QD algorithms.

More formally, emitters are algorithms that generate solutions and adapt to objective, measure, and archive insertion feedback.

The emitters in this module follow a one-layer hierarchy, with all emitters inheriting from EmitterBase.

Note

Emitters provided here take on the data type of the archive passed to their constructor. For instance, if an archive has dtype np.float64, then an emitter created with that archive will emit solutions with dtype np.float64.

BayesianOptimizationEmitter(archive, *[, ...])

A sample-efficient emitter that models objective and measure functions with Gaussian process surrogate models.

EvolutionStrategyEmitter(archive, *, x0, sigma0)

Adapts a distribution of solutions with an ES.

GaussianEmitter(archive, *, sigma[, x0, ...])

Emits solutions by adding Gaussian noise to existing elites.

GeneticAlgorithmEmitter(archive, *, operator)

Creates solutions with a genetic algorithm.

GradientArborescenceEmitter(archive, *, x0, ...)

Generates solutions with a gradient arborescence, with coefficients parameterized by an evolution strategy.

GradientOperatorEmitter(archive, *, sigma, ...)

Generates solutions with a genetic operator and gradient arborescence.

IsoLineEmitter(archive, *[, iso_sigma, ...])

Emits solutions by leveraging correlations between existing elites.

EmitterBase(archive, *, solution_dim, ...)

Base class for emitters.