Abstract
The main goal of this paper is to outline a new optimization algorithm based on String Theory, which is a relative new area of physics. The String Theory Algorithm (STA) is a nature-inspired meta-heuristic, which is based on studies about a theory stating that all the elemental particles that exist in the universe are strings, and the vibrations of these strings create all particles existing today. The newly proposed algorithm uses equations based on the laws of physics that are stated in String Theory. The main contribution in this proposed method is the new techniques that are devised in order to generate potential solutions in optimization problems, and we are presenting a detailed explanation and the equations involved in the new algorithm in order to solve optimization problems. In this case, we evaluate this new proposed meta-heuristic with three cases. The first case is of 13 traditional benchmark mathematical functions and a comparison with three different meta-heuristics is presented. The three algorithms are: Flower Pollination Algorithm (FPA), Firefly Algorithm (FA) and Grey Wolf Optimizer (GWO). The second case is the optimization of benchmark functions of the CEC 2015 Competition and we are also presenting a statistical comparison of these results with respect to FA and GWO. In addition, we are presenting a third case, which is the optimization of a fuzzy inference system (FIS), specifically finding the optimal design of a fuzzy controller, where the main goal is to optimize the membership functions of the FIS. It is important to mention that we used these study cases in order to analyze the proposed meta-heuristic with: basic problems, complex problems and control problems. Finally, we present the performance, results and conclusions of the new proposed meta-heuristic.
Introduction
Nowadays, it is more common for researchers in the computational intelligence area to work with nature-inspired meta-heuristics to solve a wide range of optimization problems [1]. There are now a plethora of papers and algorithms that have been put forward based on natural behaviors. The main challenge in developing a new algorithm is to represent and to simulate, as close as possible, each of the most important behaviors and characteristics of real phenomena [2]. This representation can be implemented by operators in the corresponding algorithms, for example in genetic algorithms [3], operators, like crossover, mutation and selection, are used to represent and simulate the evolution process. In this paper we are presenting a new algorithm inspired on the theoretical basis and behavior of String Theory in physics [4]. In this case, as part of this proposal we also are putting forward a new approach to randomness based on the behavior of the vibrations that are produced by each string in the universe. In other words, a new method to generate random numbers inside the new algorithm is proposed. In addition, we are presenting the motion equations, which the algorithm needs to find the best result. Finally, we are presenting a newly proposed method for performing crossover on strings in the algorithm in order to improve the solutions, and this proposed method is based on real numbers in order to represent the natural combinations occurring in Strings in nature.
In this regard, the main contribution of this work is the proposed new algorithm to generate new potential solutions in optimization problems in order to find new ways that could improve the results in solving these problems. In addition, we are presenting new ways to generate randomness and a new crossover operator respectively, that could be implemented in other metaheuristics in order to potentially improve their performance. The main difference of this new algorithm in comparison with others that exist in the literature is that this proposed method takes the best features and advantages of String Theory in developing a computer science model and new techniques that other algorithms do not use, but could be modified in the future in order to include the new techniques that we have proposed in this research.
The proposed String theory algorithm in this work is innovative in the area of metaheuristics, and this is because of the following reasons: To the moment, in the current literature the readers cannot find a metaheuristic based on the theory of strings from Physics, which can be viewed as a way to explain the universe by unifying the basic laws in Physics. There have been previously proposed metaheuristics based on Physics, like the gravitational algorithm and the electric charge algorithm, but the String theory algorithm uses all known forces in Physics including gravity and electrical, so it can be viewed as a generalization (containing) of the previous methods, like the ones mentioned above. The proposed method for stochasticity or randomness is novel, and it is based on the periodicities of string movements, and cannot be find as such in the existing metaheuristics in the literature.
Finally, we can mention that the novelty of the approach is in the techniques that we have proposed in this work and that do not exist in the literature review; these techniques are the combination of the potential solutions and the stochasticity method.
The rest of the paper is organized as follows. Section 2 summarizes the literature review, and describes the basic theory and concepts of String Theory that are used in this work to propose the new nature inspired algorithm, Section 3 describes in detail the method for the new algorithm (STA), in Section 4 the simulation results and discussions are presented, and finally in Section 5 we offer the conclusions.
Literature review
Two of the most popular algorithms based on natural behavior are the well-known Genetic Algorithm (GA) and Particle Swarm Optimization (PSO). These important algorithms have strongly influenced the way we propose and implement new algorithms in computer science for problem optimization based on natural phenomena. The first one (GA) is possibly the first algorithm developed in order to simulate genetic systems. This algorithm was first proposed by Fraser [5, 6] and later by Bremermann [7] and Reed in [8]. Finally, Holland [9] did extensive work on Genetic Algorithms that popularized GAs, and this is a main reason that Holland is generally considered as the father of GAs. Basically, genetic algorithms were inspired on genetic evolution, where the features of individuals are expressed using genotypes. The main operators used in this algorithm are selection, crossover and mutation, respectively and we can find more details in [10, 11]. Another popular algorithm, is the particle swarm optimization (PSO) algorithm, which is a population-based search algorithm based on the simulation of the social behavior of birds within a flock. The initial goal of the particle swarm concept was to graphically simulate the graceful and unpredictable choreography of a bird flock [12], this with the aim of discovering patterns that govern the ability of birds to fly synchronously and to suddenly change direction with regrouping in an optimal formation. From this initial objective, the concept evolved into a simple and efficient optimization algorithm. Nowadays, researchers’ study and propose new techniques in order to find the particular algorithm or meta-heuristic that solves the greatest number of problems, although, the NFL (No Free Lunch) Theorem [13] has logically proven that there is no meta-heuristic appropriately suited for solving all optimization problems. For example, a particular meta-heuristic can provide very promising results for a set of problems, but the same algorithm can show poor performance in another set of different problems. Therefore, we can find a diversity of techniques and new meta-heuristics that are being created for solving optimization problems. Finally, we can mention that meta-heuristic techniques can be classified as follows: Evolutionary (based on the evolution concept in nature) [14]: Genetic Algorithms (GA), Evolutionary Programming (EP) [15] and Genetic Programming (GP) [15]. Based on Physics (imitate the rules of physics) [16]: Big-Bang Big Crunch (BBBC) [17], Gravitational Search Algorithm (GSA) [18] and the Artificial Chemical Reactions Optimization Algorithm (ACROA) [19]. Swarm Intelligence (Social Behavior of swarms, herds, flocks or schools of creatures in nature) [20]: Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO) [21] and the Bat-inspired Algorithm (BA) [22].
In addition, in this work we are presenting a String Theory Algorithm (STA) based on the inspiration of String Theory, which is a relative new area of Physics. In classical physics the elementary particle is the atom and with this particle all matter that exists in the universe can be formed and explained. However, String Theory proposes that the universe is formed by the energy vibrations produced by particles called strings. Presently we understand that physics can be described by four forces: gravity, electromagnetism, weak forces, responsible for beta decays and strong forces, which bind quarks into protons and neutrons [4]. Finally, String Theory aims at unifying these four laws and explains the physical phenomena in very large bodies and also at the quantum level.
Proposed method-string theory algorithm
Physical features of string theory
In this paper, we are presenting a new algorithm based on String Theory that postulates that the elementary particle is the string and with this particle all matter existing in the universe can be formed and explained. We can mention that the main features of the proposed STA meta-heuristic can be described by four forces that exists in physics: gravity, electromagnetism, weak forces, responsible for beta decays and strong forces, which bind quarks into protons and neutrons and gravity that attracts massive bodies. In addition, String Theory aims at unifying these four laws and explain both physical phenomena in very large bodies and at the quantum level. In Table 1 we can find the main features of these forces, and the relation and behavior in the String Theory Algorithm.
Features of string theory
Features of string theory
In addition, we are presenting the Equation that Joseph Polchinski proposed in his book String Theory [4] that describes the movement of strings in the universe and we can find it as Equation 1.
Equation 1 represents the mathematical model that the physicists use to represent the basic equations of the String Theory and we used this as inspiration in order to create a String Theory Algorithm (STA).
In metaheuristics it is also important to use stochastic methods in order to find the best solution and not rely only on traditional deterministic methods. In this case, we are also presenting a particular stochastic method in order to generate random values into the new algorithm. In the literature review we can find that according to the vibrations that the strings produce, the different particles that we have knowledge about exist in the universe. In addition, these vibrations are different to other vibrations that we can find in nature, for example, the ocean waves, the sound propagation, microwaves, etc.
In this case, we are assuming that all strings are open strings, and we did not include closed strings, for simplicity. In this way, we can represent an approximation to this vibration as a Fourier expansion, in space and time, as given in the following equation:
In Fig. 1 we can find an example of Equation 2 and we can note an interesting behavior, which is a clear over shoot just at the beginning of the Fourier series. However, in order to generate random numbers with the same probability we proposed to remove this over shoot by using only a specific range of values within the series, as we can note in Fig. 2. This is an important part of the proposed algorithm because it is well known that all metaheuristics use some form of stochastic or random component. However, in the String theory algorithm due the proposed randomness method is different, as is based on the behavior of strings in nature.

