New Calabi–Yau Manifolds from Genetic Algorithms

: Calabi–Yau manifolds can be obtained as hypersurfaces in toric varieties built from reflexive polytopes. We generate reflexive polytopes in various dimensions using a genetic algorithm. As a proof of principle, we demonstrate that our algorithm reproduces the full set of reflexive polytopes in two and three dimensions, and in four dimensions with a small number of vertices and points. Motivated by this result, we construct five-dimensional reflexive polytopes with the lowest number of vertices and points. By calculating the normal form of the polytopes, we establish that many of these are not in existing datasets and therefore give rise to new Calabi–Yau four-folds. In some instances, the Hodge numbers we compute are new as well.


Introduction
Ever since the early days of string phenomenology [1], the construction of Calabi-Yau (CY) manifolds had been an active pursuit in the theoretical physics and mathematics communities.(See, for example, the classic reference [2] as well as the recent textbooks [3,4].)This is motivated by the existence of Ricci-flat metrics on CY manifolds, a property which makes them a useful building block for compactifications of string theory.In particular, CY three-folds compactify ten-dimensional superstring theory to four-dimensional quantum field theories with N = 1 supersymmetry [1].
In a parallel, and initially seemingly unrelated, vein, lattice polytopes play a central role in geometry, where a polytope defines a fan of strongly convex rational polyhedra cones which in turn defines a toric variety.In [5,6], Batyrev and Borisov showed how mirror pairs of (n − 1) complex dimensional CY manifolds can be realized from hypersurfaces in toric varieties constructed from n-dimensional reflexive polytopes.
Threading these two directions of CY compactifications and toric hypersurfaces, and motivated by their utility for string phenomenology, Kreuzer and Skarke devised an algorithm to generate all reflexive polytopes in n dimensions [7].The algorithm consists of two steps.First, a set S of "maximal" polytopes is constructed such that any reflexive polytope is a subpolytope of a polytope in S.These maximal polytopes are defined by a so-called "weight system" or a combination of weight systems.Second, all subpolyhedra of all polyhedra in S are constructed and checked for reflexivity.The complete classification of 4319 three-dimensional reflexive polytopes with this algorithm was accomplished in [8].From these we obtain K3 surfaces, which is to say, CY twofolds.Proceeding to dimension three, the 184, 026 weight systems giving rise to fourdimensional reflexive polytopes were presented in [9], and the resulting 473, 800, 776 four-dimensional reflexive polytopes, leading to CY three-folds, were listed in [10].In five dimensions the total number of reflexive polytopes is prohibitively large, and Schöller and Skarke were only able to run the first stage of the algorithm to calculate all 322, 383, 760, 930 weight systems corresponding to maximal polytopes [11].They found that 185, 269, 499, 015 of these weight systems give rise to reflexive polytopes directly. 1 This result constitutes a partial classification, and we will compare our results to this list later on. 2 The CY four-folds obtained from five-dimensional reflexive polytopes facilitate F-theory model building.
Finding reflexive polytopes is not an easy task.A lattice polytope is reflexive when it satisfies a set of conditions: it must have only a single interior point (the so-called IP property), its dual must as well be a lattice polytope (that is, its vertices must lie on integer lattice points), and the dual must also satisfy the IP property.Alternatively 1 It can be that distinct weight systems correspond to the same polytope.This means that the total number of unique five-dimensional reflexive polytopes found by Schöller and Skarke is less than 185, 269, 499, 015 (it is not known by how much).
2 All data produced by the Kreuzer-Skarke algorithm for reflexive polytopes in three and four dimensions can be found at [12].The complete Schöller-Skarke dataset of five-dimensional reflexive polytopes can be found at [13].
and equivalently, a polytope is reflexive if and only if it satisfies the IP property and all bounding hyperplanes of the polytope lie at unit hyperplane distance from the origin.With multiple criteria, regression is unlikely to perform well at finding reflexive polytopes.Any loss function will have local minima, where polytopes satisfy some but not all of the conditions for reflexivity.We can ask if methods such as reinforcement learning or genetic algorithms, which explore an "environment" in order to maximize a fitness or reward function, might be better suited for such a task.In this paper, we will address this question for genetic algorithms (GAs) and leave reinforcement learning for future work.Significant work has already been done on applying machine learning techniques to study objects in string theory, including polytopes [14][15][16].Genetic algorithms in particular have been successful at scanning for phenomenologically attractive string models [17,18] and cosmic inflation models [19], but this is the first time that genetic algorithms have been used to search for reflexive polytopes.
We note that alongside classifying reflexive polytopes, there has also been focus on classifying n-dimensional smooth Fano polytopes, which correspond to reflexive polytopes with the extra condition that there are exactly n edges emanating from each vertex and the primitive edge directions form a lattice basis of Z n .The classification of smooth Fano polytopes, up to dimension 9, was carried out [20] using the polymake software [21].Using this database there was some recent work done on generating smooth Fano polytopes [22] using sequential modeling.However, applying this methodology to reflexive polytopes without the smoothness condition does not yield good results.
The organization of this paper is as follows.In Sections 2.1 and 2.2, we present some background on reflexive polytopes and briefly review genetic algorithms.In Section 3 we present the results of our GA searches for reflexive polytopes in two, three, and four dimensions and compare the results to the known complete classifications.Fivedimensional reflexive polytopes are tackled in Section 4. Using GAs, we generate datasets of five-dimensional reflexive polytopes with the smallest number of points and vertices.From these we extract the polytopes with h 1,1 = 1 and h 1,1 = 2 and compare with the existing partial classification.We conjecture that there are exactly 15 fivedimensional reflexive polytopes that have h 1,1 = 1.We also present an example of a targeted search where conditions are placed on the Euler number of the CY manifold.In Section 5, we finish with a discussion and prospectus.Our code, along with a database of five-dimensional reflexive polytopes we have generated is available on GitHub [23,24].

