Archive implementations and associated utilities.

The archive is a data structure which stores solutions generated by the QD algorithm, along with any information relevant to solutions, such as objective and measure values. Archives in pyribs can also store metadata (i.e., arbitrary objects) alongside each solution.

The archives in this subpackage are arranged in a one-layer hierarchy, with all archives inheriting from ArchiveBase. This subpackage also contains several utilities associated with the archives, such as Elite and ArchiveDataFrame.

ribs.archives.GridArchive(*, solution_dim, ...)

An archive that divides each dimension into uniformly-sized cells.

ribs.archives.CVTArchive(*, solution_dim, ...)

An archive that divides the entire measure space into a fixed number of cells.

ribs.archives.SlidingBoundariesArchive(*, ...)

An archive with a fixed number of sliding boundaries on each dimension.

ribs.archives.ArchiveBase(*, solution_dim, ...)

Base class for archives.


A status returned by the add() method in an archive.

ribs.archives.Elite(solution, objective, ...)

Represents a single elite in an archive.

ribs.archives.EliteBatch(solution_batch, ...)

Represents a batch of elites.

ribs.archives.ArchiveDataFrame(*args, **kwargs)

A modified DataFrame for archive data.

ribs.archives.ArchiveStats(num_elites, ...)

Holds statistics about an archive.

ribs.archives.CQDScoreResult(iterations, ...)

Stores the result of running cqd_score().