Wave equation based on Fourier series.

Specific range of equation 2.
It is important to mention that in the algorithm, these values are normalized and are used with a particular amplitude in order to easily adjust to the features that the particular problem requires. This is the proposed method that we are presenting in order to generate the required randomness in the algorithm based on String Theory.
On the other hand, as we mentioned above, the gravitational and Coulomb laws are very similar, the main difference is that one can produce a negative result and the other one is only positive. So, in this case we are presenting the following equation to represent both forces:
Figure 3 shows an example of this equation with a random sample.

Coulomb’s law.
Figure 3 shows an interesting behavior, which is that only one value has a significant force (according to the inspiration that we are using). In other words, only in one dimension we have one value that can help the algorithm to achieve diversity in the exploration phase. It is important to mention that in the algorithm these values are ranked and are used with a particular amplitude in order to easily adjust with the features that the problem requires. This is the proposed method that we are presenting in order to generate diversity in the exploration and exploitation phases of the algorithm, based on String Theory. In Fig. 4 we can find the same values of Fig. 3, but now in this case, the values are ranked with respect to the amplitude.

Coulomb’s law with ranking.
Finally, in Fig. 5 we can find more examples of this behavior.

Examples of Coulomb’s law with ranked values.
In addition, we are presenting a method to achieve combinations among different Strings (that represent solutions in the algorithm). These combinations are representing new possible solutions when the algorithm has potential solutions in a range of the continuous numbers. In this case, we have proposed generating two new Strings based on the combination between the best solution and another random string in the population. So, with this method, we have the two parents that are required to generate new strings with the proposed method (Combination of Strings based on the box plot method) in order to improve the population in a stochastic way. In order to show an example of this method, we are presenting the random values of one position (dimension) of the two Strings in the Algorithm, and it is important to remember that the proposed method is represented with continuous values. Table 2 shows the values for two Strings in one specific dimension in order to produce a combination to create two new Strings in STA.
Values in strings combination
Values in strings combination
The next step in this method is generating at least 31 random numbers in the range of the parents [1.25 – 99.85]. In addition, it is important to order these numbers in an increasing fashion, in order to generate a box plot. In Table 3 we can find this example with 35 random numbers.
35 Random numbers in the range of the parents
The elements of the box plot are: minimum value, percentile 25, percentile 50, percentile 75 and the maximum value. In order to know the percentiles 25 and 75, in the random numbers, we are using the following equation:
In Table 4 we can find the first new value in blue color and the second one in green color.
The new values based on plot box
In Figs. 6 and 7 we can find the surface and box plot of this proposed method, respectively.

