ribs.emitters.IsoLineEmitter¶
 class
ribs.emitters.
IsoLineEmitter
(archive, x0, iso_sigma=0.01, line_sigma=0.2, bounds=None, batch_size=64, seed=None)[source]¶ Emits solutions that are nudged towards other archive solutions.
If the archive is empty, calls to
ask()
will generate solutions from an isotropic Gaussian distribution with meanx0
and standard deviationiso_sigma
. Otherwise, to generate each new solution, the emitter selects a pair of elites \(x_i\) and \(x_j\) and samples from\[x_i + \sigma_{iso} \mathcal{N}(0,\mathcal{I}) + \sigma_{line}(x_j  x_i)\mathcal{N}(0,1)\]This emitter is based on the Iso+LineDD operator presented in Vassiliades 2018.
 Parameters
archive (ribs.archives.ArchiveBase) – An archive to use when creating and inserting solutions. For instance, this can be
ribs.archives.GridArchive
.x0 (arraylike) – Center of the Gaussian distribution from which to sample solutions when the archive is empty.
iso_sigma (float) – Scale factor for the isotropic distribution used when generating solutions.
line_sigma (float) – Scale factor for the line distribution used when generating solutions.
bounds (None or arraylike) – Bounds of the solution space. Solutions are clipped to these bounds. Pass None to indicate there are no bounds. Alternatively, pass an arraylike to specify the bounds for each dim. Each element in this arraylike can be None to indicate no bound, or a tuple of
(lower_bound, upper_bound)
, wherelower_bound
orupper_bound
may be None to indicate no bound.batch_size (int) – Number of solutions to return in
ask()
.seed (int) – Value to seed the random number generator. Set to None to avoid a fixed seed.
Methods
ask
()Generates
batch_size
solutions.tell
(solutions, objective_values, …[, …])Inserts entries into the archive.
Attributes
The archive which stores solutions generated by this emitter.
Number of solutions to return in
ask()
.Scale factor for the isotropic distribution used when generating solutions.
Scale factor for the line distribution used when generating solutions.
(solution_dim,)
array with lower bounds of solution space.The dimension of solutions produced by this emitter.
(solution_dim,)
array with upper bounds of solution space.Center of the Gaussian distribution from which to sample solutions when the archive is empty.

ask
()[source]¶ Generates
batch_size
solutions.If the archive is empty, solutions are drawn from an isotropic Gaussian distribution centered at
self.x0
with standard deviationself.iso_sigma
. Otherwise, each solution is drawn as described in this class’s docstring. Returns
(batch_size, solution_dim)
array – containsbatch_size
new solutions to evaluate.

tell
(solutions, objective_values, behavior_values, metadata=None)¶ Inserts entries into the archive.
This base class implementation (in
EmitterBase
) simply inserts entries into the archive by callingadd()
. It is enough for simple emitters likeGaussianEmitter
, but more complex emitters will almost certainly need to override it. Parameters
solutions (numpy.ndarray) – Array of solutions generated by this emitter’s
ask()
method.objective_values (numpy.ndarray) – 1D array containing the objective function value of each solution.
behavior_values (numpy.ndarray) –
(n, <behavior space dimension>)
array with the behavior space coordinates of each solution.metadata (numpy.ndarray) – 1D object array containing a metadata object for each solution.
 property
archive
¶ The archive which stores solutions generated by this emitter.
 property
iso_sigma
¶ Scale factor for the isotropic distribution used when generating solutions.
 Type
 property
line_sigma
¶ Scale factor for the line distribution used when generating solutions.
 Type
 property
lower_bounds
¶ (solution_dim,)
array with lower bounds of solution space.For instance,
[1, 1, 1]
indicates that every dimension of the solution space has a lower bound of 1. Type
 property
upper_bounds
¶ (solution_dim,)
array with upper bounds of solution space.For instance,
[1, 1, 1]
indicates that every dimension of the solution space has an upper bound of 1. Type
 property
x0
¶ Center of the Gaussian distribution from which to sample solutions when the archive is empty.
 Type