4.7. Scores

Scores rank materials according to a set of objectives and constraints. An objective defines the goal for a scalar value associated with a particular descriptor. The goal can be to either maximize or minimize a value by using ScalarMaxObjective or ScalarMinObjective, respectively. Constraints represent a set of conditions on variables that should be satisfied. Constraints can be used to restrict either a design space or descriptor values in design candidates. There are five constraint types:

A candidate is scored based on the objective value and likelihood of satisfying the constraints. Higher scores represent “better” materials.

Currently, there are three scores:

4.7.1. Expected improvement

Expected improvement (EI) is the magnitude of the expected value of improvement calculated as the integral from the best training objective (i.e., baseline) to infinity of p(x)(x-a), where a is the best objective value in the training set. EIScore supports 0 or 1 objective. If no objective is provided, the score is the probability of satisfying all constraints.

EI is calculated from two components: predicted value and uncertainty. Higher scores result from a more optimal predicted value, higher uncertainty or both. Higher predicted values exploit information known about the current dataset, e.g., materials of a given type are known to perform well. Higher uncertainty leads to exploration of a design space, e.g., little is known about a certain class materials, but materials from this region of the design space could perform well.

4.7.2. Likelihood of improvement

Likelihood of improvement (LI) is the probability that a candidate satisfies a set of constraints and is an improvement over known objective values. LIScore supports 0 or more objectives. If no objectives are provided, the LI score is the probability of satisfying the constraints. When multiple objectives are present, the score is the probability of simultaneously improving all objectives. LI scores are bounded between 0 and 1.

The following demonstrates how to create an LI score and use it when triggering a design workflow:

from citrine.informatics.objectives import ScalarMaxObjective
from citrine.informatics.scores import LIScore

# create an objective to maximize Shear modulus
objective = ScalarMaxObjective(descriptor_key='Shear modulus')

# Baseline is the highest shear modulus from the training data
# (assumed to be 150 here)
baseline = 150.0

# Create an LI score from the objective and baseline
score = LIScore(
    objectives=[objective],
    baselines=[150.0]
)

# assuming you have a validated workflow, the score can be used in a design run via:
execution = workflow.design_executions.trigger(score)

4.7.3. Expected value

Expected value (EV) is the expected value of the objective, penalized if the constraints are unlikely to be satisfied. EVScore supports 0 or 1 objective. If no objective is provided, the score is the probability of satisfying all constraints.

EV is a purely exploitative scoring strategy. The candidate with the highest score will be the candidate that is expected to be the best at achieving the objectives and satisfying the constraints, neglecting any additional value for gaining information about materials being modeled. EV is unique among the currently available scores in that it ignores the predicted uncertainty in the objectives.