Sample of Sorted Random Values based on two Strings.

Box Plot of Proposed Combination Strings Method.
In Table 5 we can find the results that the proposed Combination String method produced, and we can conclude that now we have two strings based on the parents. We can note that these new two strings are similar to the originally selected parents.
Results of the proposed method
In order to represent the above-mentioned features, we have proposed the following equation. In this case, the equation is used to change the positions of the strings in the proposed algorithm.
In this case, x(t) represents the string in the current iteration, xb(t) is the best solution in the algorithm. The Coulomb's law is present in the multiplication with the distance and explained in more detail in Equation 4. Finally, the last part of the equation represents the randomness method that we have proposed in Equation 2.
Equation 7 allows switching between the electromagnetic and gravitational forces, respectively (changing the sign), where p is a probability that is a random number between 0 and 1.
Finally, in Fig. 8 we can find the pseudocode of the String Theory Algorithm (STA) and the flowchart is presented in Fig. 9.

Pseudocode of the STA metaheuristic.

Flowchart of String Theory Algorithm.
First case-traditional benchmark functions
The first set of problems that we are using in order to test the String Theory Algorithm is the traditional benchmark functions that have been used in many papers [23–25]. In Table 6 we can find the mathematical definitions of the unimodal benchmark functions, respectively.
Unimodal benchmark functions
Unimodal benchmark functions
In addition, we are presenting tests with multimodal benchmark functions, and we can find the mathematical definitions of these functions in Table 7. For this work, we are also presenting a statistical test in order to mathematically compare the new proposed algorithm with other metaheuristics. In the tables presented below, the hypothesis tests comparing each optimization method with the proposed method are presented. In this case, each table shows the averages and standard deviations obtained in 51 independent runs of each method and finally the obtained z values for hypothesis testing are presented [26].
Multimodal benchmark functions
The goal is to statistically demonstrate that the new method (STA) obtains better results than the other presented algorithms. We consider the Z-test because in order to realize this test we need a minimum 31 samples and we have 51 samples. So, we performed this test with a 95% of confidence level and 5% of significance (α= 0.05) and according to the tables of critical values of the Z-test with α= 0.05, the range for rejecting the null hypothesis is in Z0=(∞, –1.645].
The parameters for the hypothesis testing are as follows:
μ1 = mean of STA
μ2 = mean of alternative algorithm
The mean of the new method (STA) is less than the mean of the proposed method (claim). H0 : μ1 ≥ μ2
H
a
: μ1 < μ2 (Claim) α = 0.05 sample size (n)=51 Z0 = -1.645
In addition, we need to calculate the value of Z to realize the comparison with Z0 and conclude if there is enough evidence to state that the new method is better than an existing one. The value of Z is obtained by the following equations:
S1, S2: are the standard deviations of the two methods respectively.
n1, n2: are the sizes of the sample of the methods.
Figure 10 shows the rejection region of the null hypothesis (H0), so if the value of Z is less than Z0 or -1.645, we can then reject the null hypothesis and we can say that the mean of the new method (STA) is lower than mean of the other methods that were used to compare this work with a 95% of confidence. The values of Z are shown in the following tables to conclude in this way if the new String Theory Algorithm (STA) is better and has a better performance than the other methods.

