ribs.archives.ArchiveStats¶
- class ribs.archives.ArchiveStats(num_elites, coverage, qd_score, norm_qd_score, obj_max, obj_mean)[source]¶
Holds statistics about an archive.
Attributes of type
floating
will match thedtype
of their archive.Methods
Attributes
Number of elites in the archive.
Proportion of cells in the archive that have an elite - always in the range \([0,1]\).
QD score, i.e. sum of objective values of all elites in the archive.
Normalized QD score, i.e. the QD score divided by the number of cells in the archive.
Maximum objective value of the elites in the archive.
Mean objective value of the elites in the archive.
- coverage: numpy.floating¶
Proportion of cells in the archive that have an elite - always in the range \([0,1]\).
- norm_qd_score: numpy.floating¶
Normalized QD score, i.e. the QD score divided by the number of cells in the archive.
- obj_max: numpy.floating¶
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: numpy.floating¶
Mean objective value of the elites in the archive. None if there are no elites in the archive.
- qd_score: numpy.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.