Background
In this section we briefly review the necessary background, both on the mathematics of lattice polytopes and on genetic algorithms, while leaving some of the technical details to the appendices.

Reflexive polytopes
Due to theorems of Batyrev and Borisov [5,6] reflexive polytopes provide an efficient way to construct Calabi-Yau (CY) manifolds.(See Appendix A for a short review.)This close connection to CY manifolds is the principal reason why physicists are interested in reflexive polytopes, and it prompted Kreuzer and Skarke to perform a tour de force computer classification [7,8,10] which produced the largest available databases of smooth, compact CY manifolds in complex dimensions two and three.
Let us briefly review some of the properties of lattice polytopes relevant to our work.An n-dimensional lattice polytope ∆ is the convex hull in R n of a finite number of lattice points x 1 , . . ., x m ∈ Z n ⊂ R n .These points can be conveniently combined into an n × m matrix X = (x 1 , . . ., x m ) whose columns are the generators.The vertices v 1 , . . ., v Nv of ∆ are a subset of the lattice points x i , so that d} be a hyperplane where u ∈ Z n is a primitive lattice point and d ∈ R. Such a hyperplane is called valid if the polytope ∆ is contained in the associated negative half-space, that is, if u • x ≤ d for all x ∈ ∆.A face of ∆ is the intersection of ∆ with a valid hyperplane, and a facet is a face of dimension n − 1.We denote the set of all facets by F (∆) and for a facet φ ∈ F (∆) with equation u • x = d (where u is a primitive lattice point) the number d = d ∆ (φ) is called the lattice distance of φ from the origin.It is also useful to introduce the notation N p (∆) for the number of lattice points in ∆.
As explained in Appendix A, a lattice polytope is said to have the IP property if the origin is its only interior lattice point.Furthermore, ∆ is called reflexive if it has the IP property and if its dual polytope ∆ * is also a lattice polytope and has the IP property.Equivalently, ∆ is reflexive if and only if it has the IP property and if all its facets have lattice distance one, that is, if d ∆ (φ) = 1 for all φ ∈ F (∆).It is the latter characterization of reflexivity which we will use later in our definition of the fitness function.
We consider two polytopes ∆ and ∆ with the same number of vertices, N v (∆) = N v ( ∆) = N v , as equivalent if their vertices are related by a common integer linear transformation combined with a permutation.In other words, ∆ and ∆ are equivalent if there exist an N v × N v permutation matrix P and a G ∈ GL(n, Z) such that their vertex matrices V and V are related by V = G V P . (2.1) The most efficient way to eliminate the redundancy due to this identification is to define a normal form for the vertex matrix, thereby selecting precisely one representative per equivalence class.The definition of this normal form and an algorithm for its computation is reviewed in Appendix B. It is known that the number of reflexive polytopes, after modding out the identification (2.1), is finite in any given dimension n [25].The connection between reflexive polytopes and CYs is further discussed in Appendix A.
GAs operate on a certain state space called the environment, which is frequently (and indeed in our applications) taken to be the set F n bits 2 which consists of all bit lists with length n bits .The elements of this set are often referred to as genotypes.In our case the environment consists of lattice polytopes ∆ in n dimensions which are generated as the convex hull of m vectors x a ∈ Z n , where a = 1, ..., m.These vectors are arranged into an n × m matrix X = (x 1 , . . ., x m ).A detailed explanation of the environment and how the matrices X are converted into a bitlists is given in Appendix C. Further, we have two given functions, a fitness function f : F n bits 2 → R whose value the algorithm is attempting to optimize and a probability distribution p in : F n bits 2 → [0, 1], which is used to select the initial population.Given the bijection between the spaces of genotypes and phenotypes these functions can be defined on either space and we opt for the latter.For the sampling probability p in it is usually sufficient to use a flat distribution, that is, every state in the state space has the same probability. 3In our case the basic fitness function is defined as where IP(∆) equals 1 if ∆ has the IP property and is 0 otherwise.The numbers w 1 , w 2 ∈ R >0 are weights which are typically chosen as w 1 = w 2 = 1.Note that f (∆) ≤ 0 always and f (∆) = 0 if and only if ∆ is reflexive.Accordingly, we set f term = 0 so that the terminal states correspond to reflexive polytopes.
For some of our applications we are interested in a more targeted search for reflexive polytopes with certain additional properties.For example, we might be interested in reflexive polytopes ∆ whose number N p (∆) of lattice points equals a certain target N p,0 .Another interesting subclass of reflexive polytopes are those whose number of vertices N v (∆) matches a target N v,0 .4To facilitate such targeted searches, we can modify the fitness function (2.2) to where w 3 , w 4 ∈ R ≥0 are two further weights which can be used to switch the additional requirements on and off.If w 3 , w 4 > 0, then f (∆) = 0 and, hence, ∆ is terminal, if and only if ∆ is reflexive and has the target numbers N p,0 and N v,0 of lattice points and vertices.
The first step of a GA evolution is to select an initial population P 0 which contains a certain number, n pop , of bit strings, each of length n bits , by sampling the set F n bits 2 with probability p in .The genetic evolution then consists of a sequence of further n gen populations, each with the same size n pop .The basic evolutionary process, P k → P k+1 , to obtain population k + 1 from population k is carried out in three steps, namely, (i) selection, (ii) cross-over, and (iii) mutation.We describe these three steps in turn.
(i) Selection: A probability distribution p k : P k → [0, 1], based on the fitness function, is computed for the k th population.There are several ways to do this but the method we will employ here is the so-called roulette wheel selection where p k for an individual s ∈ P k is defined by where f and f max are the average and maximal fitness values on P k , respectively.The parameter α, typically chosen in the range α ∈ [2, 5], indicates by which factor the fittest individual in the population is more likely to be selected than the average one.Based on this probability p k , n pop /2 pairs are selected from the population P k .
(ii) Cross-over: For each pair selected in step (i), a random location l ∈ {1, . . ., n bits } along the bit string is chosen and the tails of the two strings are swapped.Carrying this out for all pairs leads to n pop new bit strings, which form the precursor, P k+1 , of the new population.
(iii) Mutation: In the final step, a certain fraction, r mut , of bits in the population P k+1 from step (ii) is flipped and this produces the next generation P k+1 .
A common addition to the above algorithm (which we employ in our applications) is elitism which means that the fittest individual from population P k is copied to the population P k+1 unchanged.In summary, a GA evolution is subject to the following hyper-parameter choices: the population size n pop , the number of generations n gen , the parameter α in (2.5) and the mutation rate r mut .For a systematic search, typically many GA evolutions, each with a new randomly sampled initial population P 0 , are carried out.Then, the desirable (or "terminal") states s, defined as states with f (s) ≥ f term for a certain critical value f term , are extracted from all populations which arise in this way.
Once the GA has found a list of reflexive polytopes, possibly with additional properties, we are not yet finished, since we have to eliminate the redundancies which arise from the identification (2.1).This is done by computing the normal form of the vertex matrix, using the algorithm described in Appendix B.
For our applications, we use PALP [36] tools for polytope computation and additional c code by the authors [24] which realizes the phenotype-genotype conversion.This is combined into a lightweight and fast c code [23] which realizes the GA.

