ribs.archives.ArchiveStats

class ribs.archives.ArchiveStats(num_elites: int | integer, coverage: float | floating, qd_score: float | floating, norm_qd_score: float | floating, obj_max: float | floating | None, obj_mean: float | floating | None)[source]

Holds statistics about an archive.

Methods

Attributes

num_elites

Number of elites in the archive.

coverage

Proportion of cells in the archive that have an elite - always in the range \([0,1]\).

qd_score

QD score, i.e., sum of objective values of all elites in the archive.

norm_qd_score

Normalized QD score, i.e., the QD score divided by the number of cells in the archive.

obj_max

Maximum objective value of the elites in the archive.

obj_mean

Mean objective value of the elites in the archive.

coverage : float | floating

Proportion of cells in the archive that have an elite - always in the range \([0,1]\).

norm_qd_score : float | floating

Normalized QD score, i.e., the QD score divided by the number of cells in the archive.

num_elites : int | integer

Number of elites in the archive.

obj_max : float | floating | None

Maximum objective value of the elites in the archive. None if there are no elites in the archive.

Note

If the archive is non-elitist (this occurs when using the archive with a learning rate which is not 1.0, as in CMA-MAE), then an elite with this objective may no longer exist in the archive because it was replaced with an elite with a lower objective value. This can happen because in non-elitist archives, new solutions only need to exceed the threshold of the cell they are being inserted into, not the objective of the elite currently in the cell. See #314 for more info.

obj_mean : float | floating | None

Mean objective value of the elites in the archive. None if there are no elites in the archive.

qd_score : float | floating

QD score, i.e., sum of objective values of all elites in the archive. If qd_score_offset was passed in to the archive, this QD score normalizes the objectives by subtracting the offset from all objective values before computing the QD score.