Gaussian processes (GPs) are the most commonly used surrogate models in BO owing to their flexibility as function approximators, principled uncertainty quantification, and compatibility with the kernel trick. GPs are non-parametric models that can approximate complicated objective functions f (x) given labeled training data {(x i , y i )} n i=1 . Through a Bayesian probabilistic framework, GPs provide uncertainty estimates in their predictions and allow incorporation of prior beliefs. GPs rely on a kernel function k(x, x ) : X × X → R [ ] to capture the similarity between any two NPMs x and x . This gives GPs the flexibility to approximate arbitrary, complicated (but well-behaved!) functions f (x). Moreover, it gives GPs versatility in how to represent the NPMs, e.g., graph kernels [ ] can be used for NPMs represented as crystal graphs (e.g., [ ]).