ribs.emitters.rankers.DensityRanker¶
-
class ribs.emitters.rankers.DensityRanker(seed: int | integer | None =
None)[source]¶ Ranks solutions based on density in measure space.
Solutions with lower density are ranked first.
This ranker can only be used with archives that return the
densityfield from theiraddmethod, such asribs.archives.DensityArchive.add().Methods
rank(emitter, archive, data, add_info)Ranks solutions based on density in measure space.
reset(emitter, archive)Resets the internal state of the ranker.
- rank(emitter: EmitterBase, archive: ArchiveBase, data: dict[str, ndarray], add_info: dict[str, ndarray]) tuple[ndarray, ndarray][source]¶
Ranks solutions based on density in measure space.
- 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¶
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.