ribs.emitters.rankers.RankerBase¶
-
class ribs.emitters.rankers.RankerBase(seed: int | integer | None =
None)[source]¶ Base class for rankers.
Every ranker has a
rank()method that returns a list of indices that indicate how the solutions should be ranked and areset()method that resets the internal state of the ranker (e.g. inRandomDirectionRanker).Child classes are only required to override
rank().Methods
rank(emitter, archive, data, add_info)Generates a batch of indices that represents an ordering of
data["solution"].reset(emitter, archive)Resets the internal state of the ranker.
- abstract rank(emitter: EmitterBase, archive: ArchiveBase, data: dict[str, ndarray], add_info: dict[str, ndarray]) tuple[ndarray, ndarray][source]¶
Generates a batch of indices that represents an ordering of
data["solution"].- Parameters:¶
- emitter: EmitterBase¶
Emitter that this
rankerobject belongs to.- archive: ArchiveBase¶
Archive used by
emitterwhen creating and inserting solutions.- data: dict[str, ndarray]¶
Dict mapping from field names like
solutionandobjectiveto arrays with data for the solutions.- add_info: dict[str, ndarray]¶
Information returned by an archive’s
add()method.
- 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_sizeis the number of solutions andn_valuesis the number of values that the rank function used.
- reset(emitter: EmitterBase, archive: ArchiveBase) None[source]¶
Resets the internal state of the ranker.
- Parameters:¶
- emitter: EmitterBase¶
Emitter that this
rankerobject belongs to.- archive: ArchiveBase¶
Archive used by
emitterwhen creating and inserting solutions.