Reject zone of z-test with α=0.05.
It is important to mention that the algorithm that we are presenting in this work has the same computational complexity as PSO and the GA, and we can say that these algorithms are polynomial and can be described with a function O(n). Basically, these algorithms depend linearly on the number of variables n in the problem (or number of dimensions). In addition, if we compare these algorithms in time, we can mention that are very similar because computers today have the potential to solve these problems in a very small time, as we already mentioned in this work, where we proposed the new randomness approach.
Finally, it is important to mention that all algorithms that are presented in these comparisons are the original ones that were proposed by their authors. In other words, none of the algorithms are optimized in order to have a fair comparison. As a future work is important to analyze these algorithms with optimizations, such as hybridization or adaptive Firefly Algorithm [27–29], the modified Flower Pollination Algorithm with new operators [30–32] and the best adaptations of the Grey Wolf Optimizer that the researchers are using [33–35].
The first comparison that we are presenting is with the Flower Pollination Algorithm [36] with the traditional mathematical functions. We are using the parameters that the author recommended in the original paper. Table 8 shows the hypothesis tests results when the problems have 30 dimensions, and according to the results we can mention that for this set of problems, the proposed method has better performance in 12 of the 13 problems that were analyzed.
Comparison between FPA and STA with traditional benchmark functions and 30 dimensions
In Table 9 we can note that for 50 dimensions the proposed method also has better performance in 12 of the 13 benchmark functions (Bold indicates best results).
Comparison between FPA and STA with traditional benchmark functions and 50 dimensions
So, in both comparisons (with FPA) the STA algorithm outperforms the FPA method in 12 of the 13 benchmark mathematical functions.
In addition, we are presenting in a graphical way a brief summary of the results of hypothesis tests of traditional benchmark functions in the comparison with Flower Pollination Algorithm (Figs. 11 and 12). In this case, if the blue line is under the green line represents that de proposed method (STA) has better performance than de FPA metaheuristic.

Comparison between FPA and STA with traditional benchmark functions and 30 dimensions.