Low dimensional results
To showcase the capability of GAs for searching reflexive polytopes, we start with n = 2, 3, 4 dimensions where complete classification already exists. 5As we will see, these results provide useful guidance for the search in n = 5 dimensions where a complete classification is lacking.
There are some common hyperparameter choices which we use for all following runs (including those in Section 4).In each case, we evolve populations for n gen = 500 generations, we use a mutation rate of r mut = 0.005, and the parameter α in (2.5) is set to α = 3.Other hyperparameters, such as the population size n pop , and environmental variables will be chosen to optimize results and their values for each case will be stated below.

Two and three dimensions
In two dimensions, where there are 16 unique reflexive polytopes, we use an integer range x i a ∈ [−3, 4], so that each integer is encoded by ν = 3 bits, and m = 6 generators.Hence, each matrix X is represented by n bits = 36 bits and the environment consists of 10 36 ≃ 10 11 states.
The total number of reflexive polytope states in the environment will of course be greater than 16 because equivalence relations exist by the identification (2.1).We'd like to estimate the number of such states in the environment, the details of how we compute this estimate are given in Appendix C.1.In short, we estimate the number N of GL(2, Z) matrices which transform the unique reflexive polytopes into equivalent reflexive polytopes that exist within the environment, i.e. have vertex coordinates in the range [ −3, 4].The estimate on the number of reflexive polytopes in the environment is then given as (# unique reflexive polytopes)×N .We estimate N to be 107, and therefore we estimate that there are 16 × 107 ∼ 10 3 number of reflexive polytopes in the environment.
Using a population size of n pop = 200, the genetic algorithm finds all 16 reflexive polytopes after only one evolution, taking only a few seconds on a single CPU.Assuming that the GA never visits the same state twice, the total number of states visited would be # evolutions × n gen × n pop = 1 × 500 × 200 ≃ 10 5 which is only a fraction of ∼ 10 −6 of the total environmental states.In reality, the GA is likely to visit states more than once so this is in fact an upper bound and the true fraction of states visited will be smaller.
In three dimensions, we use the coordinate range x i a ∈ [−7, 8], with ν = 4 bits per integer and m = 14 generators.This means each matrix X is described by n bits = 168 bits and the total environment size is 2 168 ≃ 10 51 .With population size set to n pop = 450, the genetic algorithm finds all 4319 reflexive polytopes after 117251 evolutions.
The upper bound of states visited by the GA is 117251 × 500 × 450 ≃ 10 11 , which is a very small fraction of ∼ 10 −40 of the environmental states.For comparison, we estimate the total number of reflexive polytopes in the environment to be ∼ 10 9 (∼ 10 −42 of the total environment).Considering the small fraction of reflexive polytopes in the environment this it is a remarkable achievement that the GA managed to find all the unique ones.

