ribs.emitters.rankers.TwoStageRandomDirectionRanker¶
- class ribs.emitters.rankers.TwoStageRandomDirectionRanker[source]¶
Similar to
ribs.emitters.rankers.RandomDirectionRanker
, but the solutions are first ranked by whether they are added, then by their projection onto a random direction in the archive space.This ranker originates from Fontaine 2020 as RandomDirectionEmitter.
Methods
rank
(emitter, archive, rng, solution_batch, ...)Ranks the solutions first by whether they are added, then by their projection onto a random direction in the archive.
reset
(emitter, archive, rng)Generates a random direction in the archive's measure space.
Attributes
(measure_dim,)
array with the target measure direction vector.- rank(emitter, archive, rng, solution_batch, objective_batch, measures_batch, status_batch, value_batch, metadata_batch)[source]¶
Ranks the solutions first by whether they are added, then by their projection onto a random direction in the archive.
- Parameters
emitter (ribs.emitters.EmitterBase) – Emitter that this
ranker
object belongs to.archive (ribs.archives.ArchiveBase) – Archive used by
emitter
when creating and inserting solutions.rng (numpy.random.Generator) – A random number generator.
solution_batch (numpy.ndarray) – Batch of solutions generated by the emitter’s
ask()
method.objective_batch (numpy.ndarray) – Batch of objective values.
measures_batch (numpy.ndarray) –
(n, <measure space dimension>)
array with the measure space coordinates of each solution.status_batch (numpy.ndarray) – An array of integer statuses returned by a series of calls to archive’s
add_single()
method or by a single call to archive’sadd()
.value_batch (numpy.ndarray) – 1D array of floats returned by a series of calls to archive’s
add_single()
method or by a single call to archive’sadd()
. For what these floats represent, refer toribs.archives.add()
.metadata_batch (numpy.ndarray) – 1D object array containing a metadata object for each solution.
- Returns
the first array (shape
(batch_size,)
) is an array of indices representing a ranking of the solutions and the second array (shape(batch_size,)
or (batch_size, n_values)``) is an array of values that this ranker used to rank the solutions.batch_size
is the number of solutions andn_values
is the number of values that the rank function used.- Return type
- reset(emitter, archive, rng)[source]¶
Generates a random direction in the archive’s measure space.
A random direction is sampled from a standard Gaussian – since the standard Gaussian is isotropic, there is equal probability for any direction. The direction is then scaled to the archive bounds so that it is a random archive direction.
- Parameters
emitter (ribs.emitters.EmitterBase) – Emitter that this
ranker
object belongs to.archive (ribs.archives.ArchiveBase) – Archive used by
emitter
when creating and inserting solutions.rng (numpy.random.Generator) – A random number generator.
- property target_measure_dir¶
(measure_dim,)
array with the target measure direction vector.- Type