Comparison between FPA and STA with traditional benchmark functions and 50 dimensions.
In addition, we are presenting a comparison with the Firefly Algorithm (FA) [37], and the parameters that were used for testing the FA with the traditional benchmark functions, are the ones used in [38]. Table 10 shows the results of the hypothesis tests, when the set of problems has 30 dimensions and we can note that the proposed method (STA) is better than the FA in 10 of the 13 traditional benchmark functions that we are presenting.
Comparison between FA and STA with traditional benchmark functions and 30 dimensions
In Table 11 we can note that for 50 dimensions the STA metaheuristic has better performance in 9 of the 13 problems that were analyzed in this work.
Comparison between FA and STA with traditional benchmark functions and 50 dimensions
Finally, in this work, we performed a comparison with respect to the Grey Wolf Algorithm (GWO) with the first case study of this work. The parameters that we are using for this comparison in the GWO algorithm are the ones proposed by the original author of the paper [39]. Table 12 shows the hypothesis tests results between the GWO and STA metaheuristics and we can note an interesting behavior, which is that although the averages and standard deviations of the proposed method are better than the GWO algorithm there is not enough statistical evidence to prove that STA has better performance according to the hypothesis test that we described above.
Comparison between GWO and STA with traditional benchmark functions and 30 dimensions
In addition, we are presenting the results of the hypothesis tests in Figs. 13 and 14 respectively where we can note in a graphical way (as we mentioned above) the results that we show in Tables 10 and 11 respectively.

Comparison between FA and STA with traditional benchmark functions and 30 dimensions.

Comparison between FA and STA with traditional benchmark functions and 50 dimensions.
In Table 13 we can note the comparison between the GWO and STA metaheuristics when the first set of problems has 64 dimensions. In this case, we can note that the STA metaheuristic has better performance than the GWO algorithm in 8 of the 13 benchmark functions that were analyzed in this work. Finally, as a brief conclusion, we can note that the proposed method improves the results when the problems have more complexity, according to the hypothesis tests that we have presented in this work.
Comparison between GWO and STA with traditional benchmark functions and 64 dimensions
In Fig. 15 we illustrate the results of the hypothesis tests, where the STA has a better performance than the FA with 64 dimensions. This is different when compared with the tests with 30 dimensions, where STA metaheuristic was better only in one function of the 13 functions that we have presented.

Comparison between GWO and STA with traditional benchmark functions and 64 dimensions.
For this work, we also tested the proposed method with complex benchmark functions, specifically with the functions that were presented in the Conference of Evolutionary Computing (CEC) 2015 competition [40]. In Table 14 we can find a brief specification of these functions and the main features are: the search range is from -100 to 100, and the number of function evaluations to solve the problem are limited in order to ensure a fair competition and the maximum numbers are the following: for 10 dimensions = 100000, for 30 dimensions = 300000, for 50 dimensions = 500000 and for 100 dimensions = 1000000.
Summary of the CEC’15 Learning-Based Benchmark Suite
Summary of the CEC’15 Learning-Based Benchmark Suite
Finally, it is important to mention that these are the number of dimensions (10, 30, 50 and 100) that we can use for testing these types of problems and the results are shown as the error with respect to the optimal value. In other words, the final results have to be closer to zero.
In this case, we also are presenting a comparison among the different algorithms with the second set of problems that are more complex. So, for the second case of study, we are presenting the proposed method (String Theory Algorithm), the FA (Firefly Algorithm) and GWO (Grey Wolf Optimizer) in order to test and realize the statistically study.

Comparison between FA and STA algorithms with 30 Dimensions for CEC’15 benchmark functions.
Table 15 shows the averages and standard deviations that the STA and FA achieved respectively with the benchmark functions of CEC 2015 competition. In the last column, we can note the hypothesis tests results in order to have a conclusion on which algorithm has better performance in these set of problems. Based on the table we can note that for 30 dimensions, the proposed method has better performance in 7 of the 15 problems.
Comparison between FA and STA algorithms with 30 Dimensions for CEC’15 benchmark functions
In addition in this study case, we are also presenting in a graphical way as a brief summary the results of the hypothesis tests between the proposed method (STA) and the Firefly Algorithm (FA). As we described above, if the blue line is under the green line represents that the proposed method has better performance than the FA metaheuristic according to the results of Table 15.
In addition, we have the statistically study in Table 16 for when the problems have 50 dimensions. In this case, we can find that the STA method is better than the FA only in 8 of the total number of benchmark problems that are presented. Finally, in order to represent these hypothesis tests, we are presenting in Fig. 17, in a graphical way, the performance of these statically studies.
Comparison between FA and STA algorithms with 50 Dimensions for CEC’15 functions