Four dimensions
In four dimensions, the total number of reflexive polytopes is large (473, 800, 776) and, for our purpose of obtaining baseline performance results to inform the five-dimensional search later on, it is not necessary to generate the complete set.Instead, we focus our attention on finding those polytopes ∆ with the lowest number of vertices and points.
In n = 4 dimensions the minimum number of vertices is 5 and therefore the minimum number of points (assuming reflexive polytopes for which the origin is the single interior point) is 6.To facilitate such a search we use the modified fitness function (2.3) with certain targets N v,0 or N p,0 for the number of vertices or points.
We first perform a search for reflexive polytopes with the lowest number, N v,0 = 5, of vertices (and an arbitrary number of points).This means we set w 3 > 0 and w 4 = 0 in the modified fitness function (2.3).The integer range is taken to be x i a ∈ [−15 , 16], that is, we use ν = 5 bits per integer and m = 5 generators.This means the matrices X are described by bit strings of length n bits = 100 and the environment contains 2 100 ≃ 10 30 states.Furthermore, we estimate the number of reflexive polytopes in this environment to be ∼ 10 15 , which is still a very small fraction ∼ 10 −15 of the total environment.The population size is taken to be n pop = 200.With these settings we performed multiple GA runs and the number of reflexive polytopes as a number of generations obtained is shown in Figure 1.
Evidently, the number of reflexive polytopes, after removing the redundancy due to (2.1), saturates quickly and to a value of 1555, just six reflexive polytopes short of the total of 1561.The missing six polytopes all have Euler number χ = 0 and large vertex coefficients in their normal form.Applying a few million GL(4, Z) transformations, we are unable to find a single equivalent vertex matrix for these six cases which falls into our integer range.This suggests these cases can only be found by enlarging the integer range x i a ∈ [−15, 16].We will refrain from doing this as the present run has already found 99.6% of all reflexive polytopes and provides strong evidence that, given appropriate hyperparameter and environmental choices, GAs can find virtually complete sets of reflexive polytopes.Next, we are searching for polytopes with a given number, N p,0 of lattice points, so we set w 3 = 0 and w 4 > 0 in the fitness function (2.3).Specifically, we will be focusing on the cases N p,0 ∈ {6, 7, 8, 9, 10}.The vertex coefficients of such polytopes with a relatively small number of points are likely to be small.Therefore, we reduce the integer range to x i a ∈ [−3, 4] and describe every integer by ν = 3 bits.This leads to a reduction of the environment size and a significant improvement in the algorithm's performance, compared to the previous case.If a polytope has N p,0 points, the maximum number of vertices is N v = N p,0 − 1, where all points are vertices except the origin.Therefore, in searching for polytopes with N p,0 points we set the number of generators to m = N p,0 − 1.The results are summarised in Table 1.It is remarkable that all states are found in all cases after a sufficient number of GA runs.

