The simplest example of a representation x of an NPM is a list of hand-designed, based on domain expertise, descriptors/features of its structure and composition, such as pore volume, surface area, largest included sphere diameter, density, weight fraction carbon, etc. . Alternatively, x could be learned from a graph or D image representation of a NPM by a graph neural network [ ] or convolutional neural network [ ], respectively. See reviews in Refs. for defining feature vectors of for different examples of NPM feature spaces. As opposed to dwelling on how to define a good feature space of NPMs, we will instead focus on BO, a technique to search the defined feature space for the optimal NPM x * in an efficient manner.