Emitters output new candidate solutions in QD algorithms.

All emitters should inherit from EmitterBase, except for emitters designed for differentiable quality diversity (DQD), which should instead inherit from DQDEmitterBase.


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.


Adapts a distribution of solutions with an ES.


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

ribs.emitters.GaussianEmitter(archive, *, sigma)

Emits solutions by adding Gaussian noise to existing archive solutions.

ribs.emitters.IsoLineEmitter(archive, *[, ...])

Emits solutions that are nudged towards other archive solutions.

ribs.emitters.EmitterBase(archive, *, ...)

Base class for emitters.