Five-dimensional results
In the previous section, we have seen that GAs can generate complete or near-complete lists of reflexive polytopes in two, three, and four dimensions.This is a valuable proof of principle which demonstrates that GAs can successfully identify reflexive polytopes.However, the results are of limited practical use, given the complete classifications in those dimensions.We now turn to reflexive polytopes in five dimensions, the lowestdimensional case for which a complete classification is not available.1: Results for four-dimensional reflexive polytopes with the a small number of lattice points, as in the first column.The size of the environment used for the GA is provided in the second column, the total number of unique reflexive polytopes for the given number of points (as taken from the Kreuzer-Skarke list) is given in the third column, the fourth column gives an estimate on the total number of reflexive polytopes in the environment, in the fifth column is the population size, the sixth column gives the number of GA runs required to find all unique reflexive polytopes and the last column provides an upper bound on the fraction of states visiting during all GA runs.
of (inequivalent) reflexive polytopes in dimensions n = 1, 2, 3, 4 is given by 1, 16, 4319, 473, 800, 776, respectively.This sequence suggests the number of reflexive polytopes in five dimensions is extremely large and producing a complete catalog is intractable. 6he partial list of Schöller and Skarke of 185, 269, 499, 015 weight systems that give rise to (not necessarily inequivalent) maximal five-dimensional reflexive polytopes [11] is the state of the art.The GA, however, is not biased towards generating maximal polytopes, and can be used to search for polytopes with other properties.In fact, it is likely that the vertices of the largest polytopes are far from the origin, and the GA would struggle to find such cases.For this reasons, we focus on generating small polytopes with a small number of points and vertices.We note that the "small" polytopes we generate are not necessarily dual to Skarke and Scholler's "maximal" polytopes.The maximal polytopes in Skarke and Scholler's list are those that contain every reflexive polytope as a subpolytope and so the dual of these will indeed have a small number of points.However, some of our small polytopes which have a small number of points might have a dual that is large (meaning it has large number of points) but it is still a subpolytope of an even larger maximal polytope, in which case the dual would not be in Skarke and Scholler's database.
We can compute the normal forms of the polytopes found by the GA with those of the polytopes in the existing list, to confirm that we have indeed found new five-dimensional reflexive polytopes.