Comparison between FA and STA algorithms with 50 Dimensions for CEC’15 functions.
On the other hand, we are presenting in Table 17 and Fig. 18 the hypothesis test results between the GWO and STA metaheuristics. The hypothesis tests results show that for 30 dimensions, the proposed method has better performance in 10 of the 15 benchmark functions that were analyzed in this work.
Comparison between GWO and STA algorithms with 30 Dimensions for CEC’15 benchmark functions

Comparison between GWO and STA algorithms with 30 Dimensions for CEC’15 benchmark functions.
Finally, for this case study, in Table 18 and Fig. 19 we can find the z-values for the hypothesis tests when the problems have 50 dimensions, for the problems of the CEC 15 competition. The comparison is between the GWO and STA metaheuristics and we can note that for these numbers of dimensions, the proposed method is better than the GWO algorithm in 11 of the 15 benchmark functions that were considered in this work.
Comparison between GWO and STA algorithms with 50 Dimensions for CEC’15 benchmark functions

Comparison between GWO and STA algorithms with 50 Dimensions for CEC’15 benchmark functions.
Finally, we are presenting the last case study that consists on designing a fuzzy controller for an autonomous mobile robot system. The main goal of this problem is to provide the appropriate control actions to the motors to minimize the error with respect to a pre-established trajectory for the robot. In this case, the optimal fuzzy controller was obtained by applying the proposed String Theory Algorithm.
In addition, it is important to mention that Gölcük and Ozsoydan mentioned that although new generation swarm-intelligence algorithms are continuously being developed and have much to offer in dynamical optimization problems, their performance is usually tested on stationary optimization problems [41], then it is important that newly proposed methods be tested with control problems in order to test their performance with other more complex problems than the benchmark mathematical functions. For this reason, the third case is a dynamic optimization problem and as such is a more complex case for the STA.
In Fig. 20 we can find the configuration of the robot, which has 2 wheels with motors and a passive wheel for the stabilization of the system. The operation of the autonomous mobile robot model is represented by the following equations [42–44]:

Autonomous mobile robot model.
The fuzzy system of the mobile robot controller consists of two input variables and two output variables, respectively. The first input variable is called ev (error in linear velocity) and the second input variable is called ew (error in angular velocity). Both input variables have the same membership functions that are two trapezoidal membership functions at the ends and a triangular at the center, labeled as N (negative), Z (zero) and P (positive) [46, 47], respectively. On the other hand, the two outputs are also similar; the two variables are called τ1 (torque 1) and τ2 (torque 2), respectively, and have three triangular membership functions labeled N (negative), Z (zero) and P (positive), respectively. In Fig. 21 we can find the design of the fuzzy controller for the autonomous mobile robot [48–50].

Fuzzy system for the fuzzy controller.
In Fig. 22 we can find the rules that are used to control the dynamics of the autonomous mobile robot problem.
Finally, we are presenting the desired trajectory for the robot to follow, which begins at the point (0,0) and turns to generate a “U” shaped trajectory, and in order to create a more complex problem the trajectory is repeated in several occasions, as shown in Fig. 23.

Fuzzy rules for the autonomous mobile robot.

Desired trajectory for the autonomous mobile robot.
In addition, we are presenting a brief explanation of the methodology to design the fuzzy controller. For the inputs of the fuzzy inference system, we are presenting the features that we can find inFig. 24.

Inputs of fuzzy inference system for representation in the String Theory Algorithm.
where the points labeled as 1, 2, 10 and 11 are static points, respectively, and the 3’,5’,7’ and 9’ points are the points that the String Theory Algorithm (STA) is searching for using the proposed techniques, and finally, the points labeled as 4”, 6” and 8” are points that the algorithm generate randomly based on the close front and back points, respectively.
In Fig. 25 we can find the proposed method for the outputs in the fuzzy system of the mobile robot controller. In Fig. 25 we can notice that the points 1 and 9 are static, and then the points 2’, 4’, 6’ and 8’ are the ones that STA will search for in the algorithm and finally, the 3”, 5” and 7”are random points as described above.

Outputs of fuzzy inference system using String Theory Algorithm.
In addition, we can mention that 16 points are the total number of points that the proposed method is optimizing using the features that we describe in Section 3. Finally, it is important to mention that the goal of this study case is to use a lowest possible computational cost. In this case, we are using only 10,000 evaluation functions in order to find the best structure of the membership functions to solve the autonomous robot mobile control problem.
In Fig. 26 we can find the best structure of the input membership functions that the String Theory Algorithm finds in 10 independent executions.

