Calculates the Quantifying Efficiency in Quality Diversity Optimization
In quality diversity (QD) optimization, the QD score is a holistic
metric which sums the objective values of all cells in the archive.
Since the QD score only measures the performance of a QD algorithm at a single point in time, it fails to reflect algorithm efficiency.
Two algorithms may have the same QD score even though one
algorithm achieved that score with fewer evaluations. We propose
a metric called “QD score AUC” which quantifies this efficiency.
Parameters: |
-
qd_scores
(Sequence[float] )
–
-
batch_size
(int )
–
Number of instances evaluated in each generation.
|
Returns: |
-
float64
–
np.float64: QD score AUC metric.
|
Source code in digneapy/_core/_metrics.py
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 | def qd_score_auc(qd_scores: Sequence[float], batch_size: int) -> np.float64:
"""Calculates the Quantifying Efficiency in Quality Diversity Optimization
In quality diversity (QD) optimization, the QD score is a holistic
metric which sums the objective values of all cells in the archive.
Since the QD score only measures the performance of a QD algorithm at a single point in time, it fails to reflect algorithm efficiency.
Two algorithms may have the same QD score even though one
algorithm achieved that score with fewer evaluations. We propose
a metric called “QD score AUC” which quantifies this efficiency.
Args:
qd_scores (Sequence[float]): Sequence of QD scores.
batch_size (int): Number of instances evaluated in each generation.
Returns:
np.float64: QD score AUC metric.
"""
return np.sum(qd_scores) * batch_size
|