N v = 6
In analogy with the four-dimensional case, we start by looking at polytopes with the smallest number of vertices, that is, N v = 6.We use the integer range {−15, . . ., 16} so that every integer is represented by ν = 5 bits and the total length of the genotype is n bits = 150.Hence, the size of the environment is 2 150 ≃ 10 46 .We have performed 626318 GA runs, taking over two months to complete on a single CPU.We used n gen = 500 generations and a population size n pop = 500, meaning during the search a fraction of at most 10 −35 of the environment has been visited.The number of reflexive polytopes against the number of runs found in this way is shown in Figure 2.After removing redundancies, we end up with a total of 115567 five-dimensional reflexive polytopes with six vertices.From Figure 2 we see that the the reduced number of reflexive polytopes is still increasing and therefore running the GA for longer we should find more six-vertex polytopes.However, due to limited resources and so we do not pursue this.We have also searched for those five-dimensional reflexive polytopes with the lowest number of points, that is, N p,0 ∈ {7, 8, 9, 10, 11}.This has been done for the range integer range {−3, . . ., 4}, so that every integer is represented by ν = 3 bits, leading the bit strings of length n bits = 15(N p,0 − 1).In each case, we perform as many GA runs as necessary until no new polytopes are found for 1000 evolutions.The results are presented in Table 2 Table 2: Results for five-dimensional reflexive polytopes with the a small number of lattice points, as in the first column.The size of the environment used for the GA is provided in the second column, the population size in the third column, the fourth column lists the total number of unique reflexive polytopes found by the GA for the given number of points and the last column gives the number of GA runs at which the total list of reflexive polytopes saturates and after which no new reflexive polytopes are found for 1000 runs.
Of course we do not know with certainty which fraction of low-point polytopes we have found in this way.It is possible that some five-dimensional reflexive polytopes with such numbers of points still exist.On the other hand, in view of the highly successful low-point searches in four dimensions, it seems likely we have found a large fraction of those polytopes.

h
It is interesting to ask about CY manifolds with small Hodge numbers and here we focus on cases with small h 1,1 .The Schöller-Skarke list contains 8 weight systems corresponding to CY hypersurfaces with h 1,1 = 1 and 33 weight systems corresponding to CY hypersurfaces with h 1,1 = 2.In their list there are also 8, 409, 140 and 186, 659, 154 weight systems with h 1,3 = 1, 2 respectively, whose duals will have h 1,1 = 1, 2. Taking a sample of 100, 000 weight systems in each case and computing the corresponding reflexive polytopes in their normal forms we find that there are only 7 and 47 unique polytopes.This is a huge reduction and highlights the large amount of redundancy in the Schöller-Skarke list of weight systems.We have scanned the lists of five-dimensional reflexive polytopes obtained from the GA runs described above and have found 15 polytopes with h 1,3 = 1 whose dual polytopes have h 1,1 = 1.Similarly, we have found 195 polytopes with h 1,3 = 2 whose dual polytopes have h 1,1 = 2.By comparing normal forms, we have verified that these dual polytopes contain all h 1,1 = 1, 2 polytopes from the Schöller-Skarke list.In addition, there are many new examples, even some with Hodge numbers which are not contained in the Schöller-Skarke list or in the list of four-dimensional CY manifolds realized as complete intersections in products of projective space (CICYs) [37,38].Two such examples with a new set of Hodge numbers are given in Appendix D.
All 15 polytopes with h 1,3 = 1 arise from the datasets with N p = 7, 8 and no such polytopes are found for 8 < N p ≤ 11.We take this as evidence that the dataset is complete.

Targeted searches
To showcase the capability of our GA at generating CY four-folds with specific criteria, we present an example of a targeted search inspired by [39].In that paper, the authors consider eleven-dimensional supergravity compactified on CY four-folds with 4-form flux and provide the conditions necessary to break supersymmetry from N = 2 to N = 1.In Appendix A they search for CY four-folds with χ divisible by δ ∈ {24, 224, 504} which satisfy the N = 1 condition.By searching the Schöller-Skarke list they find eight examples which they present in their Table 1.To facilitate a GA search for such cases, we modify our fitness function to where w 5 is a weight and χ(∆) is the Euler number of ∆.In our search for such polytopes we set the number of generators to be m = 10 and use the integer coordinate range [ −3, 4], where each integer is represented by a ν = 3 bits.With population size n pop = 550 and after 10000 evolutions the GA finds 1871 polytopes that satisfy the index condition and, comparing the Hodge numbers with those in Schöller and Skarke's list, we find that two of these are new.One such example is given in Appendix D.
This example illustrates the possibilities of a targeted GA search.By a suitable modification of the fitness function one can design a dedicated search for CY manifolds with prescribed properties, for example with certain values of the Euler number as above, but also with a given pattern of Hodge numbers, with Chern classes and intersection form satisfying certain constraints or combinations of all of these.This points to a different approach for dealing with large classes of geometries in string theory.Rather than producing complete lists of such geometries (which is not even feasible for the case at hand, that is, five-dimensional reflexive polytopes) the GA can be used to search for geometries with prescribed properties, as required for the intended string compactification.