Inputs of the Fuzzy System of the Autonomous Robot problem.
In addition, in Fig. 27, we can find the outputs that were designed with the proposed method for the corresponding autonomous mobile robot problem.

Outputs of the Fuzzy System of the Autonomous Robot problem.
In this problem, it is important to mention the way that we can evaluate the performance of the proposed method in order to solve the autonomous robot problem. In this case, the equation that we used as a fitness value of each String, is the expression of the mean squared error (MSE) [51, 52]. In this way, we can measure the efficiency of the fuzzy controller obtained with the proposed method. The expression of the mean squared error (MSE) is the following:
Finally, in Fig. 28 we can find in a graphical way the best result obtained by the proposed method, and as we mentioned above is the best structure in 10 independents experiments. In comparison with other works, the proposed method uses a lower number of evaluation functions than the other methods, in order to get a lower computational cost.

Best experiment obtained by the String Theory Algorithm.
In order to complement Fig. 28, the best result obtained of the MSE is 0.0125, and with this result we can conclude that the proposed method has a good performance in the fuzzy control problem. In addition, the STA needs fewer function evaluations in order to solve the autonomous robot mobile problem. In this case, the STA shows that the trajectory of the mobile robot (that is represented by the blue line follows) approximates very well the desired trajectory that the problem has and is represented by the green line. In Fig. 18 we can note that both lines (blue and green) are similar and the robot successfully follows the trajectory and this is very important because we can say that the proposed method also works with fuzzy control problems.
Finally, it is important to mention that the proposed method could also be applied in other optimization problems, such as in the optimization of Artificial Neural Networks [53]. In this case, structure and parameters of the neural network could be optimized for particular application problems. This can also be an interesting possible future work.
In this work we have presented a new algorithm based on String Theory, and we have outlined the main inspiration and equations that we used in order to represent the String Theory concepts as a meta-heuristic and its main features according to the literature review.
In order to test the proposed method, we have used a set of traditional benchmark functions. In addition, the results were statistically compared with three other metaheuristics (FPA, FA and GWO) where the newly proposed method proves that it has better performance than FPA and FA, respectively. Finally, in comparison with GWO, we can conclude that the String Theory Algorithm has better performance only when the problems are more complex (higher dimensionality).
In addition, we have presented a set of more complex benchmark functions, which are the functions presented in the CEC 15 competition, respectively. Also, we have compared the results of the String Theory Algorithm with the FA and GWO algorithms and we can conclude that in the comparison with the FA in 30 and 50 dimensions respectively, both algorithms show similar performance and that both have better performance than the other in half of the total number of benchmark functions that were analyzed. Finally, in the comparison with GWO, the String Theory Algorithm, in general, has better performance on this set of benchmark functions (CEC 15).
In this work, we also presented an optimization problem that uses fuzzy logic in order to improve the controller of a robot. In this case, the STA optimized the fuzzy controller of an autonomous mobile robot following a trajectory. The String Theory Algorithm shows that with relatively low number of evaluations, it is possible to obtain good performance and approximate the goal with a small mean squared error.
The main contribution of this work resides mainly on the new techniques that we are presenting in order to generate new STA approach for solving optimization problems. These techniques are mainly the following: a new randomness method in order to implement the main feature of the stochastic methods that are the randomness method, the second proposed method is the combination among Strings, and this combination is used with the real numbers and is based on the box plot. The third proposed technique is the combination (in the algorithm) of two laws that are very similar, but with an important variation, which is the mathematical sign (positive and negative), these techniques are the electromagnetics and the gravity laws respectively. These techniques are basic components of String Theory. Finally, with this inspiration, we can conclude that the simulation of this theory in computer science can improve the performance for a set of problems that we analyzed in this work.
Finally, we can say that the new proposed String Theory Algorithm has demonstrated that it has a good performance with the set of three different study cases. These results were validated with the help of statistical hypothesis testing. The good performance can be justified in some way with the fact that String Theory can theoretically explain everything in the universe as being produced by the vibrations of these Strings and these techniques can also be applied in computer science in order to improve the solutions to optimization problems. We also plan to consider as future work, some applications of STA to other problems and compare with the results of other metaheuristics, like in [54–56].