Discussion
In this paper we have shown that genetic algorithms (GAs) can be efficiently used to generate reflexive polytopes in two, three, four, and five dimensions.In two dimensions we have generated the complete set of 16 reflexive polytopes in just one GA evolution.We have also generated the complete set of reflexive polytopes in three dimensions in ∼ 100000 evolutions.Due to the large number of reflexive polytopes in four dimensions, we have refrained from generating the complete set in this case.Instead, we have focused on the polytopes with the smallest number N p,0 , of lattice points, that is, 6 ≤ N p,0 ≤ 10.By comparing with the Kreuzer-Skarke classification, we have shown that the GA can find all such polytopes.These results indicate that complete or nearcomplete classifications of reflexive polytopes can be accomplished with GAs, at least for cases with a small number of lattice points.This observation is important for the five-dimensional case, where only a partial classification of reflexive polytopes exists.Performing a GA search for 7 ≤ N p,0 ≤ 11 in five dimensions produces all reflexive polytopes from the partial classification and indeed many more, previously unknown cases.This includes cases which lead to CY four-folds with new sets of Hodge numbers.While the numbers of reflexive polytopes obtained in this way (see Table 2) is unlikely to be the true total there are good indications that they provide strong lower bounds.From these lists, we have also extracted all polytopes with h 1,1 = 1.We conjecture that the 15 cases found constitute the complete list of reflexive polytopes which give rise to CY four-folds with h 1,1 = 1.
It is perhaps not desirable, or even feasible, to generate the complete list of reflexive polytopes beyond four dimensions.Instead, we propose an alternative approach, well-suited to the needs of string compactifications, of targeted searches for reflexive polytopes (and their associated CY manifolds) with certain prescribed properties.We have demonstrated that GAs can be used for such targeted searches, by looking for cases with certain prescribed values of the Euler number.This has led to new reflexive polytopes that satisfy the condition for M-theory compactifications on CY four-folds, following [39].We expect the same approach will work for other targets, such as a certain desirable pattern of Hodge numbers.
The c code underlying the above results and all data sets are available on GitHub [23,24].
There are many possible directions for future research.In particular, by fine, star, regular triangulation of a (dual) reflexive polytope into simplices, we can construct the CY hypersurface explicitly.This process is also amenable to attack with GAs.Targeted GA searches are another promising avenue.For example, it might be possible to design a targeted search for elliptically or K3 fibered CY four-folds.More ambitiously, one can aim for searches which produce F-theory compactifications with certain desirable properties.It might also be interesting to apply reinforcement learning to the problem of searching for reflexive polytopes and compare its performance to that of GAs.We leave this to future work.by acting on V with a GL(n, Z) matrix from the left.Altogether, this amounts to a transformation of the vertex matrix as in Eq. (2.1).
In order to remove the redundancy in the list of polytopes, we compare their normal forms.This is the approach that was used by Kreuzer and Skarke in constructing the complete classification of three-and four-dimensional reflexive polytopes [8,10] and is included in the PALP software package [36].If two polytopes ∆ 1 and ∆ 2 have the same normal form, then they are equivalent, in the sense that they are isomorphic with respect to a lattice automorphism.A detailed description of the how one computes the normal form is given in [43].We shall give a short description here.
Let M be a n-dimensional lattice and ∆ ⊂ M Q a n-dimensional lattice polytope with N v vertices, N f = |F (∆)| facets and vertex matrix V .We also define the supporting hyperplanes of ∆, associated to the facets φ i ∈ F (∆), as the set of all vectors v satisfying ⟨w i , v⟩ = −c i , where (w i , c i ) ∈ M * × Z.The algorithm to compute the normal form is then as follows.
1. Compute the N f × N v vertex-facet pairing matrix P M : 2. Order the pairing matrix P M lexicographically to get the maximal matrix P M max .
3. Further rearrange the columns of P M max to get M by the following: 4. Let σ max denote the associated element of S N f × S Nv that transforms P M into M .Order the columns of V according to the restriction of σ max to S Nv to get the maximal vertex matrix V max .This removes the permutation degeneracy.
5. Compute the row style Hermite normal form of V max to obtain the normal form N F .This step removes the GL(n, Z) degeneracy.
Example 1 To illustrate the above algorithm, we present an example in three dimensions.Let ∆ be a lattice polytope defined by the vertex matrix: Computing the vertex-facet pairing matrix we get Ordering P M lexicographically we get the following maximal matrix: corresponding to the row and column permutations (3, 6, 7, 4, 5, 2, 1, 8) and (3, 2, 7, 8, 6, 1, 5, 4) respectively.Further ordering the columns by the procedure described in Step 3 above we get corresponding to the column permutation (6, 5, 8, 4, 7, 1, 2, 3).Ordering the columns in V correspondingly we get Finally, computing the row style Hermite normal form of V max we arrive at the following normal form:

C Environment
In order to set up the environment, we consider lattice polytopes ∆ in n dimensions which are generated as the convex hull of m vectors x a ∈ Z n , where a = 1, . . ., m.These vectors are arranged into an n × m matrix X = (x 1 , . . ., x m ).
In practice, we must restrict the entries x i a of the matrix X to a finite range which we choose to be x i a ∈ {x min , x min + 1, . . ., x min + 2 ν − 1}, for certain integers x min and ν.Our environment E therefore consists of all n × m integer matrices X with entries in this range.The elements of an environment E are also referred to as phenotypes.The first step in applying GAs to such an environment is to define the phenotype-genotype map E → F n bits 2 .Given our choices this is quite straightforward.Each integer x i a is converted into a bit string of length ν and concatenating these leads to a bit string of length n bits = n m ν which describes the entire matrix X .With these conventions the phenotype-genotype map is, in fact, bijective and the environment E contains a total of 2 n bits = 2 nmν (C.1) states.To orient ourselves let us consider polytopes in dimension n = 5 with the minimal number, m = 6, of generators and with each integer x i a represented by ν = 3 bits (so that, choosing for example x min = −4, the integer range is x i a ∈ {−4, . . ., 3}).In this case, the environment consists of 2 90 ≃ 10 27 states, quite a sizeable number and certainly well beyond systematic search.

C.1 Estimating the Number of Reflexive Polytopes
We wish to estimate how many states in the total environment correspond to ndimensional reflexive polytopes, given the number of unique reflexive polytopes.To do so we estimate the number, N , of GL(n, Z) matrices which transform the unique reflexive polytopes to an equivalent reflexive polytope than remains within the environment, i.e. with vertex coordinates in the range [x min , x min + 2 ν − 1].The total number of reflexive polytopes in the environment is then estimated to be (# unique reflexive polytopes)×N .
We estimate N by the following steps: 5. Estimate N as The N GL , f 1 , f 2 and N values for the two, three and four-dimensional cases are given in Table 3. Table 3: Components of the estimates for the total number of reflexive polytopes that exist in the GA environment.The dimension is given in the first column, the number of vertices and points, if specified, are given in the second and third columns respectively, the minimum coordinate entry is in the fourth column and the maximum number of generators in the fifth column.The range [−L, L] of GL(n, Z) entries is given in the sixth column, the number of such matrices is given in the seventh column, the fraction of these matrices with determinant ±1 is given in the eighth column, the fraction of GL(n, Z) matrices with entries in the range [−L, L] and with determinant ±1 which transform the unique reflexive polytopes to polytopes within the environment is given in ninth column and the last column gives the estimate on the total number of reflexive polytopes in the environment.

Figure 1 :
Figure 1: Log plot of total number of generated four-dimensional reflexive polytopes with five vertices against number of genetic algorithm evolutions.The total before and after removing redundancy are shown in orange and blue, respectively.

Figure 2 :
Figure 2: Total number of generated five-dimensional reflexive polytopes with six vertices against number of genetic algorithm evolutions.

3 . 4 .
Take the random sample of 10000 GL(n, Z) matrices with entries in the range [−L, L] from the previous step and determine what fraction f 1 ∈ [0, 1] of these matrices have determinant ±1, a condition that is necessary to maintain reflexivity.Generate a sample of 10000 GL(n, Z) matrices, with entries in the range [−L, L] and determinant ±1, act on the unique reflexive polytopes with each of these matrices and determine what fraction f 2 ∈ [0, 1] of the transformed polytopes remain within the environment, i.e. have vertex coordinates in the range [x min , x min + 2 ν − 1].